Remarque
Le diagramme de modèle de base de données est uniquement disponible dans certaines versions de Visio. Voir Vous ne trouvez pas les fonctionnalités de modèle de base de données? pour plus d’informations.
Comprendre les règles d’intégrité référentielle
Les règles dʼintégrité référentielle empêchent les utilisateurs de la base de données d’interrompre accidentellement le mappage entre les colonnes liées.
Supposons que vous ayez une base de données appelée Livres avec deux tables intitulées Titres et Auteurs. Pour les besoins de cet exemple, chaque titre n’a qu’un seul auteur, mais chaque auteur peut avoir plusieurs titres, créant ce que l’on appelle une relation un-à-plusieurs. La table du côté « un » de la relation est appelée table parent. La table du côté « plusieurs » est appelée la table enfant.
Afin de rassembler des informations sur chaque livre et son auteur, une requête utilise des clés pour faire correspondre chaque livre de la table Titres à son auteur dans la table Auteurs. La table parente (auteurs) doit avoir une clé primaire qui identifie chaque ligne de manière unique. La table Titres doit comporter une colonne contenant l’ID d’auteur de chaque titre. Cette colonne s’appelle la clé étrangère. La clé primaire identifie chaque auteur, et la clé étrangère identifie quels livres ont été écrits par quel auteur.
Si un utilisateur modifie l’AuthorID de l’auteur de l’auteur dans la table parent, sans mettre à jour l’AuthorID dans la table Titres, les livres de la table Titres n’ont plus d’auteur valide.
Au lieu d’avoir à modifier l’AuthorID dans les deux tables, vous pouvez définir des règles d’intégrité référentielle pour effectuer l’action souhaitée. Vous pouvez choisir de faire en sorte que le modèle de base de données effectue des actions spécifiques lorsqu’une clé est modifiée ou supprimée dans la table parent.
Remarque
Les termes parent et enfant sont utilisés pour signifier quelque chose de très différent dans les catégories, qui sont créées avec les formes Parent à catégorie, Catégorie et Catégorie à enfant . Pour plus d’informations sur les catégories, voir Définir des catégories dans un diagramme de modèle de base de données.
Définir des actions pour l’intégrité référentielle
Double-cliquez sur la relation pour laquelle vous voulez définir une action référentielle.
Dans la fenêtre Propriétés de la base de données, sous Catégories, cliquez sur Action référentielle.
Cliquez sur l’action que la base de données doit effectuer sur la valeur correspondante dans la table enfant. Vous avez le choix entre les actions suivantes :
- Aucune action Lorsqu’une valeur dans la clé primaire d’une table parente est modifiée ou supprimée, la valeur correspondante dans la clé étrangère de la table enfant reste inchangée.
- Cascade Lorsqu’une valeur dans la clé primaire d’une table parente est modifiée ou supprimée, la valeur correspondante dans la clé étrangère de la table enfant est modifiée ou supprimée pour correspondre à la clé primaire.
- Définir NULL Lorsqu’une valeur dans la clé primaire d’une table parent est modifiée ou supprimée, la valeur correspondante dans la clé étrangère de la table enfant est définie sur NULL.
- Définir la valeur par défaut Lorsqu’une valeur dans la clé primaire d’une table parent est modifiée ou supprimée, la valeur correspondante dans la clé étrangère de la table enfant est définie sur une valeur par défaut que vous choisissez.
- Ne pas appliquer Cette action désactive les règles d’intégrité référentielle pour cette relation.
Remarque
Si les options Définir NULL et Définir par défaut sont désactivées, il est probable que la relation soit définie sur Facultative sous l’onglet Divers de la fenêtre Propriétés de la base de données de la fenêtre Propriétés de la base de données.
Définir la valeur par défaut d’une colonne
Pour utiliser l’action Définir par défaut , vous devez fournir une valeur par défaut pour la colonne.
- Double-cliquez sur la table dans le diagramme pour ouvrir le Fenêtre Propriétés Base de données.
- Sous Catégories, cliquez sur Colonnes, cliquez sur la colonne pour laquelle vous souhaitez créer une valeur par défaut, puis cliquez sur Modifier.
- Sous l’onglet Définition de la boîte de dialogue Propriétés des colonnes , entrez une valeur pour la valeur par défaut.
Afficher l’intégrité référentielle à l’aide de la notation
Vous pouvez définir vos options de document pour masquer ou afficher la notation d’intégrité référentielle à côté des lignes de relation dans votre modèle.
Que signifient les lettres de la notation d’intégrité référentielle ?
La notation d’intégrité référentielle affiche les relations avec deux lettres séparées par un signe deux-points, sous la forme [action effectuée dans la table parente] :[résultat dans la table enfant]. Par exemple, d :C signifie que lorsqu’un élément est supprimé dans la table parent, la modification est répercutée sur la table enfant.
Les actions dans la table parente sont indiquées par une lettre minuscule :
- u Les données de la table parente sont mises à jour.
- dLes données de la table parente sont supprimées.
Les résultats de la table enfant sont indiqués par une lettre majuscule :
- R Aucune action Ne modifiez pas la table enfant.
- C Cascade Répliquez la modification dans la table enfant.
- D Définir par défaut Insérez la valeur par défaut précédemment définie pour cette colonne dans la table enfant.
- N Définir Null Définissez la table enfant sur NULL.
- (Vide) N’appliquez pas l’intégrité référentielle à cette relation.
Remarque
Ces paramètres affectent ce qui se passe dans une base de données réelle plutôt que dans un modèle. Dans un modèle que vous rétroconcevez à partir d’une base de données existante, vous pouvez voir comment la base de données est conçue en ce qui concerne l’intégrité référentielle. Dans un modèle que vous créez à partir de zéro, vous pouvez utiliser ces paramètres pour documenter le comportement souhaité de la base de données que vous modélisez.
Afficher l’intégrité référentielle dans Visio 2010
- Sous l’onglet Base de données, accédez au groupe Gérer et cliquez sur Options d’affichage.
- Sous l’onglet Relations, sous Afficher, sélectionnez la zone case activée Actions référentielles.
Vous ne trouvez pas les fonctionnalités de modèle de base de données?
Certaines versions de Visio ne disposent pas du modèle Diagramme de modèle de base de données.
Visio Standard n’inclut pas le modèle Diagramme de modèle de base de données.
Les éditions Visio Professionnel et Premium prennent en charge les fonctionnalités de rétroconception du modèle Diagramme de modèle de base de données (à savoir l’utilisation d’une base de données existante pour créer un modèle dans Visio), mais pas l'ingénierie en amont (à savoir l’utilisation d’un modèle de base de données Visio pour générer du code SQL).
Remarque
Vous trouverez la suite complète des fonctionnalités de modélisation de base de données, avec la rétroconception et l'ingénierie en amont, dans Visio pour Enterprise Architects. Visio pour Enterprise Architects est inclus dans l’abonnement MSDN Premium, qui est disponible avec Visual Studio Professional et les éditions basées sur les rôles de Visual Studio Team System.
Si vous utilisez Visio (plan 2) et souhaitez en savoir plus sur la procédure à suivre pour concevoir une base de données existante dans un modèle de base de données, consultez la rubrique Rétroconcevoir une base de données existante.