Initiation à la conception des systèmes d`informations. Cours N°3
Download
Report
Transcript Initiation à la conception des systèmes d`informations. Cours N°3
Initiation à la conception des
systèmes d'informations.
Cours N°3 :
Modèle Conceptuel de Données
Souheib Baarir
[email protected]
Université Paris Ouest Nanterre la défense.
1
Principes fondamentaux
• Le MCD a pour but d'écrire de façon formelle les données qui
seront utilisées par le système d'information. Il s'agit donc d'une
représentation des données, facilement compréhensible,
permettant de décrire le système d'information à l'aide d'entités.
• Il est à la base de tous les SGBD dits relationnels (Access,
Oracle,DB2…) qui sont les plus utilisés actuellement dans les
entreprises.
• Cet outil va nous permettre de recenser et d’organiser les données
du système d’information du domaine étudié.
• Il permet donc une représentation du “ réel perçu ” sous la forme
de :
ENTITES, ASOOCIATIONS et PROPRIETES.
2
Entité : définition
Est la représentation formelle de la mémorisation d’une
information complexe et cohérente.
Sert à décrire plusieurs occurrences de la même information
complexe.
◦ Exemple :
une Ford fiesta, une Renault Laguna et une Peugeot 306 sont trois occurrences de la
même entité qu’on peut appeler voiture.
Les éléments de l’information (complexe) modélisée par l’entité
sont les propriétés.
◦ Exemple :
Ford, Renaud et Peugeot sont des « marques » ; fiesta, Laguna et 306 sont des
« modèles ». Ainsi, Marque et Modèle peuvent être des propriétés de l’entité
voiture.
Remarque : on l’appel aussi Entité-Type.
3
Entité : propriété
Une propriété est un élément d’une entité, et
d’une seule :
◦ décrit la mémorisation d’une information
élémentaire,
◦ a un nom unique,
◦ permet de mémoriser une valeur,
◦ doit avoir un sens (donc une valeur) pour chacune
des occurrences de la composante
Domaine de valeurs.
Une propriété doit-elle être toujours renseignée ?
4
Entité : identifiant
L’identifiant de l’entité est une propriété qui ne
peut pas prendre deux fois la même valeur dans
deux occurrences de l’entité.
C’est l’identifiant qui fait l’entité.
Attention : tout argument autre que la nécessité
d’un identifiant différent ne saurait en aucun cas
justifier le choix de deux entités plutôt qu’une.
5
Entité : représentation schématique
Etudiant
Identifiant
Identifiant
Propriété
N° étudia nt
Nom étu diant
P rén om étudian t
Adres se étudian t
Etc
6
Entité : occurrences
Pour une valeur de l’identifiant, on a une valeur
de chacune des propriétés.
Deux occurrences de l’entité ne peuvent avoir
la même valeur d’identifiant.
Les domaines de valeurs des propriétés ne sont
pas disjoints.
Etudiant
02 6854 M
DUP ONT
Marti n
Vers ai ll es
Et c
Etudiant
01 7895 E
MA RTIN
Laurent
Cou rb evoi e
Et c
Etudiant
02 6547 Z
MA RTIN
Béat ri ce
Vers ai ll es
Et c
7
Association : introduction
C’est la représentation abstraite de la mémorisation
d’un lien entre des informations complexes
(représentées par des entités).
On appelle collection de l’association l’ensemble
des entités qu’elle relie.
Une occurrence de l’association représente un
lien sémantique qui concerne une occurrence de
chacune des entités de la collection.
8
Association : représentation
schématique
Nom de l’association
Etudiant
N° étudia nt
Nom étu diant
Etc
Formation
Inscriptio n
Code fo rmatio n
Nom formation
Etc
Pattes
Entités de la collection
9
Association : identifiant
Il est implicite !
C’est un n-uplet composé des identifiants
des entités-types concernées.
◦ Exemple : l’identifiant de Inscription est le
couple (N° étudiant, Code formation).
Etudiant
N° étudia nt
Nom étu diant
Etc
Formation
Inscriptio n
Code fo rmatio n
Nom formation
Etc
10
Association : les contraintes de
cardinalité
Une cardinalité est une précision apportée sur une
patte d’une association.
Elle indique combien de fois l’entité peut intervenir
dans l’association.
Pour un MCD, est utile de savoir :
◦ la cardinalité minimale Si une occurrence de l’entité
est obligatoirement concernée par une (au moins)
occurrence de l’association ;
◦ la cardinalité maximale Si une occurrence de l’entité
peut (éventuellement) être concernée par plusieurs
occurrences de l’association.
11
Association : cardinalité minimale
Elle peut prendre deux valeurs :
◦ 0, signifie que l’entité peut ne pas
intervenir dans l’association.
◦ 1, signifie au contraire qu’elle intervient
obligatoirement une fois.
12
Association : cardinalité maximale
Elle peut prendre deux valeurs :
◦ 1, signifie que l’entité ne peut intervenir
plus d’une seule fois dans l’associationtype ;
◦ n, signifie au contraire qu’elle peut
intervenir plusieurs fois dans l’association.
13
Association : c’est le 1 qui représente
la contrainte
Une patte sans contrainte aura
pour cardinalités : (0, n)
Etudiant
N° étudia nt
0,n
Nom étu diant
Etc
Formation
Inscription
0,n
Code fo rmatio n
Nom formation
Etc
14
Association : double contrainte sur
une patte
• La cardinalité minimale indique ce qui est obligatoire,
dans le cas le plus restrictif, i.e., le plus souvent lors de
sa création.
X
N° X
N om X
Et c
Y
0,n
A1
1,1
N° Y
N om Y
Et c
• Sur la patte X, le 0 signifie que X peut ne pas être
reliée à Y lors de sa création.
• Le 1 en minimum de la patte Y signifie qu’en aucun
cas on ne peut créer une occurrence de Y sans la
relier en même temps à une occurrence de X…Cette
dernière doit donc avoir été créée avant !
15
Association : binaire fonctionnelle
Lorsqu’une association-type binaire a une patte
dont la cardinalité maximale est égale à 1,
alors elle est dite fonctionnelle.
N° X = A1 (N° Y)
X
N° X
Nom X
Et c
Y
0,n
A1
1,1
N° Y
Nom Y
Et c
16
Association : combinaisons de
cardinalités possibles
Interdit : (1, 1) / (1, 1)
FAUX
X
N° X
Nom X
Etc
Y
1,1
0,n
A1
1,1
N° Y
Nom Y
Etc
Pourquoi ?
17
Association : combinaisons de
cardinalités possibles (suite)
Interdit : (1, n) / (1, n)
FAUX
X
N° X
Nom X
Etc
Y
1,n
A2
1,n
N° Y
Nom Y
Etc
Pourquoi ?
18
Association : combinaisons de
cardinalités possibles (suite)
Rare et délicat : (1, 1) / (1, n)
X
N° X
Nom X
Etc
Y
1,n
A3
1,1
N° Y
Nom Y
Etc
Signification possible ?
19
Association : combinaisons de
cardinalités possibles (fin)
Rare et délicat : (0, 1) / (1, 1)
X
N° X
Nom X
Etc
Y
0,1
A4
1,1
N° Y
Nom Y
Etc
Significations possibles ?
20
Entités
Premières règles…
Règle 1 Existence d’un identifiant pour chaque entité
Règle 2 Pour chaque occurrence d’une entité, chaque propriété ne peut
prendre qu’une valeur
Règle 3 Toutes les propriétés doivent êtres élémentaires (non
décomposables)
Association
Règle 4 Toutes les propriétés autres que l’identifiant doivent dépendre
pleinement et directement de l’identifiant
Règle 5 A chaque occurrence d’une association correspond une et une
seule occurrence de chaque entité qui participe à la relation
Règle 6 Pour chaque occurrence de l’association, il ne peut exister qu’une
une seule valeur pour chaque propriété de l’association
et
Règle 7 Toutes les propriétés d’une association doivent dépendre pleinement
de l’identifiant de la relation.
21
Le cas des associations ternaire
L’association A6 décrit un lien sémantique entre les
entités X, Y et Z.
X
N° X
Nom X
Etc
Y
0,n
A6
1,n
N° Y
Nom Y
Etc
0,n
Z
N° Z
Nom Z
Etc
Difficile à gérer en pratique !!!
Il faut essayer d’en avoir le moins possible.
22
Association ternaire : dépendance
fonctionnelle
DF
Prof
N°prof
Nom
0,n
Matière
N°mat
0,n
DF: un prof.
Enseigne une
seule matière.
cours
salle, heure
0,n
Classe
N°classe
Prof
N°prof
Nom
1,1
assure
1,n
Matière
N°mat
0,n
cours
salle, heure
0,n
Classe
N°classe
23
Association ternaire : règle absolue
Pour garder une association ternaire (et au-delà)…
Toutes les cardinalités
maximum d’une
association ternaire
(et au-delà) doivent être
égales à n et pas de
dépendance fonctionnelle
24
Compléments et extensions
sur le modèle
entité - association.
25
Association entre occurrences d’une même
entité (1/2)
Artiste
N° a rtis te
Nom artiste
P rén om artis te
Date n aiss ance
Date d écès
0,n
Elèv e de
Maître - élève
0,n
Maître d e
0,n
Titu laire
Rôle
0,n
N° rôle
Nom pers onn age
Distribué
Acteur
N° acteur
Nom acteur
P réno m acteu r
0,n
Dou blu re
26
Association entre occurrences d’une même
entité (2/2)
Toutes les cardinalités minimums doivent
être égales à zéro !
FAUX
Pers onne
N° per sonne
Nom famille
Prénom
1,1
Fils
Fi li atio n
0,n
Père
27
Historisation : problème
Pour un produit, le prix d’achat dépend à la fois
du produit et de la date d’achat.
Fournisseur
N° Fo urnis seur 0,n
Nom Fo urnisseur
Produit
Fo urnir
1,1
N° Produit
Nom prod uit
Des crip tion
0,n
Date
Date
0,n
Date validité PA
P rix d 'ach at
Le modèle devient très vite complexe et incompréhensible !
28
Historisation : solution… historisation de
la propriété
Produit
Fo urnis seur
N° Fournisseur
Nom Fournisseur
0,n
Fo urnir
1,1
N° Produit
Nom produit
Description
Prix d'achat (H)
Historisation
Une propriété à laquelle est attachée une historisation, décrit une information
complexe : c’est un ensemble de couples,
– la donnée définie par le nom de la propriété,
– une donnée temporelle permettant d’en différencier les occurrences
multiples.
29
Identifiant relatif : introduction
X
Z
N° X
N° Z
0,n
1,n
A1
A2
1,1
1,1
Y
N° Y
T
N° T
Cardinalité minimale égale à 1 OBLIGATOIRE
30
Identifiant relatif : définition
E1
N° E1
(R) 1,1
AT
0,n
E2
N° E2
Une entité-type E1 dotée d’un identifiant relatif, est obligatoirement reliée
à une autre entité-type E2, par une association binaire fonctionnelle.
L’identifiant relatif (de E1, N° E1) est une propriété qui,
◦ ne peut prendre la même valeur pour deux occurrences de E1 reliées à la
même occurrence de E2.
◦ Deux occurrences de E1 liées à des occurrences différentes de E2, peuvent avoir la même
valeur pour cette propriété !
L’identifiant de E1 est alors le couple : (identifiant de E2, identifiant relatif de E1)
◦ Cet identifiant ne peut avoir deux fois la même valeur pour deux occurrences de E1,
qu’elles soient ou non reliées à la même occurrence de E2.
◦ Aussi, noté : N° E2∙N° E1.
31
Héritage sur entités : introduction
Client
Es t 1
0,1
1,1
N ° cli ent
0,1
N om cli ent
A dres se cli en t
Personne physique
N ° Pers onne physi que
P réno m
Sexe
Es t 2
1,1
Personne morale
N ° Pers onne m ora le
St at ut
N om res pon sab le
Problèmes :
• trois identifiants,
• risque d’incohérence.
32
Héritage sur entités : utilisation
C l ient
N° c lie nt
Nom c lie nt
Adre sse client
XT
Pers onne physi que
Prénom
Se xe
Pers onne m ora le
Sta tut
Nom responsable
• Les schémas de Personne physique et Personne morale ne
mentionnent pas d’identifiants.
Ce ne sont pas des entités autonomes.
Elles dépendent de l’entité Client dont elles héritent les propriétés (y
compris l’identifiant).
33
Héritage sur entités : définition
L’entité-type dotée d’un héritage est un ensemble complexe.
Nous appelons légataire la composante qui porte l’identifiant,
et héritiers les autres.
L’héritier dépend du légataire, et cette dépendance est représentée par le trait
qui les unit.
Le triangle intermédiaire permet de préciser une condition de validité. Les
conditions possibles sont :
◦ la totalité (représentée par un T) – dans une occurrence de l’entité-type, le légataire
est associé à au moins une occurrence d’héritier ;
◦ L’exclusion (représentée par un X) – dans une occurrence de l’entité-type, le légataire
est associé à un héritier au plus (mais éventuellement à aucun) ;
◦ la partition (représentée par la combinaison XT) – dans une occurrence de l’entitétype, le légataire est associé à une occurrence d’un héritier, et un seul.
34
Contraintes d’Intégrité Fonctionnelle (CIF) :
cas d’une association binaire
Sur association-type binaire :
Client
N° client
Nom client
Adresse client
0,n
Pa ssée pa r
Commande client
1,1
N° commande client
Date réception
35
CIF : cas d’une association non binaire
(contrainte sur toute mes pattes)
Client
Produit
N° client
Nom client
Adresse client
N° Produit
Nom produit
Description
0,n
Comment garantir
l’unicité de l’entrepôt pour
un couple (Client,Produit) ?
0,n
Livré pa r
0,n
Entrepô t
N° Entrepôt
Adresse entrepôt
Client
Produit
N° client
Nom client
Adresse client
N° Produit
Nom produit
Description
0,n
0,n
Livré par
CIF
0,n
Entrepôt
N° Entrepôt
Adresse entrepôt
36
CIF : cas d’une association non binaire (contrainte
ne concernant pas toute les pattes)
Client
Produit
N° client
Nom client
Adresse client
N° Produit
Nom produit
Description
0,n
0,n
CIF
Livré par
A proscrire !!!
0,n
Entrepôt
N° Entrepôt
Adresse entrepôt
Quel devrait être le sens de ce modèle ?
37
CIF : une autre représentation
Client
Produit
N° client
Nom client
Adresse client
N° Produit
Nom produit
Description
Prix d'achat (H)
0,n
Livré
Rel_1
par
0,n
0,n
Entrepô t
N° Entrepôt
Adresse entrepôt
38
Contraintes entre plusieurs associations
Totalité : tout élément de l’ensemble appartient à au
moins un des sous-ensembles – nous la
notons « T ».
Exclusion : si un élément appartient à un sousensemble, alors il n’appartient pas à un
autre (mais il peut n’appartenir à aucun
d’entre eux) – nous la notons « X ».
Égalité : les deux sous-ensembles sont égaux ; elle
permet en fait de décrire la simultanéité de
l’existence des occurrences de deux
associations – nous la notons « S ».
Partition : un élément de l’ensemble appartient à un
et un seul des sous-ensembles – nous la
notons
« XT ».
Inclusion : tout élément du premier sous-ensemble est
élément du second – nous la notons « I ».
39
Contraintes entre plusieurs associations :
exemple de totalité
Concerne 1
Fa cture
0,n
0,n
B on livra is on
N° B on livraison
T
N° Facture
0,n
Concerne 2
0,n
B on répa ration
N° B on réparation
40
Contraintes entre plusieurs associations :
exemple d’exclusion
Concerne 5
0,n
B on livra is on
N° B on livraison
0,n
Fa cture
X
N° Facture
0,n
Concerne 6
0,n
B on répara tion
N° B on réparation
41
Contraintes entre plusieurs associations :
exemple de partition
Concerne 3
0,n
B on livra is on
N° B on livraison
0,1
Fa cture
N° Facture
XT
0,1
Concerne 4
0,n
B on répara tion
N° B on réparation
42
Contraintes entre plusieurs associations :
exemple d’inclusion
Servi pa r
Client
N° client
Nom client
Adresse client
Entrepô t
0,n
0,1
N° Entrepôt
Adresse entrepôt
I
0,n
Produit
Autoris atio n achat
0,n
N° Produit
Nom produit
Description
43