|
|
|
|
Strumenti |
22-04-2005, 13:04 | #1 |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9945
|
Basi di dati: chiave straniera e vincolo riferenziale?
Non mi ricordo + cosa è, e a cosa serve, la chiave straniera.
Anche col vincolo d'integrità referenziale ho qualche problema di memoria, mi ricordo che non potevo inserire tuple che non erano presenti in altre tabelle. Qualcuno sa rinfrescarmi la memoria?! Magari può servire anche ad altri. TNX!
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. |
27-04-2005, 10:11 | #2 |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9945
|
Allora mi auto rispondo dopo aver consultato documentazione:
La chiave straniera è quella primaria che una tabella importa da un'altra tabella partecipante alla relazione (associazione) preferibilemnte binaria. Il vincolo d'integrità referenziale è appunto dovuto a questa chiave straniera che deve esistere in almeno una tupla per poter essere inserita nella tabella che la importa. Altrimenti violo il vincolo suddetto. Sono stato chiaro?! Può servire ad altri?! Boh io per la completezza del forum ci ho tenuto a terminarlo. Grazie.
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. |
27-04-2005, 14:00 | #3 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53963
|
Forse volevi dire chiave esterna ?
|
27-04-2005, 14:57 | #4 | |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9945
|
Quote:
"Basi di dati: concetti, linguaggi e architetture" di Paolo Atzeni & Co. edito da McGraw-Hill un vincolo d'integrità referenziale (chiamato in letteratura inglese foreign key o referential integrity constraint) è soddisfatto se i valori sull'attributo X di ciascuna tupla dell'istanza R1 compaiono come valori di chiave primaria dell'istanza R2. Qui la parola esterna non è menzionata, ma si sa che potrebbe essere un alias usato da qualche produttore od qualcun'altro in generale. Sono concetti di sottile differenza, vedrò d'investigare meglio.
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. |
|
27-04-2005, 15:04 | #5 |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9945
|
Nella definizione a quanto pare non si tira in ballo entità deboli od entità forti di un base dati EER.
Probabilmente dipende dai casi di progettazione e dalla successiva traduzione in base dati relazionale. Dove per relazionale intendo la base di dati in forma tabellare che tutti conosciamo rappresentata come in MySQL, mentre per EER intendo la base di dati "grafica" che serve a progettare basi di dati sensate e consistenti; quella del dott. Chen.
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. Ultima modifica di Matrixbob : 27-04-2005 alle 15:08. |
27-04-2005, 15:17 | #6 | |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9945
|
Quote:
L'entità debole è quella che non ha ragione d'esistere nel qualcaso non esistesse l'entità forte. Es: |studente con attributo (chiave primaria) matricola|--N--<studia>--1--|università con attributo (chiave primaria) nome| La chiave dell'entità debole studente risulta essere la matricola + la chiave "esterna" dell'entità forte che la identifica e cioè università. Di conseguenza le partecipazioni alla relationship saranno (1, 1) e (1, N) ovvero 1 studente può appartenere ad 1 ed 1 sola università, mentre 1 università può avere almeno 1 studente ed ala massimo N studenti. Come era modellato dalla nostra relazione sopra riportata. Può filare così Cionci?!
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. Ultima modifica di Matrixbob : 27-04-2005 alle 15:28. |
|
27-04-2005, 15:40 | #7 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53963
|
|
27-04-2005, 15:58 | #8 | |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9945
|
Quote:
Che poi non è vera questa traduzione: "foreign key" --X--> "chiave esterna", foreign -----> straniera !!! Qui ha cannato il traduttore del testo. LL
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. Ultima modifica di Matrixbob : 27-04-2005 alle 16:02. |
|
27-04-2005, 16:02 | #9 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53963
|
La traduzione letterale è chiave straniera...io ho sempre sentito dire chiave esterna... Poi è possibile che si possa dire in entrambi i modi... Sinceramente in italiano non l'ho vista molto...il libro di basi di dati su cui ho studiato è inglese
|
27-04-2005, 16:03 | #10 | |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9945
|
Quote:
allora sarai anche in accordo con le mie locuzioni. Altrimenti come andrebbe chiamata la key identificante l'entità debole?! Boh...
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. Ultima modifica di Matrixbob : 27-04-2005 alle 16:05. |
|
27-04-2005, 16:11 | #11 | |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53963
|
Quote:
|
|
27-04-2005, 16:16 | #12 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53963
|
Comunque la dizione italiana corrente credo proprio che sia chiave esterna...infatti se vai a vedere su Google e cerchi:
"foreign key" "chiave esterna" oppure "foreign key" "chiave straniera" con la seconda ricerca trovi 6 o 7 documenti...direi pochini rispetto alle diverse centinaia della prima ricerca... |
27-04-2005, 16:19 | #13 | |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9945
|
Quote:
Sarebbe un'altro esempio di propagazione d'errore, dovuta magari all'errata traduzione.
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. |
|
27-04-2005, 16:28 | #14 | |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53963
|
Quote:
Ultima modifica di cionci : 27-04-2005 alle 16:31. |
|
27-04-2005, 16:31 | #15 | |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9945
|
Quote:
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. |
|
27-04-2005, 17:29 | #16 | |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9945
|
Quote:
Perchè pochi usano il vincolo d'integrità referenziale (o sanno che esiste) e quello che trovi probabilmente è propio la chiave esterna. Chi magari non conosce il vincolo d'integrità referenziale probabilmente pensa che la chiave esterna sia come la chiave straniera, ma non sempre combaciano le 2 cose.
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. |
|
27-04-2005, 18:05 | #17 | |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53963
|
Quote:
Vuoi dire che i professori non sanno che esiste il vincolo di integrità referenziale ? Vai a vedere su Google... |
|
27-04-2005, 18:14 | #18 | |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9945
|
Quote:
Io non do mai niente per scontato e come dato di fatto gli errori scientifici e le ambiguità esistono e si propagano anche sui libri di testo. CMQ i Prof autori del libro sopra citato infatti differenziano le 2 cose, almeno così mi pare.
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. |
|
27-04-2005, 18:23 | #19 |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9945
|
Da HTML.IT:
Cos'e' una chiave esterna? Una chiave esterna e' un'insieme di attributi di un'entita' che identifica univocamente un'istanza di un'altra entita'. Da Mike Tossy: A proposito, quel campo di collegamento é tecnicamente chiamato "chiave straniera". [5] Una chiave dicesi " straniera" se essa è la chiave primaria in un'altra tabella. I sistemi relazionali supportano le relazioni 1:M tramite l'uso di questa tecnica. Non si riesce a vedere che sono 2 concetti sottilmente diversi e se io ci vedo bene, uno mi sembra quasi un "soprainsieme" dell'altro.
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. |
27-04-2005, 18:31 | #20 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53963
|
Riguarda e fammi sapere...comunque non mi sembrava che ci fosse alcun riferimento a extern key sul mio libro di testo
|
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 02:23.