Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

progettare DB con mysql su corse dei cavalli

36 views
Skip to first unread message

diana_est

unread,
Aug 24, 2013, 12:11:16 PM8/24/13
to

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)?
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?

Grazie

--


questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news segnala gli abusi ad ab...@newsland.it


enoquick

unread,
Aug 24, 2013, 12:38:46 PM8/24/13
to
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
>

diana_est

unread,
Aug 24, 2013, 12:47:11 PM8/24/13
to



> Gli id vanno bene
> La colonna id nella tabella 3 serve a qualcosa ?
> Se non serve non metterla

in che senso serve a qualcosa?
a cosa potrebbe servire?



> 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)

ok grazie, ho capito il criterio

> 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

beh ma anche se dovesse chiudere un ippodromo la prestazione resterà
eseguita in quella pista, non lo cancello

enoquick

unread,
Aug 24, 2013, 12:55:48 PM8/24/13
to
Il 24/08/2013 11:47, diana_est ha scritto:
>
>
>
>> Gli id vanno bene
>> La colonna id nella tabella 3 serve a qualcosa ?
>> Se non serve non metterla
>
> in che senso serve a qualcosa?
> a cosa potrebbe servire?
>

Questo lo dovresti sapere tu
Per me potrebbe servire a dare un ordine temporale alle varie corse se a
te interessa

>
>
>> 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)
>
> ok grazie, ho capito il criterio
>
>> 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
>
> beh ma anche se dovesse chiudere un ippodromo la prestazione resterà
> eseguita in quella pista, non lo cancello

Ovvio, ma l' ippodromo come il cavallo deceduto non dovrebbe essere più
scelti a livello di applicativo, rimarrebbero solo per lo storico delle
corse

>
>
>
>>> Grazie
>>>
>
>

diana_est

unread,
Aug 24, 2013, 12:59:25 PM8/24/13
to

> Questo lo dovresti sapere tu
> Per me potrebbe servire a dare un ordine temporale alle varie corse se a
> te interessa

nel caso specifico avranno una data, io non vedo utilizzi e quindi non lo
metto

grazie

> Ovvio, ma l' ippodromo come il cavallo deceduto non dovrebbe essere più
> scelti a livello di applicativo, rimarrebbero solo per lo storico delle
> corse

beh allora metto un campo che indica la morte o meno, mi pare pi�
corretto,
no?

grazie

enoquick

unread,
Aug 24, 2013, 1:04:43 PM8/24/13
to
Il 24/08/2013 11:59, diana_est ha scritto:
>
>> Questo lo dovresti sapere tu
>> Per me potrebbe servire a dare un ordine temporale alle varie corse se a
>> te interessa
>
> nel caso specifico avranno una data, io non vedo utilizzi e quindi non lo
> metto
>
OK
> grazie
>
>> Ovvio, ma l' ippodromo come il cavallo deceduto non dovrebbe essere più
>> scelti a livello di applicativo, rimarrebbero solo per lo storico delle
>> corse
>
> beh allora metto un campo che indica la morte o meno, mi pare più
> corretto,
> no?
>

Certo, una data di chiusura o di morte più che un semplice flag

> grazie
>

0 new messages