web-dev-qa-db-fra.com

En SQL, s'agit-il de clés composites ou composées?

À propos de SQL (informatique/bases de données):

Lorsque nous avons deux champs ou plus dans une table qui, ensemble, identifient ses enregistrements de manière unique, quelle est la bonne façon de les appeler? Clés composites ou composées?

J'ai vu sur le Web les deux utilisations donc je ne suis pas vraiment sûr.

32
igordcard

La clé composite et la clé composée décrivent une clé candidate avec plus d'un attribut. Selon le Relational Database Dictionary (C.J.Date), ils signifient la même chose.

Dans la modélisation ER, le terme "clé composée" a également une signification plus spécifique. Cela signifie une clé dont les attributs constitutifs sont des références à des clés dans d'autres entités - c'est-à-dire qu'une clé composée forme une relation d'identification. Dans la plupart des cas, ce n'est pas un concept particulièrement utile ou important, de sorte que les termes composite/composé sont souvent traités comme interchangeables. Il est probablement préférable de s'en tenir à la "clé composite" à moins que vous ne vous référiez spécifiquement au concept de modélisation ER d'une clé composée.

32
nvogel

Je ne sais toujours pas pourquoi http://en.wikipedia.org/wiki/Compound_key n'a pas été consulté. Il indique très clairement (et est correct):

Dans la conception d'une base de données, une clé composée est une clé qui se compose de 2 attributs ou plus qui identifient de manière unique une occurrence d'entité. Chaque attribut qui compose la clé composée est une clé simple à part entière.

Cela est souvent confondu avec une clé composite , même si c'est également une clé composée de 2 attributs ou plus qui identifient de manière unique une occurrence d'entité, au moins un attribut qui compose la clé composite n'est pas une simple clé à part entière.

Une clé composite est composée d'éléments qui peuvent ou non être des clés étrangères. Exemple: dans un tableau de détails de transaction, la clé est (TransactionId, ItemNumber). Un détail de transaction est une sous-entité d'une transaction. TransactionId est une clé étrangère, faisant référence à la table Transactions. ItemNumber n'est pas une clé en soi. Il identifie uniquement un article de manière unique dans le contexte d'une seule transaction.

Une clé composée est une clé par laquelle n'importe quelle partie de la clé est une clé étrangère. Exemple: dans un système de réservation d'hôtel, une réservation a la clé composée (GuestId, HotelId, ArrivalDate). GuestId identifie un invité et fait référence à la table des invités. HotelId identifie un hôtel et fait référence à la table Hotels. ArrivalDate identifie une date. Il peut y avoir ou non une table Dates à laquelle il fait référence, mais il identifie une Entité (une Date) de toute façon.

Il convient également de noter ce fait: une clé simple est une clé composée d'une colonne, tandis qu'une clé composite est composée de deux colonnes ou plus.

20
jcolebrand

En anglais, il s'agit de "clés composites". Par exemple, jetez un œil au site Web MSDN (toute recherche contenant "clé composite sql" fera l'affaire).

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

En supposant que la question concerne les bases de données relationnelles, j'ai cherché une définition "neutre" dans Wikipedia :

Une clé composite est une clé composée de deux ou plusieurs attributs dans une table qui (ensemble) identifient de manière unique un enregistrement

3
Hemme

Une clé composite se compose de plusieurs attributs pour identifier de manière unique une occurrence d'entité. Cela diffère d'une clé composée en ce qu'un ou plusieurs des attributs qui composent la clé ne sont pas de simples clés à part entière.

Par exemple, vous avez une base de données contenant votre collection de CD. L'une des entités est appelée pistes, qui contient les détails des pistes sur un CD. Cela a une clé composite de nom de CD, numéro de piste.

3
dilbag koundal

Il me semble qu'une clé composite est un sur-ensemble qui comprend des clés composées. Si nous acceptons qu'une clé composite est composée de plusieurs attributs (de toute nature), et qu'une clé composée est constituée de plusieurs clés simples. Une clé composée est un type de clé composite avec une signification plus spécifique, mais le terme clé "composite" est toujours approprié à utiliser.

2
Tom Gnade