Newsgroup: it.comp.software.database
Titolo: progettazione database

sto progettando un database sugli anime (cartoni giapponesi) ma vorrei 
prendere spunto da questo per parlare di progettazione dei db.
Ho a che fare con contenuti molto variabili, ad esempio per quanto 
riguarda le caratteristiche degli anime ci sono alcune parti uguali per 
tutti (nome,lingua,doppiatori,produttore,ecc.) ed una parte variabile, 
ovvero per un anime posso avere come contenuti:
[ tipo A ]
Scheda
Trama
Il manga
L'anime
Differenze tra anime e manga
Personaggi
Berserk in Italia
Il videogame
Audio e video
Galleria D'immagini
[ tipo B ]
Lista
Lista mosse
Tipi
Evoluzioni
Personaggi
Leggendari e rari
Altri Giochi
Tranding Cards Game
La serie TV
Sigle TV
Titoli Episodi
Fan fiction
Films (Movies)
Audio e video
Galleria D'immagini
entrando nel dettaglio le informazioni utili su i personaggi del tipo A 
sono diverse dai personaggi del tipo B.
tipo A. nome,cognome,eta
tipo B. nome,cognome,forza,poteri
io ho "raggruppato" in due sole categorie, ma ce ne sono diverse, un 
centinaio...
come si potrebbe progettare una base di dati in questo modo?
trovare i comuni denominatori (es. nome,cognome) e poi spezzettare il 
tutto? qualche suggerimento?
grazie.

 come si potrebbe progettare una base di dati in questo modo?
In ordine di correttezza (e di complessita' di schema :-))
- Relazionalmente, fare tutto e solo a raggruppamenti coerenti
di attributi (come il tuo esempio tipoA, tipoB etc. fino a coprire
ogni casistica possibile)
- Binary Model
- Semi EAV
- EAV
Nessuna soluzione sara' indolore; o paghi prima oppure dopo.
bye

 - EAV
vorrei approfondire gli ultimi 3 metodi da te proposti, da quanto ho 
capito dovrebbero essere una soluzione per meta-dati.
Non ho trovato approfondimenti in italiano su tale argomento, avresti 
qualche suggerimento? anche dei libri da segnalare, eventualmente.
grazie.

 qualche suggerimento? anche dei libri da segnalare, eventualmente.
In italiano si trova poco, ma sul ng se n'é parlato spesso.
In inglese puoi partire da qui:
http://en.wikipedia.org/wiki/Entity-Attribute-Value_model
Ciao,
Paolo

 qualche suggerimento? anche dei libri da segnalare, eventualmente.
In Italiano troverai molto poco; persino i lavori italiani di
ricerca talvolta li trovi direttamente e solo in Inglese... (o
perlomeno su internet e' cosi').
Comunque non so quanto varrebbe la pena di spenderci soldi.
Nel B.M si utilizzano relazioni binarie che legano due attributi in
una relazione; es.:
<oggetto1> <relazione> <oggetto2>
<Mario> <e' sposato con> <Giovanna>
e va tutto in una tabella, oppure nella variante di una tabella specifica
per ciascun tipo relazione:
Matrimoni {Marito, Moglie}
Matrimoni
---------
Mario, Giovanna
Una utilita' di quanto sopra e' che una relazione di n attributi es.:
Impiegati {Nome, Reparto, Qualifica, Cellulare, etc...}
puo' essere scomposta in:
Nome -> Reparto
Nome -> Qualifica
Nome -> Cellulare
etc... con la comodita' di omettere attributi a piacere. In pratica
ogni relazione "lunga" (come nel tuo caso anche un centinaio di
attributi) viene scomposto in un pulviscolo di relazioni minime
(due, appunto, da cui il nome Binary Model).
Da notare che in Sql-Model puo' essere cammuffato semplicemente
mettendo a Null le colonne non rilevanti.
Anche se il modello e' stato piu' volte stroncato, torna
ciclicamente alla ribalta sotto varie bandiere ("Semantic",
"Associative", Object-Role, etc...)
Sull'EAV ed ibridi ne abbiamo discusso mesi fa in un thread
sulle automobili, mi sembra. Anche questo argomento ritorna ad
essere discusso con puntualita' svizzera (ci vorrebbe una faq).
Naturalmente, e' doveroso precisare che piu' che modelli, sono
"tecniche" per non dover fare un schema come si deve.
bye