L'utilisation du modèle ER pour des données plus volumineuses crée beaucoup de complexité lors de la conception d'un modèle de base de données. Ainsi, afin de minimiser la complexité, la spécialisation et l'agrégation de généralisation ont été introduites dans le modèle ER. Ceux-ci ont été utilisés pour l’abstraction des données. Dans lequel un mécanisme d'abstraction est utilisé pour masquer les détails d'un ensemble d'objets.
Généralisation
La généralisation est le processus d'extraction de propriétés communes d'un ensemble d'entités et de création d'une entité généralisée à partir de celui-ci. Il s’agit d’une approche ascendante dans laquelle deux entités ou plus peuvent être généralisées à une entité de niveau supérieur si elles ont certains attributs en commun.
Généralisation Exemple: ÉTUDIANT et FACULTÉ peuvent être généralisés à une entité de niveau supérieur appelée PERSONNE, comme le montre le diagramme ci-dessous. Dans ce cas, les attributs communs comme P_NAME et P_ADD font partie d'un ensemble supérieur. entité (PERSONNE) et spécialisé attributs comme S_FEE faire partie d'une entité spécialisée (ÉTUDIANT).
moniteur à tube cathodique
Spécialisation
Dans la spécialisation, une entité est divisée en sous-entités en fonction de ses caractéristiques. Il s'agit d'une approche descendante dans laquelle l'entité de niveau supérieur est spécialisée dans deux ou plusieurs entités de niveau inférieur. entités .
cas de test Junit
Spécialisation Exemple: une entité EMPLOYÉ dans un système de gestion des employés peut être spécialisée dans DEVELOPER TESTER, etc. Dans ce cas, les attributs communs comme E_NAME E_SAL etc. font partie d'une entité supérieure (EMPLOYEE) et les attributs spécialisés comme TES_TYPE font partie d'une entité spécialisée (TESTER).
Héritage
C'est une caractéristique importante de la généralisation et de la spécialisation. Dans la spécialisation, une entité de niveau supérieur est divisée en sous-entités de niveau inférieur qui héritent de ses attributs. En général, des entités similaires de niveau inférieur sont combinées en une entité de niveau supérieur qui possède des attributs communs. Dans les deux cas, l'héritage permet aux sous-entités de réutiliser les propriétés de l'entité parent.
- Héritage d'attribut : Il permet aux entités de niveau inférieur d'hériter des attributs d'entités de niveau supérieur et vice versa. Dans le diagramme, l'entité Car est un héritage de l'entité Vehicle. Ainsi, Car peut acquérir les attributs du véhicule. Exemple : La voiture peut acquérir l'attribut Modèle du véhicule.
- Héritage relationnel : Les sous-entités héritent également des relations de l'entité parent.
- Remplacement de l'héritage : Les sous-entités peuvent remplacer ou ajouter leurs propres attributs ou comportements différents de ceux du parent.
- Héritage de participation : L'héritage de participation dans la modélisation ER fait référence à l'héritage des contraintes de participation d'une entité de niveau supérieur (superclasse) vers une entité de niveau inférieur (sous-classe). Cela garantit que les sous-classes adhèrent aux mêmes règles de participation dans les relations, même si les attributs et les relations eux-mêmes sont hérités différemment.
Exemple de relation Exemple: Dans le diagramme, l'entité Véhicule a une relation avec l'entité Cycle mais elle n'acquérirait pas automatiquement la relation elle-même avec l'entité Véhicule. L'héritage de participation fait uniquement référence à l'héritage des contraintes de participation et non aux relations réelles entre les entités.
Agrégation
- Un diagramme ER n'est pas capable de représenter la relation entre une entité et une relation qui peut être requise dans certains scénarios.
- Dans ces cas, une relation avec ses entités correspondantes est regroupée dans une entité de niveau supérieur.
- L'agrégation est une abstraction grâce à laquelle nous pouvons représenter les relations sous forme d'ensembles d'entités de niveau supérieur.
Agrégation Exemple: un employé travaillant sur un projet peut avoir besoin de certaines machines. La relation REQUIRE est donc nécessaire entre la relation WORKS_FOR et l'entité MACHINERY. En utilisant l'agrégation, la relation WORKS_FOR avec ses entités EMPLOYEE et PROJECT est agrégée en une seule entité et la relation REQUIRE est créée entre l'entité agrégée et MACHINERY.
photos iCloud sur Android
Représenter l'agrégation via un schéma
Pour représenter l'agrégation dans un schéma relationnel, procédez comme suit :
1. Créer un schéma pour la relation agrégée
- Celui-ci sera traité comme un ensemble d'entités.
- Il inclut les clés primaires des entités participantes à la relation de base.
- Il inclut également tous les attributs descriptifs de la relation de base.
2. Créer un schéma pour la relation de niveau supérieur (agrégation)
- Ce schéma comprend : La clé primaire du schéma de relation agrégée.
- Clé primaire de l'entité associée à laquelle elle se rapporte.
- Tout attribut descriptif supplémentaire de cette relation de niveau supérieur.