|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jul 2010
Città: Teramo
Messaggi: 1298
|
[SQL] Associazione N-M con 2 tabelle di link
Online non ho trovato una simile cosa, ne in teoria ne in pratica .
Devo realizzare un database e mi chiedevo se in un'associazione N-M si potessero usare due tabelle di link . Diciamo che il modello E-R, per come l'ho costruito, me ne impone due . Se non è corretto farlo dovrò cambiare logica . |
![]() |
![]() |
![]() |
#2 | |
Member
Iscritto dal: Sep 2008
Città: Milano
Messaggi: 126
|
Quote:
Il modello logico è derivabile dal modello concettuale in maniera pressoché meccanica; un'associazione binaria con cardinalità massime rispettivamente M e N diventa una tabella a sè stante nello schema logico (tabella di link, come la chiami). |
|
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Esempio Persone e Citta'.
Ogni Persona ha vissuto in tante citta'. In ogni citta' hanno vissuto tante persone. Tabella entita' persona # IDPersona Name etc. Tabella entita' Citta'. # IDCitta Name etc. Tabella Relazione Persona-Citta # IDPersona # IDCitta Con chiave primaria doppia E' sufficiente una tabella di relazione.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
![]() |
![]() |
![]() |
#4 |
Member
Iscritto dal: Jan 2013
Messaggi: 92
|
Sulla "carta" hai solo 2 entità.
Praticamente lo schema si trasforma in 3 tabelle: TABELLA1 <-- TAB_RELAZIONE --> TABELLA 2 TABELLA1 (Id_Tabella1, ... ) TAB_RELAZIONE (Id_Tabella1, Id_Tabella2, ... ) TABELLA2 (Id_Tabella2, ... ) |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Jul 2010
Città: Teramo
Messaggi: 1298
|
Due Primary Key non penso si possano mettere, in parte in questo caso, però il discorso fila
![]() Comunque grazie ma ho risolto diversamente . Come si dice, se ti si presenta un problema, vedi di superarlo creandotene un altro ![]() |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Primary key doppia, non 2 primary key.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
![]() |
![]() |
![]() |
#8 | |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Quote:
Hai detto "Due Primary Key non penso si possano mettere," E fin qui e' giusto, ma perche' l'hai scritto? Nessuno ha proposto di mettere 2 primary key.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
|
![]() |
![]() |
![]() |
#9 | |
Senior Member
Iscritto dal: Jul 2010
Città: Teramo
Messaggi: 1298
|
Quote:
![]() |
|
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Quel "Lui" ero sempre io.
Comunque primary Key doppia e' diverso da "2 primary key". Primary key doppia e' UNA primary key sola, ma composta di due colonne. L'univocita' e' data dalla coppia, non possono esserci due record con la stessa coppia di valori. Gli indici in generale, e gli indici univoci come anche la primary key possono essere composte di piu' colonne.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: Jul 2010
Città: Teramo
Messaggi: 1298
|
Ahahah scusami, sono diventato tonto
![]() Ora capisco, infatti pensavo di aver letto 2 Primary Key e non mi sembrava possibile, grazie a tutti ![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:51.