Il 24/08/2013 11:11, diana_est ha scritto:
>
> Ciao, devo creare un db con mysql e chiedo due conferme per essere sicuro.
> Si tratta di un database per registrare le prestazioni dei cavalli da
> corsa.
> Pensavo di fare poggiare tutto su 3 tabelle principali.
> 1) Tab Cavallo: id numerico (PK), nome, colore, anno di nascita, ecc.
> 2) Tab Corsa: id numerico (PK), nome, ippodromo in cui è stata disputata,
> giorno, ecc.
> 3) Tab prestazione (una tabella che collega in rapporto molti a molti
> cavalli
> e corse): id numerico (PK), idCavallo (FK), idCorsa (FK), note particolari
> relative alla prestazione, ecc.
>
> Che ve ne pare?
> nello specifico:
> 1) Conviene usare gli id numerici come ho segnato o forse conviene usare
> delle
> chiavi composte (soprattutto nella tabella 3)?
Gli id vanno bene
La colonna id nella tabella 3 serve a qualcosa ?
Se non serve non metterla
> 2) Per dati tipo il colore del cavallo o l'ippodromo della corsa potrei
> fare
> altre tabelle (tabella colore, tabella ippodromo, ecc.) con l'elenco e
> mettere
> quindi delle foreign key che puntano alle altre tabelle, conviene?
>
Chiediti se i valori sono più o meno costanti
Se lo sono allora un basta un check od un enum (non so se mysql li
supporta) altrimenti una bella tabella di relazioni
Ad esempio i colori potrebbero essere costanti (sono quelli) mentre gli
ippodromi no (futuri ippodromi potrebbero nascere)
Un' altra cosa
I cavalli nascono e muoiono, gli ippodromi vengono aperti e chiusi,
tieni conto anche di questo in quanto non puoi cancellarli (con delete)
se usi le integrità referenziali
> Grazie
>