Boîte de dialogue Relations de clé étrangère (Visual Database Tools)

Utilisez cette boîte de dialogue pour créer ou modifier des relations entre les tables de votre base de données. Dans une relation de clé étrangère, les contraintes de clé étrangère sont associées à des contraintes uniques ou de clé primaire afin de garantir l'intégrité référentielle entre les tables spécifiées. Par exemple, une contrainte de clé étrangère placée sur la colonne ProductID de la table Order_Details pourrait garantir qu'une valeur entrée dans cette colonne correspond à une valeur de la colonne ProductID de la table Products.

[!REMARQUE]

Si la table est publiée pour réplication, vous devez apporter vos modifications au schéma à l'aide de l'instruction Transact-SQLALTER TABLE ou de SMO (SQL Server Management Objects). Lorsque les modifications sont apportées au schéma à l'aide du Concepteur de tables ou du Concepteur de schémas de base de données, celui-ci tente de supprimer la table et de la recréer. Toutefois, il est impossible d'abandonner les objets publiés, par conséquent les modifications du schéma échoueront.

Pour accéder à cette boîte de dialogue, ouvrez la définition de table pour la table possédant la clé étrangère, cliquez avec le bouton droit sur la grille de définition de table et cliquez sur Relations.

Options

  • Relation sélectionnée
    Répertorie les relations existantes. Sélectionnez une relation pour afficher ses propriétés dans la partie droite de la grille. Si la liste est vide, aucune relation n'est définie pour la table.

  • Ajouter
    Crée une nouvelle relation. Une relation valide exige que la Spécification de tables et colonnes soit définie.

  • Supprimer
    Supprime la relation sélectionnée dans la liste Relation sélectionnée. Pour annuler l'ajout d'une relation, supprimez la relation à l'aide de ce bouton.

  • Catégorie Général
    Se développe pour afficher Vérifier les données existantes à la création ou à la réactivation et Spécification de tables et colonnes.

  • Vérifier les données existantes à la création ou à la réactivation
    Vérifie en fonction de la contrainte, toutes les données qui existaient dans la table avant la création ou la réactivation de la contrainte.

  • Catégorie Spécification de tables et colonnes
    Se développe pour afficher les colonnes des tables jouant le rôle de clé étrangère et de clé primaire (ou unique) dans la relation. Pour modifier ou définir ces valeurs, cliquez sur le bouton de sélection (...), à droite du champ de propriété.

  • Table de base de clé étrangère
    Affiche la table qui contient la colonne jouant le rôle de clé étrangère dans la relation sélectionnée.

  • Colonnes clés étrangères
    Affiche la colonne qui joue le rôle de clé étrangère dans la relation sélectionnée.

  • Table de base de clé Primary/Unique
    Affiche la table qui contient la colonne jouant le rôle de clé primaire (ou unique) dans la relation sélectionnée.

  • Colonnes de clé Primary/Unique
    Affiche la colonne jouant le rôle de clé primaire (ou unique) dans la relation sélectionnée.

  • Catégorie Identité
    Se développe pour afficher les champs de propriété pour le Nom et la Description.

  • Nom
    Indique le nom de la relation. Lorsqu'une nouvelle relation est créée, elle obtient un nom par défaut basé sur la table affichée dans la fenêtre active du Concepteur de tables. Vous pouvez modifier le nom à tout moment.

  • Description
    Décrit la relation. Pour écrire une description plus détaillée, cliquez sur Description, puis sur le bouton de sélection (...) qui apparaît à droite du champ de propriété. Vous obtiendrez une zone d'écriture plus large.

  • Catégorie Concepteur de tables
    Se développe pour afficher des informations relatives aux options Vérifier les données existantes à la création ou à la réactivation et Appliquer la réplication.

  • Appliquer la réplication
    Indique si la contrainte doit être appliquée lorsqu'un Agent de réplication effectue une requête Insert, Update ou Delete sur cette table. Pour plus d'informations, consultez Contrôle des contraintes, des identités et des déclencheurs avec l'option NOT FOR REPLICATION.

  • Appliquer la contrainte de clé étrangère
    Spécifie si les modifications apportées aux données des colonnes dans la relation sont autorisées lorsqu'elles annulent l'intégrité de la relation de clé étrangère. Choisissez Oui si vous ne souhaitez pas autoriser de telles modifications et Non si vous souhaitez les autoriser.

  • Catégorie Spécification INSERT et UPDATE
    Se développe pour afficher des informations relatives aux options Règle de suppression et Règle de mise à jour pour la relation.

  • Règle de suppression
    Spécifie ce qui se produit si un utilisateur tente de mettre à jour une ligne contenant des données impliquées dans une relation de clé étrangère :

    • Aucune action   Un message d'erreur indique à l'utilisateur que la suppression n'est pas autorisée et la commande DELETE est annulée.

    • Cascade   Supprime toutes les lignes contenant des données qui interviennent dans la relation de clé étrangère. Ne spécifiez pas CASCADE si la table est incluse dans une publication de fusion qui utilise des enregistrements logiques. Pour plus d'informations sur les enregistrements logiques, consultez Regroupements des modifications apportées à des lignes connexes à l'aide d'enregistrements logiques.

    • Définir Null   Affecte la valeur null si toutes les colonnes clés étrangères de la table acceptent des valeurs null. Non applicable à SQL Server 2000.

    • Définir la valeur par défaut   Définit la valeur par défaut définie pour la colonne si toutes les colonnes clés étrangères de la table ont des valeurs par défaut définies. Non applicable à SQL Server 2000.

  • Règle de mise à jour
    Spécifie ce qui se produit si un utilisateur tente de mettre à jour une ligne contenant des données impliquées dans une relation de clé étrangère :

    • Aucune action   Un message d'erreur indique à l'utilisateur que la mise à jour n'est pas autorisée et la commande UPDATE est annulée.

    • Cascade   Met à jour toutes les lignes contenant des données qui interviennent dans la relation de clé étrangère. Ne spécifiez pas CASCADE si la table est incluse dans une publication de fusion qui utilise des enregistrements logiques. Pour plus d'informations sur les enregistrements logiques, consultez Regroupements des modifications apportées à des lignes connexes à l'aide d'enregistrements logiques.

    • Définir Null   Affecte la valeur null si toutes les colonnes clés étrangères de la table acceptent des valeurs null. Non applicable à SQL Server 2000.

    • Définir la valeur par défaut   Définit la valeur par défaut définie pour la colonne si toutes les colonnes clés étrangères de la table ont des valeurs par défaut définies. Non applicable à SQL Server 2000.