logo

Dépendance transitive dans le SGBD

Considérons une relation R(A B C). Ici, A, B et C sont connus comme l'attribut de la relation R. Lorsque la condition suivante se présente : alors la dépendance transitive se produit dans le SGBD. Les conditions sont A → B, B → C. Par conséquent, la condition devient A → C. En d'autres termes, on peut dire que lorsque les dépendances sont constituées de deux dépendances fonctionnelles, alors les dépendances fonctionnelles deviennent des dépendances transitives.

Qu’est-ce que la dépendance transitive ?

Considérons une relation R(A B C). Ici, A, B et C sont connus comme l'attribut de la relation R. Lorsque la condition suivante se présente : alors la dépendance transitive se produit dans le SGBD. Les conditions sont A → B, B → C. Par conséquent, la condition devient A → C. dans les dépendances fonctionnelles transitives, une personne à charge dépend directement du déterminant.

Comprenons les dépendances transitives à l'aide de l'exemple suivant.

ID_auteur Auteur Livre Auteur_Nationalité
A1 Arundhati Roy Le Dieu des petites choses Inde
A1 Kiran Desai L'héritage de la perte Inde
A2 RK Narayan Le mangeur d'hommes de Malgudy Inde

Dans le tableau des auteurs ci-dessus, nous obtenons cela.

    Livre → Auteur :Ici, l'attribut auteur est déterminé par l'attribut livre. Si quelqu’un connaît le nom du livre, il peut également connaître le nom de l’auteur.Auteur → Auteur_Nationalité :Si quelqu'un connaît le nom de l'auteur, il peut également connaître sa nationalité.Livre → Auteur_Nationalité: Si quelqu'un connaît le nom du livre, il peut également connaître la nationalité de l'auteur.

Si nous examinons attentivement les dépendances fonctionnelles évoquées ci-dessus, nous trouvons le modèle suivant.

  • A → B et B → C B → C ; donc, A → CA → C.
  • A → Livre, B → Auteur B → Auteur et C → Auteur_Nationalité C→Auteur_Nationalité

Supposons que nous appliquions la troisième forme normale (3NF) dans le tableau des auteurs ci-dessus. Dans ce cas, la dépendance transitive de la table d'auteur doit être supprimée et le processus de suppression des dépendances transitives de la base de données est appelé processus de normalisation.

Comment éviter les dépendances transitives ?

Examinons à nouveau la table des auteurs ci-dessus et voyons quel type de problème survient lors de la création de la table.

Tableau des auteurs :

ID_auteur Auteur Livre Auteur_Nationalité
A1 Arundhati Roy Le Dieu des petites choses Inde
A1 Kiran Desai L'héritage de la perte Inde
A2 RK Narayan Le mangeur d'hommes de Malgudy Inde

Les anomalies de données (telles que les anomalies de mise à jour, d'insertion et de suppression) et les incohérences peuvent être apportées par la table des auteurs. Lorsqu’il y a trop de redondance dans la base de données, des anomalies de données sont provoquées dans les données. Des anomalies de données sont également provoquées en cas de problème de mise à jour, de suppression et d'insertion de nouvelles données. Par exemple, dans la table des auteurs-

  • Nous ne pouvons pas ajouter un nouvel auteur tant que nous ne pouvons pas ajouter un livre à la table.
  • Nous ne pouvons pas supprimer l'auteur tant que nous n'avons pas complètement supprimé le livre de la base de données.
  • Si nous voulons supprimer le livre « Le Dieu des petites choses », l'identifiant de l'auteur, l'auteur et la nationalité seront également supprimés.

Les problèmes ci-dessus se produisent dans toute relation contenant des dépendances transitives.

Troisième forme normale en supprimant la dépendance transitive

Considérons le Tableau des auteurs avec trois attributs (Author_ID, Author, Author_Nationality) et essayez de trouver et d'éliminer la dépendance transitive de cette table,

Tableau des auteurs :

ID_auteur Auteur Livre Auteur_Nationalité
A1 Arundhati Roy Le Dieu des petites choses Inde
A1 Kiran Desai L'héritage de la perte Inde
A2 RK Narayan Le mangeur d'hommes de Malgudy Inde

La table de l'auteur ci-dessus n'est pas en 3NF car elle a une dépendance transitive. Voyons comment

couche réseau dans les réseaux informatiques
  • Auteur → Auteur_Nationalité Auteur → Auteur_Nationalité
  • Auteur_ID → Auteur

Par conséquent, la dépendance fonctionnelle suivante existe également,

  • Authir_ID → Author_Nationality forme un modèle similaire à ce dont nous avons discuté ci-dessus.

Maintenant, pour éliminer la dépendance transitive, tout ce que nous devons faire est de diviser la table Author de telle manière que Author_ID ne dépendra plus fonctionnellement de Author_Nationality.

Créons deux tables, une contenant uniquement {Author_ID, Author} et une autre contenant {Author_Nationality}. Les nouveaux tableaux ressembleront à ceci,

Tableau des auteurs

ID_auteur Auteur
A1 Le Dieu des petites choses
A2 L'héritage de la perte
A3 Le mangeur d'hommes de Malgudy

Tableau de nationalité des auteurs

Auteur Auteur_Nationalité
Arundhati Roy Inde
Kiran Desai Inde
RK Narayan Inde

Désormais, les nouvelles tables Auteur et Nationalité de l'auteur ne contiennent aucune dépendance transitive et la relation est désormais en 3NF.