Partie 4

Résoudre les problèmes qui ne l'étaient pas avec MERISE. ..... Dans les
exercices suivants dessinez l'entité générique et les entités .... 6.8 ? Corrigé. ?. ?
. ?. ?.

Part of the document

PARTIE 4 - ENRICHISSEMENTS APPORTES AU MODELE DE DONNEES
|Geneviève GAUTIER |Pascale REY DU BOISSIEU |
ENRICHISSEMENTS APPORTES AU MODELE DE DONNEES I - INTRODUCTION Pourquoi avoir introduit des extensions au modèle de données standard ?
Pour plusieurs raisons : - Résoudre les problèmes qui ne l'étaient pas avec MERISE. - Préciser les objets en faisant ressortir des propriétés, des
contraintes d'intégrité et des notions d'historique. - Aider à la construction du modèle des traitements et à sa validation.
II - ENTITE FORTE/ ENTITE FAIBLE Dans la définition, une entité à une existence propre. Mais dans la
réalité, il existe, dans certains cas des entités dont l'existence même
est liée à d'autres entités.
Prenons par exemple le cas d'un secteur qui est propre à une région, le
numéro de secteur n'est pas un identifiant à proprement parler, il dépend
du numéro de région. On parlera pour l'entité secteur d'entité
dépendante, son identification étant une identification relative : la
propriété sectnum est un numéro d'ordre 1,2 ...
Plusieurs notations sont proposées : [1] REGION SECTEUR regnum sectnum
regnom Ici l'entité faible (ou dépendante) est représentée en pointillé. Son
lien de dépendance est indiqué par la flèche vers l'entité région. On
notera que les cardinalités 1,1 représentée ne signifie pas une
dépendance fonctionnelle, car le numéro d'ordre du secteur défini en fait
plusieurs régions.
Une autre représentation (c'est le formalisme adopté par AMC*DESIGNOR):
COLIS LOT colnum lotnum
colqtepr
Dans ce cas l'entité faible est l'entité COLIS, son identifiant est
relatif au lot qui le contient. Les parenthèses autour des cardinalités
1,1 mettent en évidence le lien de dépendance d'une part, et qu'il ne
s'agit pas d'une dépendance fonctionnelle d'autre part. Enfin on trouve aussi le ® de Relatif (formalisme Win'DESIGN) : [pic] III - GENERALISATION./SPECIALISATION Prenons l'étude de cas KIMASSUR (juin 2000), et intéressons nous à la
partie contrat.
Schéma conceptuel de données (proposé et faux !)
3.1 - Spécialisation, sans généralisation,
deux entités avec répartition de propriétés : 3.2 - Généralisation sans spécialisation :
une seule entité avec toutes les propriétés
CONTRAT
N°Contrat
DateEffet
PatrimoineMobilier
Immatriculation
DateMiseCirculation
N°Série
3.3 - Solution : Concept de généralisation/spécialisation
Ce concept est fondé sur le fait de regrouper toutes les propriétés
communes aux deux populations d'individus dans un entité dite générique
ou type et de créer deux entités spécialisées ou sous-types ne contenant
que les propriétés spécifiques à chaque population d'individus.
Ces deux sous-types d'entités étant liés par un lien de
généralisation/spécialisation à l'entité générique.
[pic]
Cette représentation est plus proche de la réalité. Définition de la généralisation/spécialisation
La généralisation/spécialisation est un processus de modélisation
permettant de lier une entité générique (ou sur-type) et une ou plusieurs
entités spécialisées (ou sous-types). L'entité générique contient les
propriétés communes à tous les sous-types. Les entités spécialisées
héritent des propriétés du sur-type et de plus, définissent des
propriétés qui leurs sont spécifiques.
Ainsi dans l'exemple ci-dessus, pour chaque occurrence d'un contrat
automobile on détermine le numéro du contrat, date d'effet,
immatriculation du véhicule, Date mise en circulation et numéro de série.
( La généralisation/spécialisation simple est caractérisée par l'unicité
du lien de généralisation spécialisation pour une même entité
Entité générique propriétés
ou type d'entité génériques lien "est_un"
Propriétés entités spécialisés
Spécifiques ou sous-types Le lien "est-un" qui indique que toutes les occurrences de l'entité
spécialisée sont aussi occurrences de l'entité générique et certaines
occurrences de l'entité générique sont aussi occurrences de l'entité
spécialisée.
Prenons notre exemple : L'entité générique CONTRAT et les deux entités
spécialisées CONTRAT AUTO et CONTRAT HABITATION.
Les n°contrat, date d'effet des contrats auto sont tous dans l'entité
générique contrat.
Les n°contrat, date d'effet des contrats habitation sont tous dans
l'entité générique contrat.
Les n°contrat et date d'effet des contrats de l'entité générique sont
relatifs soit à des contrats auto, soit à des contrats habitation, d'où
le terme "certaines occurrences".
EXEMPLE de spécialisation avec trois sous-type :
[pic]
( Complément : Il peut y avoir transfert d'une occurrence d'une entité
spécialisée vers une autre entité spécialisée autrement dit, d'un sous-
type vers un autre. On parle dans ce cas de transmutation.
Par exemple, si on considère l'entité générique PERSONNEL et les entités
spécialisées VACATAIRES d'une part et MENSUEL d'autre part les employés
VACATAIRES peuvent devenir MENSUEL. Ils passent d'un sous-type à l'autre,
on parle dans ce cas de transmutation.
Dans l'exemple ci-dessus cela n'est pas possible pour un sous-type de
passer d'une spécialisation à une autre.
Les règles d'héritages diffèrent suivant les traitements, en règle
générale dans le cas d'une spécialisation simple : les entités
spécialisées héritent de toutes les propriétés de l'entité générique. On
peut aussi l'exprimer autrement : les sous-types « reçoivent » toutes les
propriétés de l'entité générique. Dans l'exemple ci-dessus la relation déduite de l'entité spécialisée
VOITURE comprend les propriétés vehnum, vehmarque, vehannée, vehpuiss,
nbplaces.
La relation déduite de l'entité spécialisée CAMION comprend les
propriétés vehnum, vehmarque, vehannée, vehpuiss, poidsbrut, poidsnet.
La relation déduite de l'entité spécialisée MOTO comprend les propriétés
vehnum, vehmarque, vehannée, vehpuiss, cylindrée.
Il n'existe pas forcément de relation véhicule.(c'est le choix du
concepteur de garder ou non cette relation).
( La généralisation/spécialisation multiple
Dans la plupart des cas, les entités spécialisées sont situées dans une
hiérarchie de classe simple. Toutefois il existe des cas ou les entités
spécialisées sont situées dans plusieurs classes d'héritage : on parle
alors de généralisations multiples.
Regardons l 'exemple suivant
[pic]
IV - CONTRAINTES SUR SPECIALISATION 4.1 - Les contraintes de base Les deux contraintes de base qui sont utilisées pour introduire les
contraintes d'intégrité dans les modèles de données avec MERISE/2 sont la
couverture et la disjonction.
4.1.1 - La couverture :
cette contrainte définit si toutes les occurrences d'une entité générique
sont représentées par les entités spécialisées liées à cette entité
générique. On parle de non couverture dans le cas contraire.
EXEMPLE : employe
x x x x
x
x x x x
x xx x
mensuel
vacataire
x x x
x x Autre exemple de couverture : Personne à
l'hôpital
x x x x
Une personne à l'hôpital fait partie du personnel hospitalier ou
Personnel x x Patient
est un patient et parfois fait partie des deux spécialisations.
Hospitalier x x x x x
x x x x
x x x Contre exemple : Non-couverture
Personne
Etudiant
Enseignant
x.x.x x x.x.x
x
x.x 4.1.2 - La disjonction :
cette contrainte permet de savoir si les ensembles représentés par les
entités spécialisées sont des ensembles qui n'ont pas d'éléments communs.
Dans le cas contraire on parle de non disjonction.
EXEMPLE :
Personne
x x x
x x x
x x x x x x x
x x x