Avant de discuter sur la différence entre la clé primaire et clé unique, il est important de déterminer ce qui est la clé, la façon dont il joue un rôle dans les affaires et la façon dont il est mis en œuvre SQL/Oracle
Selon la prospective: Pour une organisation ou une entreprise, il y a tant d'entités physiques (telles que des personnes, des ressources, des machines, etc.) et des entités virtuelles (leurs tâches, transactions, activités) . Habituellement, les entreprises ont besoin d'enregistrer et de traiter les informations pour ces entités commerciales. Ces entités commerciales sont identifiées dans le domaine métier entier par une clé.
Selon le SGBDR prospectif: Clé (c.-à-d. Une clé candidate), une valeur ou un ensemble de valeurs qui identifie de façon unique une entité. Pour une table de base de données, il existe tellement de clés qui peuvent être admissibles à la clé primaire. Pour que toutes les clés, la clé primaire, la clé unique, etc. soient appelées collectivement Clé de candidat.
Pour une table DBA sélectionnée La clé candidate est appelée clé primaire, les autres clés candidates sont appelées clés secondaires.
Différence entre la clé primaire et clé unique
1.Comportement: La clé primaire est utilisée pour identifier une ligne (enregistrement) dans une table alors que la clé unique est pour empêcher les valeurs en double dans une colonne.
2. Indexation: Par défaut, Sql-engine crée un index clusterisé sur la clé primaire s'il n'existe pas et un index non clusterisé sur une clé unique.
3. Nullabilité: La clé primaire n'inclut pas les valeurs Null alors que la clé Unique peut l'être.
4. Existence: Une table peut avoir au plus une clé primaire mais peut avoir plusieurs clés uniques.
5. Modifabilité: Vous ne pouvez pas modifier ou supprimer des valeurs primaires mais les valeurs de clé unique peuvent.
Pour plus d'informations avec des exemples: http://dotnetauthorities.blogspot.in/2013/11/Microsoft-SQL-Server-Training-Online-Learning-Classes-Integrity-Constraints-PrimaryKey-Unique-Key_27.html
que voulez-vous dire par «PK peut couvrir plusieurs colonnes.»? – nectar
Dans de nombreux exemples, vous voyez que la clé primaire est une colonne unique dans le tableau; souvent un nombre entier d'identification qui identifie de façon unique la ligne (ceci s'appelle une colonne d'identité). C'est bien (et souvent pratique), mais le PK n'a * pas * à être une seule colonne. – Kramii
Par exemple, vous pourriez avoir une table de produits. Supposons que chaque produit existe en plusieurs modèles et plusieurs couleurs. La table Products possède donc une colonne ModelNum et une colonne Color. Maintenant, ni la colonne ModelNum ni la colonne Color identifie de façon unique un produit, mais ensemble, ils le font. Dans ce cas, vous pouvez définir une clé primaire qui inclut à la fois les colonnes ModelNum et Color (c'est ce qu'on appelle une "clé primaire composite"). Bien sûr, il y a des avantages et des inconvénients de la colonne d'identité PK par rapport à l'approche PK de la colonne composite ... mais c'est une autre question. – Kramii