it-swarm.it

In SQL, si tratta di chiavi composite o composte?

Informazioni su SQL (Informatica/Database):

Quando abbiamo due o più campi in una tabella che, insieme, identificano i suoi record in modo univoco, qual è il modo corretto di chiamarli? Tasti compositi o composti?

Ho visto sul web entrambi gli usi quindi non ne sono davvero sicuro.

32
igordcard

Sia la chiave composita che la chiave composta descrivono una chiave candidata con più di un attributo. Secondo il Relational Database Dictionary (C.J.Date) significano la stessa cosa.

Nella modellazione ER il termine "chiave composta" ha anche un significato più specifico. Significa una chiave i cui attributi costitutivi sono riferimenti a chiavi in ​​altre entità - ovvero una chiave composta costituisce una relazione identificativa. Per la maggior parte degli scopi, questo non è un concetto particolarmente utile o importante, quindi i termini composito/composto sono spesso trattati come intercambiabili. Probabilmente è meglio attenersi alla "chiave composita" a meno che non ci si riferisca specificamente al concetto di modellazione ER di una chiave composta.

32
nvogel

Non sono ancora sicuro del perché http://en.wikipedia.org/wiki/Compound_key non sia stato consultato. Dichiara molto chiaramente (ed è corretto):

Nella progettazione del database, una chiave composta è una chiave costituita da 2 o più attributi che identificano in modo univoco un'occorrenza di entità. Ogni attributo che compone la chiave composta è una chiave semplice a sé stante.

Questo è spesso confuso con una chiave composita per cui anche se questa è anche una chiave che consiste di 2 o più attributi che identificano in modo univoco un'occorrenza di entità, almeno un attributo che costituisce la chiave composita non è una chiave semplice a sé stante.

Una chiave composita è composta da elementi che possono essere o meno chiavi esterne. Esempio: in una tabella dei dettagli della transazione, la chiave è (TransactionId, ItemNumber). Un dettaglio della transazione è una sottoentità di una transazione. TransactionId è una chiave esterna, che fa riferimento alla tabella Transazioni. ItemNumber non è una chiave in sé e per sé. Identifica in modo univoco un articolo nel contesto di una singola transazione.

Una chiave composta è una chiave per cui qualsiasi parte della chiave è una chiave esterna. Esempio: in un sistema di prenotazione di un hotel, una prenotazione ha la chiave composta, (GuestId, HotelId, ArrivalDate). GuestId identifica un Guest e fa riferimento alla tabella Guest. HotelId identifica un hotel e fa riferimento alla tabella degli hotel. ArrivalDate identifica una data. Potrebbe esserci o meno una tabella Date a cui fa riferimento, ma identifica un'entità (una data) in entrambi i modi.

Da notare anche questo factoide: una chiave semplice è una chiave composta da una colonna, mentre una chiave composita è composta da due o più colonne.

20
jcolebrand

In inglese si tratta di "chiavi composte". Ad esempio, dai un'occhiata al sito Web MSDN (qualsiasi ricerca contenente "sql composite key" lo farà).

http://www.google.com/search?q=sql+composite+key+site:msdn.Microsoft.com

Supponendo che la domanda riguardi i database relazionali, ho cercato una definizione "neutra" in Wikipedia :

Una chiave composita è una chiave composta da due o più attributi all'interno di una tabella che (insieme) identificano in modo univoco un record

3
Hemme

Una chiave composita è costituita da più di un attributo per identificare in modo univoco un'occorrenza di entità. Ciò differisce da una chiave composta in quanto uno o più attributi, che costituiscono la chiave, non sono semplici chiavi a sé stanti.

Ad esempio, hai un database che contiene la tua collezione di CD. Una delle entità si chiama tracce, che contiene i dettagli delle tracce su un CD. Questo ha una chiave composita di nome CD, numero traccia.

3
dilbag koundal

Mi sembra che una chiave composita sia un superset che include chiavi composte. Se accettiamo che una chiave composita è composta da più di un attributo (di qualsiasi tipo) e una chiave composta è composta da più di una chiave semplice. Una chiave composta è un tipo di chiave composita con un significato più specifico, ma il termine chiave "composita" è sempre appropriato da usare.

2
Tom Gnade