On Wed, 26 Sep 2012 14:35:47 +0200, Luca Mandolesi wrote:
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...
Luca, sei stato chiarissimo :-D
ed hai azzeccato il modo giusto di usare le relazione Primary/Foreign
giusto per fissare meglio le idee in modo piu' fornale, prendi il caso
della gerarchia Comune/Provincia/Regione; ovviamente un comune
appartiena
sia ad una Provincia che ad una Regione
(lo potresti anche rappresentare a cascata, ma rimaniano sul "doppio
padre"
per seguire il tuo esempio da vicino).
CREATE TABLE reg (
id_reg INTEGER NOT NULL PRIMARY KEY,
nome_reg TEXT NOT NULL);
CREATE TABLE prov (
id_prov INTEGER NOT NULL PRIMARY KEY,
nome_prov TEXT NOT NULL);
CREATE TABLE com (
id_com INTEGER NOT NULL PRIMARY KEY,
id_reg INTEGER NOT NULL,
id_prov INTEHER NOT NULL,
nome_com TEXT NOT NULL,
CONSTRAINT fk_com_reg FOREIGN KEY (id_reg)
REFERENCES reg (id_reg),
CONSTRAINT fk_com_prov FOREIGN KEY (id_prov)
REFERENCES prov (id_prov));
ciao Sandro
--
Il messaggio e' stato analizzato alla ricerca di virus o
contenuti pericolosi da MailScanner, ed e'
risultato non infetto.
_______________________________________________
Gfoss@lists.gfoss.it
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non hanno relazione diretta con le posizioni
dell'Associazione GFOSS.it.
605 iscritti al 10.7.2012