Modifier les clés et les index
La synchronisation permet de créer de façon automatique les clés primaires et étrangères, ainsi que les index sur ces clés.
Lorsque ces créations sont demandées :
Les clés primaires portent sur les colonnes correspondant aux identifiants.
Les clés étrangères portent sur les colonnes qui migrent dans les tables à cause d'une association contrainte.
Un index est créé sur chaque clé.
Il est possible de compléter, modifier ou supprimer les clés et index proposés lors de la synchronisation. Pour y accéder :
1. Faites un clic droit sur la table concernée et sélectionnez Propriétés.
2. Cliquez sur la liste déroulante puis sur Composants.
Dans la section Clés sont indiqués :
Le type de la clé (Type-Clé) : "Etrangère" ou "Primaire".
Dans le cas d'une clé étrangère :
La table référencée.
La gestion de l'intégrité référentielle en mise à jour (On Update) et en suppression (On Delete) ; référez-vous à la documentation du SGBD cible pour le type d'ordres gérés.
*Lorsqu'une colonne dite "migrante" est créée dans une table pour prendre en compte une association contrainte, il est possible de demander que le SGBD contrôle la valeur mise à jour dans cette colonne. Le SGBD vérifie alors que cette valeur existe toujours dans la table d'origine (intégrité référentielle).
Lors d'une mise à jour (On Update) ou d'une suppression (On Delete) dans la table d'origine, le SGBD peut :
Mettre à jour les valeurs dans les tables concernées, avec l'option Cascade.
Ne rien faire, avec l'option No Action.
Interdire la mise à jour ou la suppression, avec l'option Restrict.
Remettre la valeur par défaut dans les tables concernées, avec l'option Set Default.
Remettre la valeur à Null dans les tables concernées, avec l'option Set Null.
Dans la section Index sont indiqués :
Son Type : Bitmap, Standard, Unique, Unique where not null.
Son Sens de Tri (Ascendant ou Descendant).
S'il s'agit d'un index groupé (Clustered).
*La création d'une colonne à partir d'une clé ou d'un index n'est pas possible. Il faut d'abord créer la colonne dans la table, puis la relier à la clé ou à l'index.
Créer manuellement une clé
Voir préalablement : Les tables d'une base de données.
Pour créer une clé :
1. Faites un clic droit sur la table concernée et sélectionnez Propriétés.
2. Cliquez sur la liste déroulante puis sur Composants.
3. Sous la section Clés, cliquez sur le bouton Nouveau.
La fenêtre de création d'une clé apparaît.
4. Sélectionnez le type de clé à créer ;"étrangère" ou "primaire". La création d'une clé varie selon le type indiqué.
Clé primaire
Lorsque vous sélectionnez le type "Primaire", la clé apparaît dans les propriétés de la table.
Pour définir les propriétés de la clé :
*Faites un clic droit sur la clé et sélectionnez Propriétés.
Dans la page Colonnes vous pouvez spécifier les colonnes sur lesquelles porte la clé.
Il est également possible de spécifier la clé primaire d'une table dans la section Identifiants de la fenêtre de propriétés de l'entité dont elle est issue. Voir "Définir l'identifiant d'une entité", page 45.
Vous pouvez rendre l'identifiant "explicite" et choisir les attributs de l'entité - voire les attributs d'une autre entité (reliée par une association contrainte) - qui constituent l'ID.
La clé ainsi spécifiée est créée dans la table lors de la synchronisation.
Clé étrangère
Lorsque la clé créée est une clé étrangère, une liste des tables de la base de données est présentée.
1. Sélectionnez la table de référence sur laquelle porte la clé étrangère.
Si la table que vous choisissez comporte une clé primaire, un message apparaît.
2. Sélectionnez Oui.
la clé apparaît dans les propriétés de la table.
Vous pouvez modifier le Nom local de la clé (le nom complet d'une clé est composé du nom de la base de données à laquelle elle appartient, suivi du nom de la table, puis de son nom local : par exemple, "BD Bourse::Concerner::Cle1").
Pour une clé étrangère, comme lors de l'édition d'une clé, il est possible de préciser la gestion de l'intégrité référentielle en mise à jour (On Update) et en suppression (On Delete).