Gestion des contraintes du serveur

De RAD Studio
Aller à : navigation, rechercher

Remonter à Utilisation des composants fournisseur - Index


La plupart des systèmes de gestion de bases de données relationnelles implémentent des contraintes sur les tables afin de garantir l'intégrité des données. Une contrainte est une règle contrôlant les valeurs des tables et des colonnes et les relations entre les données de colonnes de différentes tables. Ainsi, la plupart des bases de données compatibles SQL-92 gèrent les contraintes suivantes :

  • NOT NULL, afin de garantir que la valeur d'une colonne est définie.
  • NOT NULL UNIQUE, afin de garantir qu'une colonne contient une valeur et que cette valeur n'existe pas dans cette colonne pour un autre enregistrement.
  • CHECK, afin de garantir que la valeur d'une colonne se trouve dans un intervalle spécifié ou qu'elle appartient à une plage limitée de valeurs autorisées.
  • CONSTRAINT, une contrainte portant sur la table s'appliquant à plusieurs colonnes.
  • PRIMARY KEY, pour désigner une ou plusieurs colonnes comme clé primaire jouant un rôle dans l'indexation.
  • FOREIGN KEY, pour désigner une ou plusieurs colonnes dans une table en référençant une autre.

Remarque :  Cette liste n'est pas exhaustive. Votre serveur de bases de données peut gérer certaines ou toutes les contraintes précédentes, ainsi que d'autres. Pour plus d'informations sur les contraintes qu'il gère, consultez la documentation de votre serveur.

Les contraintes d'un serveur de base de données prennent la place de nombreuses vérifications effectuées auparavant par les applications classiques de bases de données de bureau. Vous pouvez tirer profit des contraintes définies par le serveur dans vos applications de bases de données multiniveaux sans avoir à reproduire les contraintes dans le code du serveur d'applications ou dans celui de l'application client.

Si le fournisseur utilise un ensemble de données BDE, la propriété Constraints vous permet de reproduire et d'appliquer les contraintes du serveur aux données transmises ou reçues par les applications client. Si Constraints a la valeur True (cas par défaut), les contraintes du serveur stockées dans l'ensemble de données source figurent dans les paquets de données et affectent les tentatives de modification des données par les clients.

Avertissement :  Avant que le fournisseur ne puisse transférer aux ensembles de données client les informations relatives aux contraintes, il doit lire ces informations sur le serveur de bases de données.

Il est parfois nécessaire de ne pas appliquer les contraintes du serveur aux données envoyées à un ensemble de données client. Ainsi quand un ensemble de données client reçoit les données en paquets et autorise la modification locale des données avant la lecture de tous les enregistrements, il peut être nécessaire de désactiver certaines des contraintes du serveur qui risquent d'être déclenchées à cause d'un ensemble de données temporairement incomplet. Pour empêcher la réplication des contraintes du fournisseur par l'ensemble de données client, affectez la valeur False à Constraints. De toute façon, les ensembles de données client peuvent désactiver ou activer les contraintes en utilisant les méthodes DisableConstraints et EnableConstraints. Pour plus d'informations sur l'activation et la désactivation des contraintes par les ensembles de données client, voir Gestion des contraintes liées au serveur.

Voir aussi