J'utilise la base de données mysql. J'ai une confusion entre la clé primaire et la clé unique.
Veuillez m'aider où dois-je créer la clé primaire et unique. Je veux dire dans quelle situation nous créons une clé unique ou une clé primaire.
J'utilise la base de données mysql. J'ai une confusion entre la clé primaire et la clé unique.
Veuillez m'aider où dois-je créer la clé primaire et unique. Je veux dire dans quelle situation nous créons une clé unique ou une clé primaire.
PRIMARY KEY = UNIQUE KEY + Not Null CONSTRAINT
Réponses:
Clé primaire:
NULL
- par exemple, MySQL ajouteNOT NULL
Clé unique:
NULL
valeursNULL
; plusieurs lignes peuvent avoir desNULL
valeurs et ne peuvent donc pas être considérées comme "uniques"la source
Clé unique (Royaume-Uni) : il s'agit d'une colonne ou d'un groupe de colonnes qui peut identifier l'unicité d'une ligne.
Clé primaire (PK) : c'est également une colonne ou un groupe de colonnes qui peut identifier l'unicité d'une ligne.
La clé primaire n'est donc qu'un autre nom pour la clé unique, mais l'implémentation par défaut dans SQL Server est différente pour la clé primaire et unique.
Par défaut:
Cela dépend vraiment de votre objectif lorsque vous décidez de créer un Royaume-Uni ou un PK. Il s'ensuit une analogie comme "S'il y a une équipe de trois personnes, alors tous sont des pairs, mais il y en aura un qui sera une paire de pairs: PK et UK ont une relation similaire.". Je suggère de lire cet article: l'exemple donné par l'auteur peut ne pas sembler convenable, mais essayez de vous faire une idée globale.
http://tsqltips.blogspot.com/2012/06/difference-between-unique-key-and.html
la source
[table_name]_pkey
) est ajoutée à la table (j'ai entendu cela appelé une clé de substitution). Source: postgresqltutorial.com/postgresql-primary-key Je suis nouveau dans tout cela, donc j'apprécierais une affiche plus compétente pour souligner les nuances que j'ai manquées.Pour une organisation ou une entreprise, il y a tellement d'entités physiques (telles que des personnes, des ressources, des machines, etc.) et des entités virtuelles (leurs tâches, transactions, activités). En règle générale, les entreprises doivent enregistrer et traiter les informations de ces entités commerciales. Ces entités commerciales sont identifiées dans un domaine commercial complet par une clé.
Selon la prospective du SGBDR, la clé (ou clé candidate) est une valeur ou un ensemble de valeurs qui identifie de manière unique une entité.
Pour une table DB, il y a tellement de clés qui existent et peuvent être éligibles pour la clé primaire. Pour que toutes les clés, clé primaire, clé unique, etc. soient appelées collectivement comme clé candidate. Cependant, DBA a sélectionné une clé dans la clé candidate pour rechercher des enregistrements est appelée clé primaire.
Différence entre la clé primaire et la clé unique
1. Comportement: la clé primaire est utilisée pour identifier une ligne (enregistrement) dans une table, tandis que la clé unique sert à empêcher les valeurs en double dans une colonne (à l'exception d'une entrée nulle).
2. Indexation: par défaut, le moteur SQL crée un index clusterisé sur la clé primaire s'il n'existe pas et un index non clusterisé sur la clé unique.
3. Nullabilité: la clé primaire n'inclut pas les valeurs Null, contrairement à la clé unique.
4. Existence: une table peut avoir au plus une clé primaire, mais peut avoir plusieurs clés uniques.
5. Modifiabilité: vous ne pouvez pas modifier ou supprimer les valeurs primaires, mais les valeurs de clé unique le peuvent.
Pour plus d'informations et d'exemples:
http://dotnetauthorities.blogspot.in/2013/11/Microsoft-SQL-Server-Training-Online-Learning-Classes-Integrity-Constraints-PrimaryKey-Unique-Key_27.html
la source
Une clé primaire doit être unique.
Une clé unique ne doit pas nécessairement être la clé primaire - voir clé candidate .
C'est-à-dire qu'il peut y avoir plus d'une combinaison de colonnes sur une table qui peut identifier de manière unique une ligne - une seule d'entre elles peut être sélectionnée comme clé primaire. Les autres, bien que uniques, sont des clés candidates.
la source
Vous pouvez trouver des informations détaillées sur:
http://www.dotnet-tricks.com/Tutorial/sqlserver/V2bS260912-Difference-between-Primary-Key-and-Unique-Key.html
la source
Une clé primaire a la sémantique d'identifier la ligne d'une base de données. Par conséquent, il ne peut y avoir qu'une seule clé primaire pour une table donnée, alors qu'il peut y avoir plusieurs clés uniques.
Aussi pour la même raison, une clé primaire ne peut pas être NULL (au moins dans Oracle, je ne suis pas sûr des autres bases de données)
Puisqu'il identifie la ligne, il ne devrait jamais changer. Changer les clés primaires causera inévitablement de graves douleurs et probablement une damnation éternelle.
Par conséquent, dans la plupart des cas, vous voulez un identifiant artificiel pour la clé primaire qui n'est utilisé que pour identifier des lignes uniques dans la table.
En revanche, les clés uniques peuvent changer autant que vous le souhaitez.
la source
Une clé primaire est une clé unique.
Chaque table doit avoir au plus UNE clé primaire mais elle peut avoir plusieurs clés uniques. Une clé primaire est utilisée pour identifier de manière unique une ligne de table. Une clé primaire ne peut pas l'être
NULL
carNULL
n'est pas une valeur.la source
la source
Je sais que cette question remonte à plusieurs années, mais j'aimerais y répondre en expliquant pourquoi plutôt que comment.
Objectif de la clé primaire : Identifier une ligne dans une base de données de manière unique => Une ligne représente une seule instance du type d'entité modélisée par la table. Une clé primaire applique l'intégrité d'une entité, AKA Entity Integrity. La clé primaire serait un index clusterisé, c'est-à-dire qu'elle définit l'ordre dans lequel les données sont physiquement stockées dans une table.
Objectif de la clé unique : Ok, avec la clé primaire, nous avons un moyen d'identifier de manière unique une ligne. Mais j'ai un besoin commercial tel qu'une autre colonne / un ensemble de colonnes doit avoir des valeurs uniques. Eh bien, techniquement, étant donné que cette ou ces colonnes sont uniques, elles peuvent être candidates à l'application de l'intégrité de l'entité. Mais pour tout ce que nous savons, cette colonne peut contenir des données provenant d'une organisation externe dont je doute peut-être d'être unique. Je ne peux pas lui faire confiance pour assurer l'intégrité de l'entité. J'en fais juste une clé unique pour répondre à mes besoins commerciaux.
Voilà!
la source
Si la conception de votre base de données est telle qu'elle n'a pas besoin de clé étrangère, vous pouvez utiliser la clé unique ( mais n'oubliez pas que la clé unique autorise une valeur nulle unique ).
Si votre base de données demande une clé étrangère, vous ne partez pas avec le choix de choisir la clé primaire.
Pour voir la différence entre la clé unique et la clé primaire, visitez ici
la source
1) clé primaire dans la colonne qui ne peut pas être nulle dans la table et que vous utilisez comme clé étrangère dans une autre table pour créer une relation
2) clé unique dans la table où cela n'affecte pas dans la table ou dans la base de données entière que vous preniez la valeur nulle pour la colonne particulière comme les collations dans le restaurant, il est possible que vous ne preniez pas de collations dans un restaurant
la source
différence entre la clé primaire et la clé unique
Les deux
Primary key
etUnique Key
sont utilisés pour définir de manière unique une ligne dans une table.Primary Key
crée unclustered index
de la colonne alors qu'unUnique creates an unclustered index of the column
.A Primary Key
ne permet pasNULL value
, maisa Unique Key
permetone NULL value
.la source
Simplement, la clé primaire est unique et ne peut pas être nulle, unique peut être nulle et peut ne pas être unique.
la source
may not be unique
signifie ici?Clés primaires
L'objectif principal de la clé primaire est de fournir un moyen d'identifier chaque enregistrement du tableau.
La clé primaire fournit un moyen d'identifier la ligne en utilisant des données à l'intérieur de la ligne. Une clé primaire peut être basée sur une ou plusieurs colonnes, telles que le prénom et le nom; cependant, dans de nombreuses conceptions, la clé primaire est un numéro généré automatiquement à partir d'une colonne d'identité.
Une clé primaire présente les caractéristiques suivantes:
Clés uniques
Une clé unique est également appelée contrainte unique. Une contrainte unique peut être utilisée pour garantir que les lignes sont uniques dans la base de données.
Ne le faisons-nous pas déjà avec la clé primaire? Oui, nous le faisons, mais une table peut avoir plusieurs ensembles de colonnes que vous voulez uniques.
Dans SQL Server, la clé unique a les caractéristiques suivantes:
source: ici
la source
Les principales caractéristiques d'une clé primaire sont:
Il doit contenir une valeur unique pour chaque ligne de données. Il ne peut pas contenir de valeurs nulles. Une seule clé primaire dans une table.
Les principales caractéristiques d'une clé unique sont:
Il peut également contenir une valeur unique pour chaque ligne de données.
Il peut également contenir des valeurs nulles.
Plusieurs clés uniques dans une table.
la source