Créer des contraintes de validation
Comme pour d’autres objets de la base de données, il existe plusieurs façons de créer des contraintes de validation :
•Depuis le Navigateur en ligne
•Depuis l’Éditeur Design
•En générant SQL depuis un objet de contrainte de validation existant.
Ajouter des contraintes de validation n’est pas pris en charge pour les bases de données suivantes : MariaDB, MySQL, SQLite. |
En ajoutant une contrainte de validation, assurez-vous que les prérequis suivants sont remplis :
•La contrainte de validation doit avoir une expression valide dans la grammaire SQL de la base de données actuellement connectée. Par exemple, si des noms de colonne sont utilisés dans l’expression, ils doivent exister dans la table.
•En ajoutant une contrainte de vérification à une colonne qui contient déjà des données, les données de la colonne doivent satisfaire l’expression de la contrainte de validation. Autrement, le script de changement de la structure échoue avec une erreur (par exemple, l’instruction ALTER TABLE a eu un conflit avec la contrainte CHECK).
Alors qu’une contrainte de validation est créée mais pas encore validée dans la base de données, son nom peut apparaître avec le libellé <generated> dans le Navigateur en ligne et l’Éditeur Design. Ceci signifie que le nom sera automatiquement généré par la base de données quand vous validez le script de changement. Pour les détails sur la prise en charge pour les noms générés sur toutes les bases de données diverses, voir Noms générés.
Ajouter des contraintes de validation depuis le Navigateur en ligne
Les instructions suivantes ajoutant une contrainte de validation utilisent une base de données SQL Server comme modèle. Les instructions sont semblables à d’autres bases de données qui prennent en charge des contraintes de validation.
1.Cliquez avec la touche de droite dans un colonne existante ou une table et sélectionnez Créer Contraintes de validation depuis le menu contextuel. La nouvelle contrainte apparaît dans le dossier « Contraintes de validation » de la table et un script de changement de la structure est généré dans la fenêtre de Script de changement de structure de la base de données.
![dbs_check_constraint_01](./images/dbs_check_constraint_01.png)
2.En option, sélectionnez le nom <generated> et appuyez sur F2 pour le renommer. Pour les détails sur la prise en charge pour les noms générés sur toutes les bases de données diverses, voir Noms générés.
3.Assurez-vous que la contrainte de validation est sélectionnée dans le Navigateur en ligne, éditez la propriété Expression dans la fenêtre des Propriétés. En option, éditez la propriété Description. Dans cet exemple spécifique à la base de données SQL, l’expression assure que la valeur de la colonne est toujours supérieure ou égale à 0.
![dbs_check_constraint_02](./images/dbs_check_constraint_02.png)
4.Cliquez sur le bouton Exécuter le script de changement dans la fenêtre de Script de changement de structure de la base de données.
Vous allez devoir Actualiser la source de données afin de consulter les derniers changements dans le Navigateur en ligne.
Ajouter des contraintes de validation depuis l’Éditeur Design
Pour définir une contrainte de validation dans l’Éditeur Design :
1.Suivez une des étapes suivantes :
•Cliquez avec la touche de droite dans la de table et sélectionnez Insérer nouveau | Contrainte de validation depuis le menu contextuel.
•Élargir la section des contraintes de validationen cliquant sur le triangle à droite de l’en-tête de la section et cliquez sur l’icône Créer une nouvelle Contrainte de validation dans la colonne de Contrainte de validation.
Une nouvelle contrainte de validation est ajoutée dans la section « Contraintes de validation » et mis en surbrillance pour l’édition.
2.Dans la colonne « Expression », saisissez l’expression qui doit être validée quand les données sont validées dans dans la base de données et appuyez sur Enter.
![dbs_check_constraint_03](./images/dbs_check_constraint_03.png)
Comme toujours en apportant des changements à la structure de base de données, un script de changement est généré qui doit être exécuté afin de créer en fait une contrainte de validation dans la base de données.
3.Cliquez sur le bouton Exécuter le script de changement dans la fenêtre de Script de changement de structure de la base de données.
Ajouter des contraintes de validation utilisant SQL
Si des contraintes de validation existent déjà dans une table, vous pouvez ajouter de nouvelles contraintes en générant une instruction qui utilise la contrainte de validation existante comme modèle, comme suit :
1.Cliquez avec la touche de droite de la souris sur une contrainte existante dans le dossier des « Contraintes ».
2.Sélectionnez Afficher dans le nouvel Éditeur SQL | Ajouter depuis le menu contextuel ou, en tenant appuyée la touche droite de la souris, glissez la contrainte dans une fenêtre de l’Éditeur SQL ouverte et choisissez Ajouter depuis le menu contextuel. Une instruction Data Definition Language (DDL) est générée dans la fenêtre de l’Éditeur SQL.
3.Éditez l’instruction générée, par exemple :
a)La partie ALTER TABLE de l’instruction doit pointer sur la table correcte ;
b)La partie ADD CONSTRAINT de l’instruction doit spécifier un nom de contrainte valide ;
c)La section CHECK (expression) doit contenir une expression de contrainte valide dans la grammaire SQL de la base de données actuellement connectée.
4.Cliquez sur la touche Exécuter pour exécuter l’instruction.