PDA

View Full Version : Base di dati in SQL


Edde
05-01-2004, 19:23
Ciao :p

Devo creare una base di dati in sql. Il primo problema che ho incontrato e' l'impossibilita' di effettuare riferimenti a tabelle che verranno create solo in seguito nel file sorgente.

Mi trovo in una situazione in cui la tabella "Area" ha un vincolo di inclusione nei confronti della tabella "Gara", e "Gara" ha un vincolo di foreign key verso "Area".

Quindi, se "Area" precede "Gara" perdo il vincolo di foreing key.
Se "Gara" precede "Area" mi lascio per strada il vincolo di inclusione....

Qualcuno puo' aiutarmi?

Grazie :muro:

gabriele81
07-01-2004, 11:57
A che ti serve la base dati? Se la devi gestire dall'esterno puoi anche non implementare tutti i vincoli nel DB e gestirli a livello applicazione oppure con dei trigger (se il tuo DBMS li supporta), altrimenti prova a ristrutturare la base dati per vedere se eventualmente uno dei due vincoli in realtà è ridondante e lo puoi eliminare.

cionci
07-01-2004, 14:44
Mi sembra che sia impossibile far coesistere questi due vincoli...

Il vincolo di Foreign Key implica che qualsiasi record inserito in "Area" debba esistere in "Gara"...ma allo stesso tempo per il vincolo di inclusione quasiasi chiave di "Gara" deve esistere in "Area"...

gabriele81
07-01-2004, 14:47
Originariamente inviato da cionci
Mi sembra che sia impossibile far coesistere questi due vincoli...

Il vincolo di Foreign Key implica che qualsiasi record inserito in "Area" debba esistere in "Gara"...ma allo stesso tempo per il vincolo di inclusione quasiasi chiave di "Gara" deve esistere in "Area"...

Infatti non mi quadrava qualcosa...secondo me c'è qualche errore nello schema logico.

cionci
07-01-2004, 14:52
Se ho capito bene...credo anche io che ci sia qualche problema nello schema logico...