SQLite est un SGBDR, qui est utilisé pour gérer les données de la base de données, qui est placée dans les lignes et les colonnes du tableau. Cet article nous aide à comprendre ce qui est une contrainte unique dans SQLite ainsi que la façon dont il fonctionne dans SQLite.
Quelle est la contrainte unique de Sqlite
Une contrainte unique garantit que les données dans la colonne doivent être uniques, ce qui signifie qu'aucun champ de la même colonne ne contienne des valeurs similaires. Par exemple, nous créons une colonne, un e-mail et la définissons avec la contrainte unique afin qu'elle s'assure qu'aucun e-mail inséré dans la colonne ne devrait être le même que l'autre enregistrement de la colonne.
Quelle est la différence entre la contrainte de clé unique et principale dans SQLite
Les contraintes, la clé primaire et unique garantissent qu'aucune entrée en double ne doit être insérée dans le tableau, mais la différence est; Le tableau ne doit contenir qu'une seule clé primaire tandis que la contrainte unique peut être utilisée pour plus d'une colonne dans le même tableau.
Comment une contrainte unique doit être définie dans SQLite
La contrainte unique peut être définie soit sur la colonne unique ou les plusieurs colonnes de SQLite.
Comment une contrainte unique doit être définie dans une colonne
Une contrainte unique peut être définie comme une colonne, par laquelle il peut garantir qu'aucune valeur similaire ne peut entrer dans un champ de cette colonne. La syntaxe générale de la définition de la contrainte unique sur une colonne est:
Create Table Table_name (Column1 DataType unique, Column2 DataType);L'explication de ceci est:
Pour comprendre cette syntaxe, considérez un exemple de création d'une table pour Students_data qui a deux colonnes, l'une de std_id et l'autre est de ST_NAM STD_ID similaire
Créer une table Students_data (std_id entier unique, texte std_name);Insérez les valeurs en utilisant:
Insérer dans Students_data Values (1, «John»), (2, «Paul»);Maintenant, nous allons ajouter un autre nom d'élève où le std_id est 1:
Insérer dans Students_data Values (1, «Hannah»);Nous pouvons voir à partir de la sortie, il a généré l'erreur d'insérer la valeur de STD_ID car elle a été définie avec la contrainte unique, ce qui signifie qu'aucune valeur ne peut être dupliquée avec les autres valeurs de cette colonne.
Comment la contrainte unique est-elle définie pour plusieurs colonnes
Nous pouvons définir plusieurs colonnes avec la contrainte unique, qui garantit qu'il n'y a pas de duplication des données insérées dans toutes les lignes en même temps. Par exemple, si nous devons choisir des villes pour un voyage à trois groupes de personnes (A, B et C), nous ne pouvons pas affecter la même ville à tous les trois groupes, cela peut être fait en utilisant la contrainte unique.
Par exemple, ces trois scénarios peuvent être possibles:
Groupe A | Group_b | Group_c |
---|---|---|
Floride | Floride | Boston |
New York | Floride | Floride |
Floride | Floride | Floride |
Mais le scénario suivant n'est pas possible si nous utilisons les contraintes uniques:
Groupe A | Group_b | Group_c |
---|---|---|
Floride | Floride | Floride |
La syntaxe générale de l'utilisation de la contrainte unique aux multiples colonnes est:
Create Table Table_Name (Column1 DataType, Column2, UNIQUE (Column1, Column2));L'explication de ceci est:
Pour comprendre cela, nous considérerons l'exemple ci-dessus, et exécuterons la commande suivante pour créer un tableau de trip_data:
Créer une table Trip_data (Text Group_A, Text Group_B, Text Group_C, UNIQUE (GROUP_A, GROUP_B, GROUP_C));Nous insérerons les valeurs de l'attribution de leurs villes:
Insérer dans Trip_data Values («Floride», «Floride», «Boston»), («New York», «Floride», «Floride»), («Floride», «Floride», «Floride»);Maintenant, nous allons insérer la même ville dans toutes les colonnes de Trip_data:
Insérer dans Trip_data Values («Floride», «Floride», «Floride»);Nous pouvons voir à partir de la sortie, la duplication des données dans toutes les colonnes définies par la contrainte unique n'est pas autorisée et l'erreur générée de la contrainte unique a échoué.
Comment ajouter la contrainte unique au tableau existant
Dans SQLite, nous pouvons ajouter la contrainte en utilisant la commande alter, par exemple, nous avons une table Students_data avec des colonnes std_id, std_name, nous voulons ajouter une contrainte std_id à la table, Students_Data:
Comment supprimer la contrainte unique au tableau existant
Comme d'autres bases de données, nous ne pouvons pas supprimer la contrainte en utilisant les commandes Drop and Alter, pour supprimer les contraintes uniques, nous devons suivre la même procédure que nous avons choisi d'ajouter la contrainte à un tableau existant et de redéfinir la structure du tableau.
Reprenez à nouveau l'exemple ci-dessus et supprimez les contraintes uniques:
Pragma étrangère_keys = off;Conclusion
La contrainte unique est utilisée dans les bases de données pour restreindre la duplication des valeurs insérées dans les champs du tableau, tout comme la contrainte de clé primaire, mais il y a une différence entre les deux; Une table ne peut avoir qu'une seule clé primaire, alors qu'une table peut avoir plus de colonnes de clés uniques. Dans cet article, nous avons discuté de ce qu'est une contrainte unique et comment elle peut être utilisée dans SQLite à l'aide d'exemples.