L'héritage du modèle entité-association

Comme dans le cas de l'orienté-objet, le modèle enitié-association nous permet d'utiliser des entités qui peuvent appartenir à plusieurs types. L'héritage se présente ici sous la forme de relations d'inclusions.

Une entité sous-type hérite d'une entité surtype (ou super-type).

Dans les exemples suivants, nous retrouverons généralement ce cas : A comme surtype, B et C comme sous-types de A.

Nous représentons la relation hiérarchique de l'héritage par un triangle, avec le surtype au dessus (lié au sommet du triangle par un trait), et les sous-types en dessous (liés à la base du triangle par un trait chacun).

L'entité sous-type est une spécialisation de l'entité surtype.

L'entité surtype est une généralisation de l'entité sous-type.

Une entité peut être un sous-type direct ou un surtype direct d'une autre entité si elle est directement liée à cette dernière.

Une entité peut être un sous-type indirect ou un surtype indirect d'une autre entité si elle est est liée à cette dernière, mais pas directement. C'est le concept de transitivité[1].

La relation d'un sous-type vers son surtype est une relation is-a (l'entité sous-type est une entité surtype).

Contraintes de sous-type

Les différentes contraintes de sous-type dans le modèle enitié-association s'expriment au moyen de la combinaison de deux notions :

  • Disjonction : la notion porte sur le sous-type.
    Si chaque entité de la population d'un sous-type n'appartient pas aux autres sous-types, nous avons une disjonction.
  • Totalité : la notion porte sur le surtype.
    Si chaque entité du surtype fait partie d'un des sous-types, nous avons une totalité. Total est opposé à partiel.

Selon les combinaisons possibles, nous avons le tableau suivant.

| Nom | Totalité | Disjonction | Description |
| Recouvrement
partiel |
Non | Non | Aucun symbole dans le triangle d'héritage. Des entités du surtype peuvent n'appartenir à aucun sous-type, et des entités peuvent appartenir à plusieurs sous-types. |
T | Recouvrement
total |
Oui | Non | Il n'existe pas de x ∈A : x ∉ B ∧ x ∉ C[?]
Nous n'avons aucune entité de A qui ne soit ni une entité de B ni une entité de C, donc toutes les entités de A appartiennent à un des sous-types de A. |
D | Disjonction
(+partiel) |
Non | Oui | Il n'existe pas de x ∈A : x ∈ B ∧ x ∈ C[?]
Nous n'avons aucune entité de A qui ne soit à la fois une entité de B et une entité de C, mais certaines entités de A peuvent n'appartenir à aucun des sous-types de A. |
P | Partition | Oui | Oui | Il n'existe pas de x ∈A : (x ∉ B ∧ x ∉ C) ∨ (x ∈ B ∧ x ∈ C)[?]
Nous n'avons aucune entité de A qui ne soit ni une entité de B ni une entité de C, et une entité ne peut être que de B ou de C.
Toutes les entités de A appartiennent à un des sous-types de A. |
| Nom | Totalité | Disjonction | Description |

 

Document créé le 10/01/10 22:16, dernière modification le 12/07/17 14:28
Source du document imprimé : https://www.gaudry.be/sgbdr-heritage.html

L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.

Notes

  1.  Transitivité : Si E est un sous-type de F, et que F est un sous-type de G, alors E est aussi un sous-type de G.

 

Références

  1. livre Langue du document: fr Cours d'Ingénérie des bases de données : Jean-Luc HAINAUT, Anne-France BROGNEAUX, IHDCB334 - Ingénérie des bases de données (2003)

Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.