2
votes

L'utilisabilité de Unique Constraint

Je voudrais demander dans quels cas il est approprié d'utiliser le mot clé UNIQUE en SQL. Je sais que si je déclare une colonne en tant que clé primaire, elle est unique, mais que se passe-t-il avec d'autres attributs comme le pays? Est-il convenable d'y utiliser une contrainte unique?


1 commentaires

Il certifiera qu'aucune valeur exacte en double n'est entrée dans votre champ. Le comportement des valeurs nulles peut être spécifique à l'implémentation


3 Réponses :


1
votes

La contrainte UNIQUE garantit que toutes les valeurs d'une colonne sont différentes. Les contraintes UNIQUE et PRIMARY KEY fournissent une garantie d'unicité pour une colonne ou un ensemble de colonnes. Une contrainte PRIMARY KEY a automatiquement une contrainte UNIQUE.


1 commentaires

En outre, une colonne de clé primaire est NOT NULL, tandis que la contrainte UNIQUE n'interdit pas les valeurs NULL.



0
votes

Comme toute autre contrainte, la contrainte UNIQUE applique un certain niveau de qualité des données . Si vous ajoutez cette contrainte à une colonne, toutes les valeurs de cette colonne seront différentes.

Par exemple, sur une table où EMPLOYEE_PK est déjà unique (car c'est le PK), vous pouvez vouloir appliquer la colonne CARD_NUMBER est également unique; c'est le numéro affiché sur la carte d'employé. Dans votre modèle, le numéro de la carte peut être différent du PK, et vous devrez peut-être également vous assurer qu'il est unique.

Un autre avantage supplémentaire d'une contrainte UNIQUE est que d'autres tables peuvent y lier des clés étrangères. Puisqu'une colonne UNIQUE agit effectivement comme une "clé de table", toute autre table peut établir une clé étrangère pointant vers elle. J'ai rencontré de nombreuses personnes qui pensent [à tort] que les clés étrangères ne peuvent pointer que vers des clés primaires.


2 commentaires

au cas où il y aurait déjà un PK dans la table, la colonne UNIQUE peut-elle agir à nouveau comme clé de table?


Une table peut avoir plusieurs clés candidates. Cependant, un seul d'entre eux est choisi comme clé primaire.



2
votes

Le mot-clé unique en sql est utilisé chaque fois que vous voulez que chaque entrée de ligne de cette colonne soit différente l'une de l'autre. Une colonne de clé primaire est automatiquement unique, mais dans certains cas, vous souhaiterez peut-être que plus de colonnes soient uniques.

Par exemple, si vous avez un product_id comme clé primaire, cela garantira qu'aucune autre ligne n'aura un produit avec product_id comme ligne. Et en plus de cela, vous voulez qu'aucune ligne ne contienne le même product_imei , alors vous pouvez rendre le product_imei unique.

Vous pouvez créer une clé primaire composite telle que Primary Key (column1, column2) mais cela signifie que la combinaison que vous obtenez de product_id et product_imei sera unique.

Par exemple (DLK-22,356938035643809) et (DLK-22, 11111111111111) peuvent tous deux exister dans une table si (product_id, product_imei) est le clé primaire.

Vous pouvez donc utiliser une contrainte unique sur autant de colonnes que vous le souhaitez et son besoin dépend du scénario du problème auquel vous êtes confronté. Vous pouvez utiliser la contrainte unique avec le pays si cela vous aide, cela ne pose aucun problème


0 commentaires