Différences entre la clé, la super-clé, la super-clé minimale, la clé candidate et la clé primaire
Je suis nouveau à MySQL, et je suis vraiment confus au sujet des différents termes que j'ai rencontrés. J'ai essayé de googler la réponse, mais les résultats sont vraiment déroutant et quand j'essaie de le comprendre, il semble juste comme ils sont la même chose.
quelles sont exactement les différences entre la clé, la super-clé, la super-clé minimale, la clé candidate et la clé primaire?
9 réponses
Ici j'ai copier coller de certaines informations que j'ai recueillies
Une clé est un seul ou une combinaison de plusieurs champs. Son but est d'accéder ou de récupérer des lignes de données à partir de la table selon les besoins. Les touches sont définies dans les tableaux pour accéder ou séquence les données stockées rapidement et en douceur. Ils sont également utilisés pour créer des liens entre les différentes tables.
Types de Les touches
Touche Primaire L'attribut ou la combinaison d'attributs qui identifie de façon unique une ligne ou un enregistrement dans une relation est connu sous le nom de clé primaire.
touche secondaire Un champ ou une combinaison de champs qui sert de base à l'extraction est appelé clé secondaire. La clé secondaire est un domaine non unique. Une valeur clé secondaire peut faire référence à de nombreux documents.
clé Candidate ou autre clé Une relation peut avoir une seule clé primaire. Il peut contenir de nombreux domaines, ou une combinaison de champs qui peuvent être utilisés comme clé primaire. Un champ ou une combinaison de champs est utilisé comme clé primaire. Les champs ou la combinaison de champs qui ne sont pas utilisés comme clé primaire sont appelés clé candidate ou clé alternative.
clé Composite ou clé concaténée Une clé primaire composée de deux attributs ou plus est appelée clé composite.
touche de tri ou de contrôle Un champ ou combinaison de champs qui est utilisée pour séquencer physiquement les données stockées appelé clé de tri. Il est également connu s de la clé de contrôle.
superkey est une combinaison d'attributs qui peuvent être uniquement utilisé pour identifier un enregistrement de base de données. Une table peut avoir de nombreux ânes. Candidat touches sont un sous-ensemble spécial de superkeys qui n'ont pas toute l'information superflue.
exemple pour super key:
Imaginez une table avec les champs <Name>
,<Age>
,<SSN>
et <Phone Extension>
. Cette table a beaucoup de superkeys possibles. Trois d'entre eux sont <SSN>
, <Phone Extension, Name>
et <SSN, Name>
. Dans cette liste, seulement <SSN>
est une clé candidate, que les autres contiennent des informations non nécessaires pour identifier les enregistrements.
Clé Étrangère Une clé étrangère est un attribut ou d'une combinaison d'attribut dans une relation dont la valeur correspondent à une clé primaire dans une autre relation. La table dans laquelle la clé étrangère est créée est appelée comme dépendante de la table. La table à laquelle la clé étrangère se réfère est connue sous le nom de table mère.
j'ai toujours eu du mal à me souvenir de toutes les clés; donc je garde les notes ci-dessous à portée de main, j'espère qu'elles aideront quelqu'un! faites-moi savoir si on peut l'améliorer.
: un attribut ou une combinaison d'attributs qui identifient de façon unique une entité/un enregistrement dans une table relationnelle.
PK: une seule clé qui est unique et non-nulle. Il est l'un des candidat clés.
Clé Étrangère: FK est une clé dans une table (l'enfant) qui identifie de manière unique une ligne d'une autre table (parent). Un FK n'est pas unique dans la table pour enfants. C'est une clé candidate dans la table parent. L'intégrité référentielle est maintenue puisque la valeur dans FK est présente comme une valeur dans PK dans la table mère sinon elle est nulle.
Touche Unique: une clé unique qui peut ou non être nulle
touche naturelle: PK in OLTP. C'est peut-être un PK à OLAP.
Clé De Substitution: C'est le PK de substitution dans OLAP agissant comme le remplaçant du PK dans OLTP. Clé artificielle générée à l'intérieur OLAP.
Touche Composite: PK composé de plusieurs attributs
SuperKey: Une clé qui peut être uniquement utilisé pour identifier un enregistrement de base de données, qui peuvent contenir des attributs supplémentaires qui ne sont pas nécessaires pour identifier de manière unique dossier.
Clé Candidate: une clé candidate peut être utilisée uniquement pour identifier un enregistrement de base de données sans données superflues. Ils ne sont pas Null et unique. C'est un minimum de super-clé.
Autre Touche: Une clé candidate qui n'est pas la clé primaire est appelé un autre clé.
clé (s) Candidate (s) avec des données étrangères: considérer que peut être utilisé pour identifier un document dans la table de L'employé, mais le candidat clé seul est suffisant pour cette tâche. Si devient les données superflues.
notez que la PK, clé étrangère, clé Unique, clé naturelle, clé de Substitution, Les clés composites sont définies comme des objets de base de données; où la clé naturelle est un PK dans L'OLTP et pourrait être un PK dans L'OLAP cible. Pour le reste des clés, c'est au designer/architecte DB de décider si les contraintes d'intégrité uniques/non nulles/référentielles doivent être appliquées ou pas.
ci-dessous j'ai essayé d'utiliser la théorie des ensembles pour simplifier la représentation des membres des keys W. R. T. l'un l'autre.
key = { All of the below keys }
PK = { PK }
Foreign Key = { Key with Not Null constraint }
Unique Key = { {Candidate Key/s}, {attributes containing NULL} }
Natural key = { PK }
Surrogate Key = { PK }
Composite Key = { PK }
Super Key = { {Candidate Key/s}, {Candidate Key/s with Extraneous data} }
Candidate Key = { PK, {Alternate Key/s} }
Alternate Key = { {Candidate Keys} - PK }
Candidate Key/s with Extraneous data = { }
j'ai résumé ci-dessous:
Notes: une-vue-de-la-base de données-touches-de clé primaire composite-clé de substitution-clé-et-al
clé Primaire est un sous-ensemble de la clé super. Qui est défini de façon unique et d'autres champs en dépendent. Dans une table, ils peuvent être juste une clé primaire et rest sous-ensemble sont la clé candidate ou les clés alternatives.
Superkey - Un attribut ou un ensemble d'attributs qui définit de manière unique un tuple dans une relation. Cependant, une superkey peut contenir des attributs supplémentaires qui ne sont pas nécessaires pour l'identification unique.
clé Candidate - un superkey tel qu'aucun sous-ensemble approprié n'est un superkey dans la relation. Donc, a essentiellement deux propriétés: chaque clé candidate identifie de façon unique tuple dans la relation;& aucun sous-ensemble approprié de la clé composite n'a l'unicité de la propriété.
touche Composite - Quand un candidat se compose de plus d'un attribut.
touche primaire - la clé candidate choisie pour identifier les tuples uniquement dans la relation.
touche alternative - clé Candidate qui n'est pas une clé primaire.
clé Étrangère - un attribut ou un ensemble d'attributs dans une relation qui correspond à la clé candidate de certains relation.
SUPER KEY:
attribut ou ensemble d'attributs utilisé pour identifier de façon unique les tuples dans la base de données.
CANDIDATE KEY:
- la super clé minimale est la clé candidate
- Peut être un ou plusieurs
- touches primaires potentielles
- null
- attribut ou ensemble d'attributs pour identifier de façon unique les enregistrements dans DB
primaire Clé:
une des clés candidate qui est utilisée pour identifier les enregistrements en DB uniquement
null
largement basé sur la réponse acceptée, mais avec quelques retouches pour mieux correspondre aux définitions enseignées dans certains cours:
- : un ensemble de colonnes$ \ge1$.
- Superkey: une clé qui $ \ supseteq$ une clé candidate.
- par conséquent, une superkey doit contenir $>1 $ colonnes.
- minimum Super key $ \equiv$ Clé Candidate: Une clé qui peut identifier de façon unique chaque ligne dans une table.
- Touche Primaire: la clé Candidate choisie pour faire cela.
- touche secondaire / touche alternative: une clé Candidate non choisie pour faire cela.
- Clé De Recherche: une clé utilisée pour localiser les documents.
- touche Composite ou touche de concaténate: une clé avec $ > 1 $ colonnes.
- implique habituellement "clé primaire composite", bien que "clé alternative composite" soit aussi une chose.
- Trier ou touche de contrôle: une clé utilisée pour séquencer physiquement les données stockées.
- Clé Étrangère Une clé dans une table qui correspond à la Clé Primaire d'une autre table.
- la table dans laquelle la clé étrangère réside est appelée table dépendante.
- la table à laquelle renvoie la clé étrangère est connue sous le nom de table mère.
Super Key: Super key est un ensemble d'un ou plusieurs attributs dont les valeurs identifient tuple dans la relation uniquement.
Clé Candidate : clé Candidate peut être définie comme un sous-ensemble minimal de clé super. Dans certains cas, la clé candidate ne peut pas être isolée puisqu'il y a seulement un attribut est le sous-ensemble minimal. Exemple,
employé (id, ssn, nom, adresse)
ici la clé Candidate est (id, ssn) parce que nous pouvons facilement identifier tuple utilisant soit id soit ssn . Bien que, sous-ensemble minimal de super-clé est soit id ou ssn. mais les deux peuvent être considérés comme des clés de candidat.
Touche Primaire: la clé primaire est une des clés candidates.
Exemple : Étudiant(Id, Nom, Département, Résultat)
Ici
Super Clé : {Id, Id+Nom, Id+Nom+Dept} parce que super clé est un ensemble d'attributs .
clé du candidat : Id parce que Id seul est le sous-ensemble minimal de super clé.
clé primaire : Id car Id est l'une des clés candidates
La Clé Du Candidat: la clé candidate peut être définie comme un ensemble minimal d'attribut qui peut uniquement identifier un tuple est connu comme candidat à la clé. Par exemple, STUD_NO dans ci-dessous ÉTUDIANT la relation.
- la valeur de la clé Candidate est unique et non nulle pour chaque tuple.
- Il peut y avoir plus d'une clé candidate dans une relation. Par exemple, STUD_NO aussi bien que STUD_PHONE sont des clés candidates pour relation ÉTUDIANT.
- La clé candidate peut être simple (n'avoir qu'un seul attribut) ou composite. Par exemple, {STUD_NO, COURSE_NO} est un composite
la clé du candidat pour relation STUDENT_COURSE.
Super: L'ensemble des attributs qui permettent d'identifier un tuple est connu sous le nom de Super Key. Par exemple, STUD_NO, (STUD_NO, STUD_NAME) etc. Additionneur zéro ou plus des attributs de la clé candidate génère la super clé. Une clé candidate est une super clé, mais vice-versa est pas vrai. Clé primaire: Il peut y avoir plus d'une clé candidate dans une relation dont l'un peut être choisi comme clé primaire. exemple, STUD_NO aussi bien que STUD_PHONE sont des clés candidates pour la relation Student mais STUD_NO peut être choisi comme clé primaire (un seul sur de nombreux candidats touches).
Touche Alternative: le candidat touche autre que clé primaire est appelé comme clé alternative. Par exemple, STUD_NO et STUD_PHONE sont clés du candidat pour la relation étudiant, mais STUD_PHONE sera alterné clé (un seul des nombreux candidats touches).
Clé Étrangère: Si un attribut ne peut prendre que les valeurs qui sont présent comme valeurs d'un autre attribut, il sera clé étrangère à l'attribut auquel il se réfère. La relation qui est en train d'être référencé est appelé relation référencée et attribut correspondant est appelé attribut référencé et la relation qui se réfère référencé rapport est appelé rapport de référencement et correspondant attribut est appelé référencement attribut. Référencé attribut de référencement attribut de clé primaire. Par exemple, STUD_NO dans STUDENT_COURSE est une clé étrangère pour STUD_NO dans la relation étudiant.
Superkey
A superkey is a combination of attributes that can be uniquely used to identify a
database record. A table might have many superkeys.Candidate keys are a special subset
of superkeys that do not have any extraneous information in them.
Examples: Imagine a table with the fields <Name>, <Age>, <SSN> and <Phone Extension>.
This table has many possible superkeys. Three of these are <SSN>, <Phone Extension, Name>
and <SSN, Name>.Of those listed, only <SSN> is a **candidate key**, as the others
contain information not necessary to uniquely identify records.