Domanda

Nelle relazioni master-detail, fanno di dettagli tabelle contengono colonne ID?

In alternativa, dovrebbe?

Nel database Northwind, OrderDetail non ha una colonna ID.

È stato utile?

Soluzione

Ogni tabella di dati che si ha che contiene qualcosa che si desidera essere in grado di recuperare deve sempre contenere una chiave primaria - che è il suo lavoro principale:. Identificare in modo univoco una singola riga

Proprio perché i dettagli appartengono a una fila maestro non significa che sono le righe di dati non completo se stessi -. Hanno bisogno di essere identificabili in qualche modo

Quindi sì - mi sento di raccomandare qualsiasi tabella di dettaglio per avere una qualche forma di una chiave primaria ( "ID"). Se questo è in qualche modo collegato al master-ID o non è qualcosa che si potrebbe decidere, caso per caso -. Ma ci doveva essere un modo per identificare ogni riga di dettaglio in modo indipendente in qualche modo

Se si dispone di una tabella di collegamento per un M: N relazione, in genere, devi avere solo le due colonne chiave esterna (per le tabelle 1 e 2) in là. Questo è di solito abbastanza buono, dal momento che la combinazione di questi due FK è unico.

L'unico motivo per aggiungere un ID separato per tale tabella sarebbe se avete bisogno di aggiungere ulteriori pezzi di informazioni che descrivono la relazione in sé. Ma anche allora, fino a quando la combinazione (key1, key2) è unica, che è abbastanza buono in genere.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top