Database relazionale
Ciao a tutti.
Devo scrivere un database relazionale in grado di gestire un archivio di cd musicali in base alle richieste che ci darà il professore.
Allora io ho pensato di creare 3 tabelle: AUTORE, CD , BRANI
AUTORE:
-codiceAutore(chiave primaria)
-Nome
-Cognome
-provenienza
-dataNascita
-codiceCd(chiave esterena)
CD:
-codiceCd(chiave primaria)
-nomeCd
-numeroBrani
-prezzo
-codiceBrano(chiave esterna)
BRANI:
-codiceBrano
-nomeBrano;
-codiceCd(chiave esterna)
potrebbero andare bene queste tabelle con le rispettive chiavi???
Grazie a tutti per le risposte che mi darete.
Devo scrivere un database relazionale in grado di gestire un archivio di cd musicali in base alle richieste che ci darà il professore.
Allora io ho pensato di creare 3 tabelle: AUTORE, CD , BRANI
AUTORE:
-codiceAutore(chiave primaria)
-Nome
-Cognome
-provenienza
-dataNascita
-codiceCd(chiave esterena)
CD:
-codiceCd(chiave primaria)
-nomeCd
-numeroBrani
-prezzo
-codiceBrano(chiave esterna)
BRANI:
-codiceBrano
-nomeBrano;
-codiceCd(chiave esterna)
potrebbero andare bene queste tabelle con le rispettive chiavi???
Grazie a tutti per le risposte che mi darete.
Risposte
Nel tuo schema le relazioni direi sono legate a "ogni autore è unico; ogni CD ha un autore, i CD sono divisi in brani"; è veritiera? E se hai CD con brani di più autori? Inoltre non puoi avere 1:1 su autore.codicecd e cd.codicecd (e altre) e quindi c'è da normalizzare un po' 
Comunque, dipende dall'idea generale che hai e/o se devi fare uno schema pratico o meno. Io <> prevederei CD con più autori, qualche altra informazione (sui CD: tipo (genere), produttore, anno, ... e sui brani: durata, ...), e relazioni Autori-CD, Brani-CD, Autori-Brani.
Inoltre se la gestione è archiviale anche dal punto di vista pratico, magari come un negozio, ti serviranno informazioni relative al recupero (chessoio, scaffale X / fila Y oppure sezione A / banco B / cassetto C)

Comunque, dipende dall'idea generale che hai e/o se devi fare uno schema pratico o meno. Io <> prevederei CD con più autori, qualche altra informazione (sui CD: tipo (genere), produttore, anno, ... e sui brani: durata, ...), e relazioni Autori-CD, Brani-CD, Autori-Brani.
Inoltre se la gestione è archiviale anche dal punto di vista pratico, magari come un negozio, ti serviranno informazioni relative al recupero (chessoio, scaffale X / fila Y oppure sezione A / banco B / cassetto C)
come già detto da Rggb, vedo tante cose strane in questo database.