Lorsque vous modifiez les propriétés d'une colonne de clé ou d'une relation dans un modèle de données physique, les propriétés de toutes les clés externes associées sont également modifiées.
Action de l'utilisateur | Résultats de la migration de clés |
---|---|
Ajouter une colonne à une clé primaire | Si la clé primaire fait partie d'une relation, alors la colonne est migrée vers la table enfant comme une colonne de clé externe. Si la relation est identifiante, alors la colonne migrée est également insérée comme élément des colonnes de la clé primaire pour la table enfant. Si la colonne fait déjà partie d'une clé externe, que le reste des colonnes de la clé externe fait déjà partie de la clé primaire et que la relation n'est pas identifiante, alors la relation est changée en relation identifiante. |
Supprimer une colonne d'une clé primaire | Si la clé primaire fait partie d'une relation, alors la colonne qui avait été migrée vers la table enfant comme une clé externe est supprimée de la liste des colonnes de la clé externe. Si la relation est identifiante, alors la colonne migrée est aussi supprimée de la liste des colonnes de la clé primaire pour la table enfant. Si la colonne fait déjà partie d'une clé externe et que la relation est identifiante, alors la relation est changée en relation non identifiante. |
Réorganiser les colonnes d'une clé primaire | Si la clé primaire fait partie d'une relation, alors les colonnes migrées dans la clé externe sont réorganisées pour correspondre à la clé primaire. |
Supprimer une clé primaire | Si la clé primaire fait partie de relations, alors les relations associées et les clés étrangères vides sont conservées. |
Modifier le type de données d'une colonne | Si la colonne fait partie d'une clé primaire et que la clé primaire fait partie d'une relation, alors le type de données de la colonne migrée dans la table enfant est également modifié. |
Modifier la longueur, la précision ou l'échelle du type de données d'une colonne | Si la colonne fait partie d'une clé primaire et que la clé primaire fait partie d'une relation, alors la longueur, la précision ou l'échelle du type de données de la colonne migrée dans la table enfant sont également modifiées. |
Supprimer une colonne | Si la colonne fait partie de la contrainte de la clé primaire ou de la clé unique et que la contrainte de la clé primaire ou de la clé unique fait partie d'une relation, alors la colonne migrée dans la table enfant est supprimée de la liste des colonnes de la clé externe enfant. Si la relation est identifiante, alors la colonne migrée dans la table enfant est aussi supprimée de la liste des colonnes de la clé primaire enfant. |
Ajouter une colonne à une contrainte de clé unique | Si la contrainte de la clé unique fait partie d'une relation, alors la colonne est migrée vers la table enfant comme une colonne de la clé externe. Si la relation est identifiante, alors la colonne migrée est aussi intégrée comme élément des colonnes de contrainte de clé unique de la table enfant. Si la colonne fait déjà partie d'une clé externe, que le reste des colonnes de la clé externe fait déjà partie de la contrainte de la clé unique et que la relation n'est pas identifiante, alors la relation est modifiée en relation identifiante. |
Réorganiser les colonnes d'une contrainte de clé unique | Aucune migration de clés ne se produit. |
Supprimer une colonne d'une contrainte de clé unique | Si la clé primaire fait partie d'une relation, alors la colonne migrée dans la table enfant est supprimée de la liste des colonnes de la clé externe enfant. Si la relation est identifiante, alors la colonne migrée dans la table enfant est supprimée de la liste des colonnes de la clé primaire enfant. |
Supprimer une contrainte de clé unique | Si la contrainte de clé unique fait partie des relations, alors les relations associées et les clés étrangères vides sont conservées. |
Ajouter une colonne à une clé externe | Aucune migration de clés ne se produit. |
Réorganiser les colonnes d'une clé externe | Aucune migration de clés ne se produit. |
Supprimer une colonne d'une clé externe | Si la colonne fait partie d'une contrainte de clé primaire ou de clé et que la contrainte de clé primaire ou de clé fait partie d'une relation, alors la colonne migrée dans la table enfant est supprimée de la liste des colonnes de la clé externe enfant. Sinon, aucune migration de clés ne se produit. |
Supprimer une clé externe | La relation associée est supprimée de la table enfant. |
Ajouter une relation | Si la relation est une relation identifiante, les colonnes migrées deviennent un élément de la clé externe et de la clé primaire de la table enfant. Si la relation est une relation non identifiante, les colonnes migrées deviennent un élément de la clé externe de la table enfant. |
Supprimer une relation identifiante | La clé externe associée est supprimée de la table enfant. |
Supprimer une relation non identifiante | La clé externe associée est supprimée de la table enfant. |
Supprimer la table parent d'une relation | Toutes les colonnes de clé migrées sont supprimées de la clé externe de la table enfant. |
Modifier le type d'une relation | Si la relation est modifiée d'identifiante en non identifiante, alors les colonnes de la clé externe sont supprimées de la clé primaire de la table enfant. Si la relation est modifiée de non identifiante en identifante, alors les colonnes de la clé externe sont ajoutées à la clé primaire de la table enfant. |