Bonjour,
J'aimerais avoir des précisions sur les intégrités référentielles dans une base MySQL
J'ai une table maitre contenant des articles : Code_article (article A, article B, article C, article D)
J'ai une table détail contenant les ventes : no_ligne, Code_article (ligne 1 article B, ligne 2 article C, ligne 3 article D)
1) Si j'ai bien compris la notion d'intégrité référentielle entre ces 2 tables liés par un clé étrangère sur le code article (ON UPDATE NO ACTION, ON DELETE NO ACTION).
- je ne peux pas supprimer un article de la table maitre si il existe dans la table détail
- je ne peux pas supprimer un article de la table détail si il existe dans la table maitre
Est-ce exact ?
2) Autre situation : j'ai déjà une table maitre et une table détail contenant plusieurs centaines d'enregistrement
Il n'y a jamais eu d'intégrité référentielle : j'ai donc des articles dans la table détail qui n'existe plus dans la table maitre car supprimé depuis.
- Je suppose qu'il est normal que je ne puisse pas créer maintenant une intégrité référentielle puisqu'il manque des articles dans la table maitre ?
Hormis le fait d'ajouter les articles manquants dans la table maitre, existe-t-il un moyen de créer l'intégrité référentielle ?
Merci d'avance pou'r votre aide :-)
Partager