Il n'est pas rare que des entités d'une même catégorie partagent des attributs communs et des attributs distincts. Il faut alors subdiviser l'entité principale en sous-entités de catégories différentes afin de décrire leurs attributs spécifiques. On parle alors de spécialisation. Ainsi, par exemple, l'ensemble des moyens de transports peut se subdiviser en plusieurs ensembles de sous-entités: les bus, les trains, les bateaux ou les téléphériques. Ces entités ont des attributs communs en tant que véhicule (vitesse maximale, nombre maximal de passagers,...) mais possèdent également leurs propres attributs spécialisés (tirant d'eau pour les bateaux, nombre de câbles porteurs pour les téléphériques,...).
Dans le modèle EA, il faut plusieurs ensembles pour décrire les attributs communs et spécifiques aux entités. Un ensemble principal d'entités contiendra tous les attributs communs de chaque entité, alors que différents sous-ensembles d'entités spécifiques contiendront les attributs particuliers des différentes entités. L'ensemble des entités générales est alors relié aux ensembles d'entités spécialisées à l'aide d'un triangle accompagné de différentes mentions selon le cas de spécialisation représenté. En effet, le processus de spécialisation peut donner lieu à plusieurs cas possibles:
Spécialisation avec intersection
Spécialisation avec intersection et complète
Spécialisation disjointe
Spécialisation disjointe et complète
La figure reprend le cas disjoint et complet décrit ci-dessus en y ajoutant les attributs communs et spécifiques à chaque ensemble de (sous-)entités. Comme chaque cadre supérieur, chaque spécialiste et chaque apprenti est un employé, cette spécialisation est une association de type 1. L'association dans la direction inverse est également de type 1 dans le cas disjoint et complet dans la mesure où chaque employé appartient à un et un seul sous-ensemble d'entités.
Spécialisation dans l'exemple EMPLOYE
Remarquons dans l'exemple ci-dessus que l'entité principale EMPLOYE se caractérise par des attributs communs à tous les employés tels que le nom, la rue et la ville alors que d'autres attributs sont spécifiques à tel ou tel type d'employé: la position d'un cadre, la compétence d'un spécialiste ou l'année d'apprentissage d'un apprenti.
Une entreprise aimerait mettre en place un système informatique pour gérer efficacement l'un de ses secteurs d'activité: une chaîne d'hôtels situés dans diverses grandes villes. D'une discussion avec l'un des responsables du projet, vous parvenez à faire ressortir la liste des informations factuelles suivantes:
A l'aide d'un diagramme entité-association, modélisez la structure des informations nécessaire au développement du système de gestion des hôtels.
|