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

Rispondere a