Database
 sql >> Base de données >  >> RDS >> Database

Que sont les contraintes SQL et ses différents types ?

Étant donné que de grandes quantités de données sont présentes dans les bases de données, il est très important pour nous tous d'augmenter la précision et la fiabilité des données présentes dans la base de données. Eh bien, les contraintes SQL sont utilisées pour maintenir la même chose. Il existe différents types de contraintes pouvant être utilisées. Dans cet article, je vais discuter de ces contraintes avec des exemples.

Les sujets suivants seront abordés dans cet article :

  1. Que sont les contraintes ?
  2. Contraintes disponibles en SQL :
      • Contrainte NOT NULL
      • Contrainte UNIQUE
      • VÉRIFIER la contrainte
      • Contrainte DEFAULT
      • Contrainte INDEX

Que sont les contraintes SQL ?

Les contraintes SQL sont utilisées pour spécifier les règles pour les données d'une table. Ceux-ci sont utilisés pour limiter le type de données qui doivent être stockées dans la base de données et visent à augmenter la précision et la fiabilité des données stockées dans la base de données.

Ainsi, les contraintes garantissent qu'il n'y a pas de violation en termes de transaction des données, mais qu'aucune violation n'est détectée ; l'action est terminée.

Deux types de contraintes peuvent être appliquées :

  1. Contraintes au niveau des colonnes – Ces contraintes sont appliquées à une seule colonne
  2. Contraintes au niveau de la table – Ces contraintes sont l'application au tableau complet

En avançant dans cet article, comprenons les différents types de contraintes. Aussi, je vais considérer le tableau suivant pour vous aider à mieux comprendre.

Différentes contraintes SQL disponibles :

Contrainte NOT NULL

La contrainte NOT NULL garantit qu'une colonne ne peut pas avoir une valeur NULL. Vous pouvez utiliser la contrainte NOT NULL lors de la création de la base de données de la table ou lors de sa modification.

Exemple

Contrainte NOT NULL sur CREATE TABLE

Écrivez une requête pour créer la table des étudiants ci-dessus, où StudentID et StudentName ne peuvent pas être NULL.

CREATE TABLE Students( 
StudentID int NOT NULL, 
StudentName varchar(255) NOT NULL, 
Age int, City varchar(255) );

Contrainte NOT NULL sur ALTER TABLE

Écrivez une requête pour modifier la table des étudiants ci-dessus, où une nouvelle colonne de DOB doit être ajoutée, et elle ne doit pas avoir de valeurs NULL.

ALTER TABLE Students ADD COLUMN DOB year NOT NULL;

Passant à cet article sur les contraintes SQL, laissez-nous comprendre comment utiliser la contrainte UNIQUE.

Contrainte UNIQUE

La contrainte UNIQUE est utilisée pour s'assurer que toutes les valeurs d'une colonne sont uniques. Vous pouvez utiliser la contrainte UNIQUE sur plusieurs colonnes ou sur une seule colonne avec. En dehors de cela, vous pouvez continuer et utiliser la contrainte UNIQUE pour modifier les tables existantes.

Remarque :

  1. Lors de la création de tables, une contrainte PRIMARY KEY a automatiquement une contrainte UNIQUE, pour garantir l'unicité d'une colonne.
  2. Une table peut avoir de nombreuses contraintes UNIQUE mais peut avoir une seule contrainte de clé primaire.

Exemple :

Contrainte UNIQUE sur CREATE TABLE

Écrivez une requête pour créer un tableau Étudiants, avec des colonnes StudentID, StudentName, Age et City. Ici, le StudentID doit être unique pour chaque enregistrement.

CREATE TABLE Students ( 
StudentID int NOT NULL UNIQUE, 
StudentName varchar(255) 
NOT NULL, Age int, City varchar(255) );

Nom d'une contrainte UNIQUE sur plusieurs colonnes

Pour nommer une contrainte unique et la définir pour plusieurs colonnes, vous pouvez vous référer à l'exemple suivant :

Écrivez une requête pour créer une table Students, avec des colonnes StudentID, StudentName, Age et City. Ici, StudentID et StudentName doivent être uniques pour chaque enregistrement.

CREATE TABLE Students ( 
StudentID int NOT NULL, 
StudentName varchar(255) NOT NULL, 
Age int, 
City varchar(255) CONSTRAINT Stu_Example 
UNIQUE (StudentID,StudentName) );

Ici, Stu_Example est le nom donné à la contrainte unique appliquée sur StudentID et StudentName.

Contrainte UNIQUE sur ALTER TABLE

Écrivez une requête pour modifier la table des étudiants, où une contrainte UNIQUE doit être ajoutée à la colonne StudentID.

ALTER TABLE Students ADD UNIQUE (StudentID);

De même, si vous souhaitez utiliser la contrainte UNIQUE sur plusieurs colonnes et également la nommer, vous pouvez écrire une requête comme suit :

ALTER TABLE Students ADD CONSTRAINT Stu_Example UNIQUE (StudentID,StudentName);

Supprimer une contrainte UNIQUE

Pour supprimer la contrainte spécifiée sur une colonne, vous pouvez utiliser la convention de dénomination que vous avez peut-être mentionnée lors de l'ajout de la contrainte.

Par exemple, si nous devons écrire une requête pour supprimer la contrainte UNIQUE que nous avons créée ci-dessus, vous pouvez écrire la requête comme suit :

ALTER TABLE Students DROP CONSTRAINT Stu_Example;

Ensuite, dans cet article sur les contraintes SQL, voyons comment utiliser la contrainte CHECK.

VÉRIFIER la contrainte

La contrainte CHECK garantit que toutes les valeurs d'une colonne satisfont à une condition spécifique.

Exemple :

VERIFIER la contrainte sur CREATE TABLE

Écrivez une requête pour créer une table Students, avec des colonnes StudentID, StudentName, Age et City. Ici, la ville doit être MUmbai.

CREATE TABLE Students ( 
StudentID int NOT NULL UNIQUE, 
StudentName varchar(255) NOT NULL, 
Age int, 
City varchar(255)CHECK (City==’Mumbai’) );

Contrainte CHECK sur plusieurs colonnes

Pour utiliser la contrainte de vérification sur plusieurs colonnes, vous pouvez écrire une requête comme ci-dessous :

Écrivez une requête pour créer une table Students, avec des colonnes StudentID, StudentName, Age et City. Ici, la ville doit être Mumbai et l'âge des étudiants doit être> 19 ans.

CREATE TABLE Students ( 
StudentID int NOT NULL, 
StudentName varchar(255) NOT NULL, 
Age int, 
City varchar(255)CHECK (City==’Mumbai’ AND Age>19));

De même, vous pouvez également utiliser la contrainte CHECK avec la commande ALTER TABLE. Reportez-vous ci-dessous.

VÉRIFIER la contrainte sur ALTER TABLE

Écrivez une requête pour modifier la table Étudiants, où une contrainte CHECK doit être ajoutée à la colonne Ville. Ici, la ville doit être Mumbai.

ALTER TABLE Students ADD CHECK (City=='Mumbai');

De même, si vous souhaitez utiliser la contrainte CHECK en lui donnant un nom, vous pouvez écrire une requête comme suit :

ALTER TABLE Students ADD CONSTRAINT StuCheckExample CHECK (City=='Mumbai');

Supprimer une contrainte CHECK

Pour supprimer la contrainte spécifiée sur une colonne, vous pouvez utiliser la convention de dénomination que vous avez peut-être mentionnée lors de l'ajout de la contrainte.

Par exemple, si nous devons écrire une requête pour supprimer la contrainte CHECK que nous avons créée ci-dessus, vous pouvez écrire la requête comme suit :

ALTER TABLE Students DROP CONSTRAINT StuCheckExample;

Passant à cet article sur les contraintes SQL, laissez-nous comprendre comment utiliser la contrainte DEFAULT.

Contrainte DEFAULT

La contrainte DEFAULT est utilisée pour mentionner un ensemble de valeurs par défaut pour une colonne lorsqu'aucune valeur n'est spécifiée. Semblable à celle des autres contraintes, nous pouvons utiliser cette contrainte sur la commande de table CREATE et ALTER.

Exemple

Écrivez une requête pour créer une table Students, avec des colonnes StudentID, StudentName, Age et City. De plus, lorsqu'aucune valeur n'est insérée dans la colonne Ville, Delhi doit être automatiquement incluse.

CREATE TABLE Students ( 
StudentID int NOT NULL, 
StudentName varchar(255) NOT NULL, 
Age int, 
City varchar(255)DEFAULT ‘Delhi’);

Contrainte DEFAULT sur ALTER TABLE

Pour utiliser la contrainte DEFAULT avec la commande ALTER TABLE, vous pouvez écrire une requête comme suit :

ALTER TABLE Students ADD CONSTRAINT StuDefauExample DEFAULT 'Mumbai' FOR City;

Supprimer une contrainte DEFAULT

Pour supprimer la contrainte DEFAULT, vous pouvez utiliser la commande ALTER TABLE comme suit :

ALTER TABLE Students ALTER COLUMN City DROP DEFAULT;

Ensuite, dans cet article sur les contraintes SQL, voyons comment utiliser la contrainte INDEX.

Contrainte INDEX

La contrainte INDEX est utilisée pour créer des index dans la table. À l'aide de ces index, vous pouvez créer et récupérer des données de la base de données très rapidement.

Syntaxe

--Create an Index where duplicate values are allowed
CREATE INDEX IndexName
ON TableName (ColumnName1, ColumnName2, ...ColumnName(N));

--Create an Index where duplicate values are not allowed
CREATE UNIQUE INDEX IndexName
ON TableName (ColumnName1, ColumnName2, ...ColumnName(N));

Exemple

Écrivez une requête pour créer un index avec le nom Stu_index sur la table Students qui stocke StudentName.

CREATE INDEX Stu_index ON Students (StudentName);

De même, pour supprimer un index de la table, vous devez utiliser la commande DROP avec le nom de l'index.

DROP INDEX Students.Stu_index;

Outre les contraintes ci-dessus, la PRIMARY KEY et la FOREIGN KEY sont également considérées comme des contraintes. La contrainte PRIMARY KEY est utilisée pour définir des contraintes sur la manière dont une colonne spécifique identifie de manière unique chaque tuple. La contrainte FOREIGN KEY est utilisée pour relier deux tables sur la base d'une relation.

Avec cela, nous arrivons à la fin de cet article. J'espère que vous avez compris comment utiliser les différentes contraintes présentes dans la base de données. Si vous souhaitez en savoir plus sur MySQL et découvrir cette base de données relationnelle open source, consultez notre formation de certification MySQL DBA qui vient avec une formation en direct dirigée par un instructeur et une expérience de projet réelle. Cette formation vous aidera à comprendre MySQL en profondeur et vous aidera à maîtriser le sujet.

Vous avez une question pour nous ? Veuillez le mentionner dans la section des commentaires de cet article sur les contraintes SQL et je vous recontacterai.