[Gfoss] Come impostare in un db una relazione 1:n tra più tabelle padre e una tabella figlio?

Luca Mandolesi mandoluca a gmail.com
Mer 26 Set 2012 14:35:47 CEST


Salve a tutti,
domandona e mi rivolgo in particolare a Furieri e Sucameli.

Vorrei dare al mio DB postgres / spatialite una veste un po' più
pulita. Per ora le relazioni 1:N le ho gestite beceramente via python
con del mio codice.
Ora vorrei uno schema serio da passare ad sqlalchemy. Ma quello che
per ora non capisco è:

Se ho 2 tabella padre che devono linkarsi a una tabella figlio in
relazione 1:n è corretto quanto segue (in pseudo linguaggio)?

tab 1
 field 1 (id primary key)
 field 2 opt

 ....

tab 2
 field 1 (id primary key)
 field 2 opt

 ....

tab 3
 field 1 (id)
 field 2 opt
 id di tab 1 (foreign key tab1.field 1)
 id di tab 2 (foreign key tab2.field 1)
 ....

In sostanza nella tabella 3 figlio che viene usata sia da tab 1 che da
tab 2, è giusto aggiungere 1 campo di foreign key per ogni tabella chi
gli fa da padre?


Spero sia chiaro....ma non ci spero molto...

Attendo mooolte domande...

Ciao

Luca


Maggiori informazioni sulla lista Gfoss