Exemple : Création et attachement d'une règle de contrainte

Les règles de gestion de validation et de contrainte voient leurs expressions générées sous la forme de contraintes pour les SGBD qui les prennent en charge. Les règles de validation peuvent être réutilisées par plusieurs objets, tandis que les règles de contrainte ne peuvent être utilisées qu'une seule fois, et seront générées sous la forme d'une contrainte distincte pour les SGBD qui prennent en charge plusieurs contraintes.

Le type de contrainte généré dépend des éléments General > EnableCheck et General > EnableMultiCheck dans le SGBD :

SGBD

Résultat de la génération

Le SGBD ne prend pas en charge les contraintes de vérification

Aucune contrainte n'est générée.

La base de données ne prend pas en charge l'utilisation de plusieurs contraintes de vérification

Les règles de contrainte et de validation et tout paramètre de contrôle défini sur la table ou la colonne (voir Définition de contraintes de profilage de données) sont concaténées dans une seule expression de contrainte.

La base de données prend en charge l'utilisation de plusieurs contraintes de vérification

Dans un premier temps, les paramètres de contrôle et les règles de gestion de validation sont générées dans une même contrainte, par la suites les règles de gestions de contraintes sont générées dans des contraintes séparées dans l'ordre dans lequel elles sont été attachées. Les contraintes sont alors ordonnées

Si vous souhaitez imposer l'unicité du code à la fois pour les de validation et de contrainte, vous devez définir l'élément General > UniqueConstName à Yes.

Vous pouvez afficher un aperçu des contraintes qui seront générées sur l'onglet Aperçu de la feuille de propriétés de table.

Lorsque vous procédez au reverse engineering, l'ordre des contraintes est respecté :
  • La première contrainte est récupérée dans la page Contrôle de la feuille de propriétés de table

  • Chaque contrainte suivant la contrainte initiale est récupérée comme règle de gestion de contrainte attachée à la table

  1. Sélectionnez Modèle > Règles de gestion pour afficher la boîte de dialogue Liste des règles de gestion, puis cliquez sur l'outil Ajoutez une ligne.
  2. Saisissez un nom et un code pour la nouvelle règle, puis cliquez sur l'outil Propriétés pour afficher sa feuille de propriétés :
  3. Sélectionnez Contrainte dans la liste Type, puis cliquez sur l'onglet Expression et saisissez une expression sur le sous-onglet Serveur :


  4. Cliquez sur OK pour enregistrer vos modifications et revenir au modèle.
  5. Affichez la feuille de propriétés de la table ou de la colonne, puis cliquez sur l'onglet Règles.
  6. Cliquez sur l'outil Ajouter des objets pour afficher une liste des règles de gestion disponibles, sélectionnez une règle de gestion dans la liste de sélection, puis cliquez sur OK pour l'attacher à l'objet.


  7. [facultatif] Cliquez sur Appliquer pour confirmer l'attachement de la règle, puis cliquez sur l'onglet Aperçu de la feuille de propriétés de la table afin de vous assurer que la contrainte a été créée dans le script.

    Dans l'exemple suivant plusieurs contraintes sont définies dans la table Projet :

    Contrôle

    Description

    Paramètre de contrôle (dans la page Contrôle de la feuille de propriétés de table)

    Cette vérification s'assure que le numéro du client est différent du numéro du salarié

    Règle de gestion de validation

    NUM_PROJ pour vérifier que le numéro du projet n'est pas nul

    NUM_SAL pour vérifier que le numéro du salarié n'est pas nul

    Règle de gestion de contrainte

    COHERENCE_DATES pour vérifier que la date de début du projet est antérieure à sa date de fin