Vous êtes sur la page 1sur 43

2.

MODÈLE E-A ÉTENDU: MCD (MODÈLE


CONCEPTUEL DES DONNÉES) DE MERISE

Héritage
Contraintes intra-relations (CIF)

Règles d’une bonne modélisation

Construction d’un MCD Selon la méthode Merise


53
Construction du
Héritage Contraintes Intra-relations (CIF) Règles d’une bonne modélisation
MCD

Héritage
• S’impose dans 2 cas :
– Spécialisation : permet de modéliser dans l'ensemble des occurrences
d'une entité, des sous-ensembles (appelées entités sous-types) présentant
des spécificités.

– Généralisation : ayant identifié 2 entités fortement similaires on crée une


entité qui factorise/réifie les propriétés communes.
Entité générique B
Liste des propriétés
communes

relation is-a
Entité spécialisée A Ou est-un

Liste des propriétés


spécifiques 54
Construction du
Héritage Contraintes Intra-relations (CIF) Règles d’une bonne modélisation
MCD

Héritage (2)
• Spécialisation
– L’entité sous-type hérite de toutes les propriétés de l’entité sur-type y compris
de son identifiant

ASSURE
numeroAssure
Nom
adresse

PARTICULIER ENTREPRISE
Profession
âge n°SIREN
Forme_juridique 55
Construction du
Héritage Contraintes Intra-relations (CIF) Règles d’une bonne modélisation
MCD

Héritage (3)
• Généralisation
– Les entités sous-types préexistent
– Leur identification est indépendante de celle de l'entité sur-type
– Généralisation= mise en facteurs communs de propriétés
– Processus de perception qui va du particulier au général
TIERS
numTiers
raison sociale
Adresse_administrative

CLIENT
FOURNISSEUR

numFournisseur
numClient
adresseLivraison
délai de livraison

56
Construction du
Héritage Contraintes Intra-relations (CIF) Règles d’une bonne modélisation
MCD

Contraintes intra-relations (CIF)

• Relation binaire

Une voiture n’appartient qu’à une personne

Soit: voiture  personne

Une Contrainte d'Intégrité Fonctionnelle (en abrégé : CIF) se définit par le fait que
l'une des entités participant à l'association est complètement déterminée par la
connaissance d'une ou plusieurs autres entités participant dans cette même
association.

Représentation
flèche
appartenir
VOITURE PERSONNE
..,1 ..,…. 57
Construction du
Héritage Contraintes Intra-relations (CIF) Règles d’une bonne modélisation
MCD

CIF sur une relation binaire

• Représentation graphique des CIF (contraintes d'intégrité fonctionnelles):

CIF

ENTITE1
0,n ENTITE2
1,1 relation

Entité émettrice Entité cible


de la contrainte de la contrainte
• Exprime qu'à partir d'une occurrence d'une entité, lui correspond (au plus)
une seule occurrence de l'autre entité.

– La cardinalité maximum=1
– et l'existence d'une dépendance. Ces relations seront couramment
appelées relations binaires fonctionnelles.
58
Construction du
Héritage Contraintes Intra-relations (CIF) Règles d’une bonne modélisation
MCD

CIF sur une relation binaire (2)


• Exemple :
– 1 membre du personnel est affecté à 1 seul établissement (affecter ne renvoie
qu'une valeur)
– La flèche traduit ici une dépendance de Personnel envers Etablissement
– La flèche n'indique donc pas un sens de lecture mais le sens de la dépendance

Etablissement Personnel
0,n IdPersonnel
IdEtablissement affecter 1,1
nomE nomP
villeE prenomP
adresseP

59
Construction du
Héritage Contraintes Intra-relations (CIF) Règles d’une bonne modélisation
MCD

CIF sur une relation n-aire


• CIF n'englobant pas la totalité de la collection:
– Un cours ne peut avoir lieu que dans une seule salle
– C  S avec (c)  (s)
– L’enseignant n’étant pas compris dans cette contrainte peut faire plusieurs cours
dans la même salle …
– … ou pas : 2 cours dans 2 salles différentes
– Mais dans tous les cas 1 seule salle pour 1 cours

COURS CIF

ENSEIGNANT 0,n

SALLE
0,n Faire cours 0,n
60
Construction du
Héritage Contraintes Intra-relations (CIF) Règles d’une bonne modélisation
MCD

CIF sur une relation n-aire (2)

• CIF n'englobant pas la totalité de la collection (suite):


– L’affectation de la salle est indépendante de l’enseignant …
– On peut décomposer « faire cours » en "assurer le cours" et « trouver une
salle » pour le cours
Réduire la dimension des relations et les rendre plus facilement
interprétables

1,1 affecter
COURS

0,n
ENSEIGNANT 0,n

SALLE
0,n assurer
Faire cours

61
Construction du
Héritage Contraintes Intra-relations (CIF) Règles d’une bonne modélisation
MCD

CIF sur une relation n-aire (3)


• CIF englobant la totalité de la collection:
– Un enseignant ne fait 1 cours que dans une seule salle
– En d’autres termes à 1 (enseignant,cours) ne correspond qu’une seule salle
– Mais :
• Un enseignant peut faire 2 cours différents dans des salles différentes
• 2 enseignants peuvent faire le même cours dans 2 salles différentes
COURS
ENSEIGNANT

0,n

0,n
Faire cours

0,n

SALLE
62
Construction du
Héritage Contraintes Intra-relations (CIF) Règles d’une bonne modélisation
MCD

CIF sur une relation n-aire (4)

• Traduction Fonctionnelle : Dans le cadre de la relation faire_cours:


– Enseignant x Cours  Salle
– (e, c) (s)
• Donc je ne puis avoir (e, c, s) & (e, c, s’) vrais simultanément
• (e,c) ne doit être associé qu’à 1 seul s

COURS
CIF

ENSEIGNANT 0,n

SALLE
0,n Faire cours 0,n
63
Construction du
Héritage Contraintes Intra-relations (CIF) Règles d’une bonne modélisation
MCD

CIF sur une relation n-aire (4)

• Traduction Fonctionnelle : Dans le cadre de la relation faire_cours:


– Enseignant x Cours  Salle
– (e, c) (s)
• Donc je ne puis avoir (e, c, s) & (e, c, s’) vrais simultanément
• (e,c) ne doit être associé qu’à 1 seul s

COURS

ENSEIGNANT 0,n

SALLE
0,n Faire cours 0,n
64
Construction du
Héritage Contraintes Intra-relations (CIF) Règles d’une bonne modélisation
MCD

CIF sur une relation n-aire (5)

• Recourir à la notion d’agrégat

Un enseignant ne fait 1 cours que dans une seule salle

ENSEIGNANT assurer 0,n


COURS
0,n codeCours
idEnseignant

1,1
affecter

0,n

SALLE
numSalle
• « L'identifiant » de l'agrégat est composé des identifiants des deux entités 65
de l'agrégat.
Construction du
Héritage Contraintes Intra-relations (CIF) Règles d’une bonne modélisation
MCD

Règles d’une bonne modélisation


• Un schéma E/A (ou entité-relation) doit
suivre quelques règles

• Règles à appliquer aux:


– Entités, associations
– Nom
– Identifiants
– Attributs

66
Construction du
Héritage Contraintes Intra-relations (CIF) Règles d’une bonne modélisation
MCD

Fusion des entités

• Fusionner (ou factoriser) les entités quand c’est possible

GENERALISTE DENTISTE OPHTALMOLOGUE


MEDECIN
idGeneraliste idDentiste idOphtalmo
NomG NomD NomO idMedecin
PrenomG PrenomD PrenomO Nom
AdresseG AdresseD AdresseO Prenom
Adresse
spécialité
Fusionner

67
Construction du
Héritage Contraintes Intra-relations (CIF) Règles d’une bonne modélisation
MCD

Choix du nom

• Nom d’une entité, association ou attribut doit être


unique
– Exemple

CLIENT 0,n Correspondre 1,1 FACTURE

idClient idFacture
nom Date
adresseFacturation adresseFacturation
redondance

• Nom des entités au singulier


68
Construction du
Héritage Contraintes Intra-relations (CIF) Règles d’une bonne modélisation
MCD

Choix des identifiants


• Chaque entité possède un identifiant (future clé
primaire)

• Quelques conseils:
– Eviter les identifiants composés de plusieurs attributs

– Préférer un identifiant court de type Entier

– Eviter par exemple les chaînes de caractères comme le


numéro de sécurité sociale ou la plaque
d’immatriculation

69
Construction du
Héritage Contraintes Intra-relations (CIF) Règles d’une bonne modélisation
MCD

Attributs d’association
• Les attributs d’association doivent dépendre directement
des identifiants de toutes les entités mise en relation par
l'association.
– Du coup : beaucoup d'associations sans attributs.

 Si le(s) attribut(s) d'une association sans lien avec tous les


identifiants alors créer une nouvelle entité avec ce(s)
attribut(s) ou déplacer ces attributs dans les entités.

70
Construction du
Héritage Contraintes Intra-relations (CIF) Règles d’une bonne modélisation
MCD

Suppression/fusion des associations

• Supprimer les associations: association binaire dont toutes les


cardinalités sont 1,1.

FOURNISSEUR
1,1 CONTACT
1,1
idFournisseur
idContact
nomFournisseur
Travaille chez nomContact
adresseFournisseur
numContact

FOURNISSEUR
idFournisseur
nomFournisseur
adresseFournisseur
nomContact
numContact
71
Construction du
Héritage Contraintes Intra-relations (CIF) Règles d’une bonne modélisation
MCD

Suppression/fusion des associations (2)

• Éviter les associations redondantes


Redondance
Le client ayant effectué un règlement
peut toujours être retrouvé en passant
Par la facture correspondante

72
Construction du
Héritage Contraintes Intra-relations (CIF) Règles d’une bonne modélisation
MCD

Etablissement du MCD

• Définir votre dictionnaire des données

• Définir les règles de gestion  Mise à jour du dictionnaire des données

• Modéliser les entités qui apparaissent le plus naturellement ou regrouper les


propriétés en sous-ensembles

• Affecter un identifiant aux entités modélisées

• Etablir les associations entre les entités en fonction des règles de gestion

• Préciser les cardinalités en fonction des règles de gestion qui ont été établies

• Rechercher les éventuelles CIF et effectuer si possible les décompositions

• Relire régulièrement et globalement le modèle processus itératif

73
Construction du
Héritage Contraintes Intra-relations (CIF) Règles d’une bonne modélisation
MCD

Dictionnaire des données


Nom Définition Type Longueur Contrainte ou Exemples
règle de calcul

adrEtudiant Adresse d’un étudiant AN 80 N°rue+rue+ 150 rue de


codePostal+vil Rome
le 13001
Marseille
Matière matière enseignée A 20 Anglais

NbHeures nombred'heures d'une N 2 entier > 0


matière pour une
classe par semaine

74
Construction du
Héritage Contraintes Intra-relations (CIF) Règles d’une bonne modélisation
MCD

Règles de gestion
• RG1 : A chaque classe est attribuée une et une seule salle de cours.

• RG2 : Pour chaque classe et chaque matière est défini un nombre fixe
d'heures de cours par semaine.

• RG3 : Chaque étudiant fait partie d'une et une seule classe.

• RG4 : A chaque étudiant est attribuée une et une seule note par
matière.

• RG5 : Une matière peut être enseigner par plusieurs professeurs.

• RG6 : Un professeur peut enseigner plusieurs matières.

75
4.LE MODÈLE RELATIONNEL DES
DONNÉES

• Transformation des entités


• Transformation des associations: un à plusieurs (1:N), un à
un (1:1) et plusieurs à plusieurs (N:N)

76
Transformation Transformation des Transformation des Transformation des
Règles pour l’héritage
des entités associations (1:N) associations (1:1) associations (N:N)

présentation
• Représente la base de données comme un ensemble de tables, sans
préjuger de la façon dont les informations sont stockées.

• De manière informelle
– Les données seront organisées sous forme de tables à 2 dimensions
appelées relations
– Les données seront manipulées par des opérateurs de l’algèbre
relationnelle.
– État cohérent de la base sera défini par un ensemble de contraintes
d’intégrité

77
Transformation Transformation des Transformation des Transformation des
Règles pour l’héritage
des entités associations (1:N) associations (1:1) associations (N:N)

Passage du modèle conceptuel au modèle relationnel

• Passage automatique en appliquant un certain nombre de règles.

• Ensemble de règles:

– Règle 1: Chaque entité donne naissance à une relation. Chaque attribut de


l’entité devient un attribut de la relation. L’identifiant devient une clé de la
relation

– Règle 2,3,4,5,6: transformation des associations

78
Transformation Transformation des Transformation des Transformation des
Règles pour l’héritage
des entités associations (1:N) associations (1:1) associations (N:N)

Règle 1: transformation des entités

• Entité une table distincte

• Le ou les Identifiant(s)  clé primaire de la table

• Attributs  nom de colonne de la table

ENTITE
ENTITE (identifiant, attribut 1, attribut2)
identifiant
attribut 1
attribut 2

79
Transformation Transformation des Transformation des Transformation des
Règles pour l’héritage
des entités associations (1:N) associations (1:1) associations (N:N)

Règle 2: Association binaire (X..1)(Y..N)

La table correspondant à l’entité de cardinalité 0 : 1 ou 1 : 1 récupère comme


attributs le ou les identifiants des autres entités participant à l’association

Entité-Association

PERSONNE MAISON
0,n POSSEDER 1,1
idPersonne adresseM
nom Date_construction
prénom surface

Devient clé étrangère

Modèle relationnel:
•Table PERSONNE (idPersonne, nom, prénom)
•Table MAISON (adresseM, #idPersonne, date_construction, surface)

Si X=1, alors le nouvel attribut ajouté doit être non NULL


80
Transformation Transformation des Transformation des Transformation des
Règles pour l’héritage
des entités associations (1:N) associations (1:1) associations (N:N)

Règle 3: Association binaire de type 1,1et 0,1

• Quand deux entités sont reliées une association binaire de type 1,1 on
peut placer la clé étrangère de n’importe quel côté et elle se voit
imposer une contrainte d'unicité, et ne doit jamais être NULL.

• Si les associations fantômes ont été enlevées (de type 1,1) , il doit y
avoir une cardinalité 0,1 d'un coté : c'est de l'autre coté que doit être
ajoutée la clé étrangère.

• Si les 2 cotés sont 0,1, alors l'emplacement de la clé étrangère est


indifférent.

• Réfléchir à la fusion des tables.

81
Transformation Transformation des Transformation des Transformation des
Règles pour l’héritage
des entités associations (1:N) associations (1:1) associations (N:N)

Règle 3 (2): Association binaire (0..1)(1..1)

On duplique la clé de la table basée sur l'entité à cardinalité (0,1) dans la table basée sur
l'entité à cardinalité (1,1).

Entité-association
CARTE MEMBRE
CLIENT disposer 1,1
0,1 No Carte
No_Client Type_abonnement
nom Date_création
prénom

Modèle Relationnel:

Client (No_Client, Nom, Prenom)


Carte Membre (No_Carte, Type_abonnement, date_creation, #No_Client)
Clé étrangère
82
Transformation Transformation des Transformation des Transformation des
Règles pour l’héritage
des entités associations (1:N) associations (1:1) associations (N:N)

Règle 3 (3): Association binaire (0,1) (0,1)

Entité-association
ENTREPRISE
SALARIE Est directeur 0,1
0,1 no Entreprise
no_Salarié nomE
nomS adresse_siège
prénomS

On duplique la clé d'une des tables dans l'autre

Modèle Relationnel:

SALARIE(no Salarié, nomS, prénomS, #no_Entreprise)


OU
ENTREPRISE(no Entreprise, nomE, adresse_siège, #no_Salarié)
83
Transformation Transformation des Transformation des Transformation des
Règles pour l’héritage
des entités associations (1:N) associations (1:1) associations (N:N)

Règle 4: Association binaire (X..N)(Y..N)

• L’association devient une table


• Les identifiants des entités participant à l’association sont ajoutés comme clé
primaire de la table (clé composée)

Entité-association
ENTITE2
ENTITE1 0,n
0,n association
idE2
idE1 attribut1
attr2
attr1 attribut2

Modèle Relationnel:
ENTITE1(idE1, attr1)
ENTITE2(idE2, attr2)
Association (#idE1, #idE2, attribut1, attribut2)
84
Transformation Transformation des Transformation des Transformation des
Règles pour l’héritage
des entités associations (1:N) associations (1:1) associations (N:N)

Règle 5: Association N-aire

• Pour transformer une association n-aire, quelles que soient les


cardinalités, il y’ a création d'une table supplémentaire ayant comme
clé primaire la concaténation des identifiants des entités participant à
la relation.

• Si l'association est porteuse de données (d'attributs), celles-ci


deviennent des colonnes de la nouvelle table.

85
Transformation Transformation des Transformation des Transformation des
Règles pour l’héritage
des entités associations (1:N) associations (1:1) associations (N:N)

Règle 5 (2): Association N-aire


Entité-association

MAISON ENTREPRISE
0,n REALISER 0,n
coordonnées n°entreprise
date
date_construction montant nomE
surface adresseE
0,n

TYPE_TRAVAUX
n°type travaux
désignation
Modèle Relationnel:
MAISON( coordonnées, date_construction, surface)
TYPE_TRAVAUX (n°type_travaux, designation)
ENTREPRISE (n°entreprise, nomE, adresseE)

REALISER (#n°entreprise, #coordonnées, #n°type_travaux, date, montant)

Clé composée des identifiants des diverses entités


reliées par la relation considérée 86
Transformation Transformation des Transformation des Transformation des
Règles pour l’héritage
des entités associations (1:N) associations (1:1) associations (N:N)

Règle 5 (3): CIF sur une relation n-aire


Un enseignant ne fait 1 cours que dans une seule salle

ENSEIGNANT assurer 0,n


COURS
0,n
idEnseignant codeCours
nomEnseignant libelle

1,1
affecter
SALLE
0,n numSalle
Modèle Relationnel:
ENSEIGNANT(idEnseignant, nomEnseignant)
COURS (codeCours, libelle)
SALLE (numSalle)

ASSURER (#idEnseignant, #codeCours, #numSalle)

• « L'identifiant » de l'agrégat est composé des identifiants des deux entités 87


de l'agrégat
Transformation Transformation des Transformation des Transformation des
Règles pour l’héritage
des entités associations (1:N) associations (1:1) associations (N:N)

Élimination de certaines relations

Entité-association
ELEVE MATIERE
0,n Aobtenu 0,n
nomEleve LibelleMat
note
adresse responsable
0,n

DATE
date
Modèle relationnel

ELEVE (nomEleve , adresse)


MATIERE (libelleMat, responsable)
Aobtenu (nomEleve, libelleMat,date, note)

Toute relation ne contenant que des attributs clefs et qui a été obtenue par la traduction
d'une entité qui ne participe qu'à des relations avec une cardinalité minimale égale à 0
peut être éliminée si la perte du domaine de valeurs qu'elle traduit est sans importance.
88
Transformation Transformation des Transformation des Transformation des
Règles pour l’héritage
des entités associations (1:N) associations (1:1) associations (N:N)

Spécialisation: Solution1
Entité-association Modèle relationnel
PERSONNE Migration de l'identifiant du surtype PERSONNE
n° personne dans les sous types n° personne
nom nom
âge âge
héritage
héritage

ETUDIANT ETUDIANT
ENSEIGNANT ENSEIGNANT
n°personne
niveau grade niveau n°personne
grade

PERSONNE ( n°personne, nom,âge)


 Respecte la logique.
ETUDIANT (n°personne, niveau)
Manipulation des clés
ENSEIGNANT (n°personne, grade)

Solution à privilégier lorsque chaque entité comporte beaucoup d’attributs 89


Transformation Transformation des Transformation des Transformation des
Règles pour l’héritage
des entités associations (1:N) associations (1:1) associations (N:N)

Spécialisation: Solution 2
Solution 2: Duplication des attributs du surtype dans les sous types associés

Entité-association PERSONNE
n° personne
nom
âge

ETUDIANT
ENSEIGNANT

niveau grade

Modèle relationnel
PERSONNE ( n°personne, nom,âge)
ETUDIANT (n°personne, niveau, nom, âge)
ENSEIGNANT (n°personne, grade, nom, âge)

 Respecte la logique
 Gestion des duplicats 90
=> Utilisation de Triggers pour propager les modifications d’une entité à une autre.
Transformation Transformation des Transformation des Transformation des
Règles pour l’héritage
des entités associations (1:N) associations (1:1) associations (N:N)

Spécialisation: Solution 3
• Solution 3: On duplique la totalité du contenu du surtype dans
les sous types associés et on supprime le surtype
Modèle relationnel
PERSONNE
n° personne
nom
âge
héritage
héritage

ETUDIANT ENSEIGNANT
n°personne
niveau n°personne
nom grade
âge nom
âge

ETUDIANT (n°personne, niveau, nom, âge)  Simplifie la traduction


ENSEIGNANT (n°personne, grade, nom, âge) Redondance des données
91
Transformation Transformation des Transformation des Transformation des
Règles pour l’héritage
des entités associations (1:N) associations (1:1) associations (N:N)

Spécialisation: Solution 4

• Solution 4: Fusion de toutes les informations et ajout d’une


propriété pour identifier le type.
Modèle relationnel
PERSONNE
n°personne
nom
âge
niveau
grade
type_personne

 Simplifie la traduction.
 Nécessite de gérer le fait que des attributs peuvent être nuls.

Solution utilisable quand les entités spécialisées ne comportent pas beaucoup d’attributs
92
Transformation Transformation des Transformation des Transformation des
Règles pour l’héritage
des entités associations (1:N) associations (1:1) associations (N:N)

Généralisation TIERS
Entité-association n° tiers
raison sociale
adresse_administrative

CLIENT
FOURNISSEUR
n° client
adresse Livraison
n° fournisseur
délai de livraison

– Dans la généralisation, les sous-types ont leurs propres identifiants

Modèle relationnel

TIERS (n°tiers, raison sociale, adresse_administrative)


CLIENT (n°client, adresseLivraison, #n°tiers)
FOURNISSEUR (n°fournisseur, délai de livraison, #n°tiers)
93
 Création d’une clé étrangère (UNIQUE) dans les entités sous types
Transformation Transformation des Transformation des Transformation des
Règles pour l’héritage
des entités associations (1:N) associations (1:1) associations (N:N)

Exemple du mini monde


supervisé
EMPLOYE
0,n 0,1
SERVICE 1,1 dirige
NumSS
numeroService
nomEmploye
nomService
adresse
1,n Travaille salaire
superviser
pour 1,1 sexe
1,n
dateN
0,n

superviseur
controle
1,n

1,1

PROJET Travaille sur

Volume
numeroProjet 1,n
nomProjet
duree

94
Transformation Transformation des Transformation des Transformation des
Règles pour l’héritage
des entités associations (1:N) associations (1:1) associations (N:N)

Que retenir?
• Schéma de base de données est obtenu à partir du MCD en 2 phases:

– Traduction du schéma en structures de tables


– Puis expression de ces structures en SQL DDL (Data Definition Language).

• Règles de production des structures en tables:

 Une entité est représentée par une table


 Un attribut est représenté par une colonne
 Une association (1:N) est représentée par une clé étrangère
 Une association (1:1) est représentée par une clé étrangère identifiante
 Une association (N:N) est représentée par une table associative incluant les
2 clés étrangères
 Les identifiants composés d’attributs sont traduits en identifiants de table
composés des colonnes correspondantes
 Les noms sont modifiés pour respecter les conventions syntaxiques d’SQL.
 Un index est créé pour chaque identifiant et pour chaque clé étrangère
95

Vous aimerez peut-être aussi