La Modélisation Conceptuelle des Données (MCD)

Transcription

La Modélisation Conceptuelle des Données (MCD)
Chapitre 4
La Modélisation Conceptuelle
des Données (MCD)
BEN MAHMOUD Chaker
http://chaker707.googlepages.com/
[email protected]
Année Universitaire 2008-2009
Le MCD: Objectifs du modèle
• Le MCD décrit les données gérées sans tenir
compte des choix:
– d’organisation, d’automatisation, ou techniques
• Il décrit les choix de gestion en précisant la
signification des invariants, leur structure et
leurs liens
• Il exprime le QUOI sur les données
Le MCD fournit une image invariante du SI
en termes de données
B.MAHMOUD Chaker
MCD
2
1
MCD
• La base de la démarche de construction
d’un M.C.D reste le discours (parlé ou
écrit) de l’utilisateur/client exprimé en
langue naturelle
• Les mots utilisés comprennent les termes
usuels de la langue, mais aussi des termes
spécialisés du domaine
– Les phrases fournissent, après une analyse
grammaticale, les principaux objets et les
associations entre ces objets
B.MAHMOUD Chaker
MCD
3
Dictionnaire des données
• Au fur et à mesure de l’étude, et pour
chaque donnée identifiée, on lui attribue :
– un nom : employé tout au long de l’étude
– son type et son domaine de valeurs
– ses propriétés :
•S’agit-il d’une donnée de base ou d’une
donnée calculée ?
•S’agit-il d’une donnée stable ou non stable
(susceptible d’évoluer dans le temps)
B.MAHMOUD Chaker
MCD
4
2
• Avant d’ajouter une nouvelle donnée, il
convient de se poser les questions
suivantes :
– s’agit-il d’une donnée déjà nommée?
(redondance)
– Cette donnée n’est-elle pas déjà nommée
sous un nom différent ? (synonyme)
Dictionnaire des données
=
liste récapitulative des données
Sans redondances, Sans synonymes
B.MAHMOUD Chaker
MCD
5
MCD : Formalisme
• Outil graphique de dialogue entre informaticien,
gestionnaires et utilisateurs(de manière générale)
• Concepts de base :
– Propriété : nom, prénom, numéro, adresse,..
– Entité : CLIENT, ENTREPRISE,
COMMANDE,..
– Association : un client Passe une commande
B.MAHMOUD Chaker
MCD
6
3
• L’objectif du MCD:
• identifier, décrire (par des informations)
et modéliser les entités et leurs associations
à l’aide d’une représentation graphique
•Discours: un client Passe une commande
Commande
Client
Num_Client (1,n)
Nom_Client
Adresse
B.MAHMOUD Chaker
Passe
(1,1)
Num_Cde
Date_Cde
MCD
7
Modèle Entité-Association
=
Entité-Relation = Objet-Relation
Approche descendante :
Univers du discours Modèle
Dans de nombreux cas, les données sont
regroupées dans des lots = objets ou concepts
du domaine
B.MAHMOUD Chaker
MCD
8
4
• Ex. : à partir du domaine du discours :
– « Le client Ali occupe l ’emplacement C028 du
15/07/2007 au 27/07/2007 »
– « Les emplacements du type caravane sont loués
4 DT par jour »
– « Le client Ali a loué un VTT le 17/07/2001 »
• Dans cet exemple :
– 4 concepts : client, emplacement, équipement, type
d’emplacement
– des verbes qui expriment :
•un rattachement d’une donnée à un concept
•des associations entre concepts
B.MAHMOUD Chaker
MCD
9
Notion de PROPRIETE
• Une propriété=Atome sémantique
élémentaire d’une information manipulée
• Elément descriptif d’une entité ou association;
elle y est obligatoirement rattachée
• Elle est unique dans le modèle
• Elle peut prendre des valeurs:
•Nom de client : Amir, Moncef
•N° Commande: 34, 678, 453
•Montant commande: 34 000DT, 2 300 DT
B.MAHMOUD Chaker
MCD
10
5
• Une propriété se décrit par tout ou partie des
éléments suivants:
•Définition: ce qu’elle représente et son intérêt
dans le contexte
•Nature: quantité, nombre, date, heure,...
•Longueur: nombre de caractères dans la format
• Caractéristiques complémentaires:
•naturelle, calculée
•simple, répétitive
•élémentaire, décomposable
•normée: en interne ou par des organismes
(NCIN,...)
B.MAHMOUD Chaker
MCD
11
•Une propriété possède un code, un libellé
et une définition
•Une propriété a une seule signification
•Si une propriété a plusieurs sens, il faut la
décomposer spécifier plusieurs
propriétés
•Une propriété n’a pas de synonyme
B.MAHMOUD Chaker
MCD
12
6
• La définition d’une propriété est complétée
par la prise en compte des contraintes
éventuelles associées.
• Les contraintes liées aux propriétés
correspondent à des contrôles à assurer pour
vérifier l’intégrité des données et la cohérence
par rapport au S.I
• Les contraintes de valeur = l’ensemble des
valeurs que peut prendre une propriété,
• Les dépendances fonctionnelles
B.MAHMOUD Chaker
MCD
13
Notion d’ENTITE
• Représente un ensemble d’objets de
même nature du domaine d’étude
Voiture 1
Voiture 2
Client1
Voiture 3
client 2
client 3
Voiture i
client i
Voiture n
client n
VOITURE
B.MAHMOUD Chaker
CLIENT
MCD
14
7
• ensemble unique de propriétés liées entre elles
• ensemble d’éléments de même nature appelés
occurrences de l’entité
• qui présente un intérêt pour les besoins de
gestion du système à représenter
• Une occurrence d’une entité est:
• un élément particulier de l’entité
• représentée par l’ensemble des valeurs des propriétés
constituant cette entité
001
Ali
Bardo
Client
Numéro
Nom
Adresse
B.MAHMOUD Chaker
MCD
002
Salah 003
Tunis Imed
Sfax
15
• Une entité doit disposer d’une propriété
particulière qui jouera le rôle d’identifiant de
l’entité;
• Un identifiant définit de manière unique les
occurrences d’une entité
• Exemple : ETUDIANT possède :
– Un numéro, un nom, un prénom, un âge,
– À chaque numéro, correspond une seule valeur
de l’ensemble {nom, prénom, âge,}
– L’identifiant de l’entité ETUDIANT est la
propriété numéro
B.MAHMOUD Chaker
MCD
16
8
ENTITE : Règle d’identification
Plusieurs types d’identifiant:
– Identifiant simple «naturel» (nom d’un
pays) ou «artificiel» (N° client)
– Identifiant composé (N° sécurité sociale)
Un identifiant doit être:
– Uni-valué: 1 occurrence entité ---> 1 valeur
de l’identifiant
– discriminant: 1 valeur de l’identifiant ---> 1
occurrence de l ’entité
– Stable et minimal
B.MAHMOUD Chaker
MCD
17
ENTITE: Règles de vérification
•Une entité a un seul identifiant
•Une entité a au moins une propriété
•Une entité participe a au moins une
association
•A chaque occurrence de l’entité, il
ne peut y avoir au plus qu’une
valeur de la propriété
B.MAHMOUD Chaker
MCD
18
9
NOTION ASSOCIATION
• Une association modélise un ensemble d’associations
de même nature entre 2 ou plusieurs occurrences
d’entités,
• ayant un intérêt significatif pour le système à
représenter
« L’association n’existe qu’à travers les entités qu’elle
relie »
• On désigne en général les associations par des noms
de verbe:
•verbe statique à l’infinitif: appartenir, concerner,..
•la forme active ou passive permet d’orienter la
lecture de l’association
B.MAHMOUD Chaker
MCD
19
Exemple :
Client
Num_Client (1,n)
Nom_Client
Adresse
B.MAHMOUD Chaker
Commande
Passe
MCD
(1,1)
Num_Cde
Date_Cde
20
10
• Une association n’a pas d’identifiant
propre mais ses occurrences sont
identifiées par la concaténation des
identifiants des entités qu’elle relie
• Exemples :
– L’identifiant de l’association Passer est
(Num_Client, Num_Cde)
• Une association peut être porteuse
d’informations: les propriétés, les
cardinalités et les contraintes
B.MAHMOUD Chaker
MCD
21
On distingue différents types d’association:
• les associations binaires : qui associent 2 entités
– Exemple : ENSEIGNANT ----- Enseigner ----- COURS
• les associations n-aires : qui associe plus de 2 entités
– Exemple : ENSEIGNANT ----- Noter ----- ETUDIANT
MATIERE
• les associations réflexives : qui associent les
occurrences d’une même entité
– Exemple :
B.MAHMOUD Chaker
Personne ---- Conjoint
MCD
22
11
ASSOCIATION: Les cardinalités
• La cardinalité caractérise la participation d’une
entité à une association
• Elle représente le nb d’occurrences de l’association
pour chaque occurrence de l’entité
On distingue:
• la cardinalité minimale: donne le nb minimum de
participation de chacune des occurrences de l’entité
à l’association
• la cardinalité maximale: donne le maximum de
chacune des occurrences de l’entité à l’association
B.MAHMOUD Chaker
MCD
23
• Un cours est enseigné par au moins un
enseignant (1,…) ou par plusieurs (…,n)
Enseignant
Num_ens
Nom
Adresse
(0 , n)
Enseigne
Cours
(1 , n)
Num_Cours
Titre_Cours
• Un enseignant peut n’enseigner aucun
cours (0,…), ou plusieurs (…,n)
B.MAHMOUD Chaker
MCD
24
12
• Un client passe au moins une commande
(1,…) ou plusieurs (…,n)
Client
Num_Client
Nom_Client
Adresse
Passe
(1,n)
Commande
(1,1)
Num_Cde
Date_Cde
Une commande est passé par un et un seul client (1,1)
B.MAHMOUD Chaker
MCD
25
Forme Générale
• Forme (1,n) --- (1,1)
Entité 2
Entité 1
Association
(1,n)
B.MAHMOUD Chaker
(1,1)
MCD
26
13
• Forme (0,n) --- (0,1)
Entité 2
Entité 1
Association
(0,n)
B.MAHMOUD Chaker
(0,1)
MCD
27
• Forme (0,n) --- (1,n)
Entité 2
Entité 1
Association
(0,n)
B.MAHMOUD Chaker
(1,n)
MCD
28
14
Exercice
Une agence de location de maisons et d’appartements désire
gérer sa liste de logements. Elle voudrait en effet connaître
l’implantation de chaque logement (nom de la commune et
du quartier) ainsi que les personnes qui les occupent (les
signataires uniquement).
Le loyer dépend d’un logement, mais en fonction de son
type (maison, studio, T1, T2...) l’agence facturera toujours en
plus du loyer la même somme forfaitaire à ses clients. Par
exemple, le prix d’un studio sera toujours égal au prix du
loyer + 20 DT de charges forfaitaires par mois.
Pour chaque logement, on veut disposer également de
l’adresse, de la superficie ainsi que du loyer.
Quant aux individus qui occupent les logements (les
signataires du contrat uniquement), on se contentera de leurs
noms, prénoms, date de naissance et numéro de téléphone.
Pour chaque commune, on désire connaître le nombre
d’habitants ainsi que la distance séparant la commune de
l’agence.
B.MAHMOUD Chaker
MCD
29
Application (2)
Vous êtes chargées d’informatisée un magasin :
• Le Magasin vend des produits a des clients.
• Les produits possèdent une référence (un code), un
libelle et un prix unitaire.
• Les clients ont une identité (nom, prénom, adresse...).
• Les clients passent des commandes de produits. On
mémorise la date de la commande.
• Pour chaque commande, le client précise une adresse
de livraison.
• La commande concerne un certain nbre de produits,
en une quantité spécifiée pour chaque produit.
B.MAHMOUD Chaker
MCD
30
15
Solution :
MCD du Magasin
Clients
Num_clt
Nom
adresse
Code postal
ville
Commandes
(0,n)
Effectue
(1,1)
Num_com
date
Adresse-livr
(1,n)
Produits
(0,n)
Code_prd
Libellé
Prix
B.MAHMOUD Chaker
Contient
Quantité
MCD
31
Les règles de normalisation
• La normalisation constitue un ensemble
de règles introduites dans le modèle
relationnel (MCD :entité, relation) dans
le but de garantir à une base de données
sa cohérence.
• La normalisation est basée sur la notion
de dépendance fonctionnelle.
B.MAHMOUD Chaker
MCD
32
16
Les dépendances fonctionnelles (DF)
• Il existe une DF entre deux entités A et B,
si toute occurrence de A détermine une et
une seule occurrence de B.
• La cardinalité maximale (1) correspond
toujours à une DF,
• Dans ce cas l'association est une DF,
l'orientation du lien entre les entités est
indiqué par une flèche.
B.MAHMOUD Chaker
MCD
33
Exemple :
Client
Num_Client
Nom_Client
Adresse
Commande
(1,n)
Client
Num_Client
Nom_Client
Adresse
B.MAHMOUD Chaker
Passe
(1,1)
Commande
DF
(1,n)
Passe
MCD
Num_Cde
Date_Cde
(1,1)
Num_Cde
Date_Cde
34
17
• Une DF est faible (lien faible) si le couple de
cardinalité est (0,1),
DF
Personne
Num
Nom
(0,n)
Possède
Voiture
(0,1)
Maticule
marque
• Une DF est forte (lien fort) si le couple de
cardinalité est (1,1)
DF
Employé
Num
Nom
(1,1)
B.MAHMOUD Chaker
Affecter
Département
(1,n)
Num_dep
lieu
MCD
35
• Une CIF (Contrainte d'Intégrité Fonctionnelle)
est une DF stable, c'est à dire, une fois le lien
est établi, il ne peut pas être modifié dans le
temps.
• Le couple de cardinalité source doit être
obligatoirement (1,1)
Fils
Num_f
Nom
B.MAHMOUD Chaker
(1,1)
CIF
Père
avoir
Num_p
Nom
MCD
(0,n)
36
18
• Règle de transformation d‘une propriété
type multi-valuée en une Entité
Livre
Référence
Titre
Livre
(1,n)
Référence
Titre
Auteurs
Avoir
(1,n)
Auteur
Id-Auteur
Nom
B.MAHMOUD Chaker
MCD
37
Règle de décomposition du modèle en
utilisant les DFs
• Lorsque des DF sont définies sur une relation
n-aire, une décomposition de cette relation est
envisageable.
• Cette décomposition permettra d'une part de
mieux matérialiser certaines DF, et d'autre
part, rendra les relations plus facilement
interprétables
B.MAHMOUD Chaker
MCD
38
19
Exemple (1): Après décomposition
Client
Client
Num_Client
Nom_Client
Adresse
(0,n)
(0,n)
Num_Client
Nom_Client
Adresse
Produit
(0,n)
Code-prd
Libellé
Produit
CIF
Passe
(1,1)
(0,n) Code-prd
Libellé
Passe
(1,n)
(1,1)
Commande
(0,n)
Contient
Commande
Num_Cde
Date_Cde
Num_Cde
Date_Cde
B.MAHMOUD Chaker
(1,n)
MCD
39
Exemple (2):
Après décomposition
Acteur
Acteur
Num_Acteur
Nom
Num_Acteur
Nom
Théâtre
(1,n)
(0,n)
Nom Thea
Lieu
Théâtre
Jouer
(1,n) Nom Thea
Lieu
(1,n)
Pièce
Nom Pièce
(1,1)
B.MAHMOUD Chaker
Jouer
(1,n)
(0,n)
CIF
(0,n)
Se dérouler
Pièce
Nom Pièce
MCD
(1,1)
40
20
Types et sous-types :
Spécialisation/Généralisation
B.MAHMOUD Chaker
MCD
41
Spécialisation
• Permet de modéliser, dans l’ensemble des occurrences
d’une entité, des sous-ensembles d’occurrences
présentant des spécificités.
• Ces spécificités peuvent porter sur des propriétés, des
relations ou des appellations.
• Exemple :
–
–
–
–
–
Un assuré peut être une entreprise, un particulier
Un assuré a les propriétés N°assuré, Nom, Adresse, type
Un assuré particulier a en plus une profession et un âge
Une entreprise a un N° fiscal et une forme juridique
On distingue trois entités : ASSURE, ENTREPRISE,
PARTICULIER
B.MAHMOUD Chaker
MCD
42
21
Spécialisation Simple :
Représentation graphique
ASSURE
Num_ASS
Nom
Adresse
Est-un
Entreprise
Particulier
Num Fiscal
Forme
Profession
Age
B.MAHMOUD Chaker
MCD
43
• Toute occurrence de PARTICULIER est un
ASSURE
• PARTICULIER est une Sous-entité de ASSURE
• ENTREPRISE est une Sous-entité de ASSURE
• PARTICULIER et ENTREPRISE sont les
spécialisations de ASSURE
• ASSURE est la généralisation de PARTICULIER
et ENTREPRISE
• Les spécialisations ont les caractéristiques de leurs
sur-entités + les leurs
B.MAHMOUD Chaker
MCD
44
22
Spécialisation Multiple :
• On considère la population des étudiants et la
population des salariés
• On s'intéresse aux étudiants qui sont aussi salariés
• Double spécialisation car le sous-type émergera de
deux individus
ETUDIANT
SALARIE
Num-Inscrip
Num-Matricule
Est-un
Est-un
Etudiant Salarié
B.MAHMOUD Chaker
MCD
45
Contraintes sur Spécialisation
• Expriment les participations des occurrences de
l’entité sur- type aux entités sous-types.
• Types de contraintes :
: Exclusivité, un assuré peut être soit entreprise,
soit particulier, soit ni entreprise ni particulier mais
pas les deux à la fois
– T : Totalité, tout assuré est un particulier, une
entreprise, ou les deux.
– XT : Partition, tout assuré est soit une entreprise,
soit un particulier.
–
X
B.MAHMOUD Chaker
MCD
46
23
Exercice
• La bibliothèque universitaire offre à ses adhérents la
possibilité d’emprunter des livres, des périodiques, etc.
• Les adhérents de la BU sont soit des étudiants, soit des
enseignants. Tous les adhérents ont un numéro, un nom, un
prénom, une adresse.
• Un adhérent enseignant a en plus la structure à laquelle il
appartient (un laboratoire, un département, etc.), l’adresse de
son bureau ,
• Un adhérent étudiant a une filière et une année d’études,
• Tous les documents de la bibliothèque ont un numéro, un
titre et un éditeur,
• Les livres ont comme propriétés supplémentaires le nom de
l’auteur, et le nombre de pages,
• Les dictionnaires ont comme propriétés supplémentaires le
nombre de définitions,
• Les périodiques ont comme propriétés supplémentaires le
nombre total d’auteurs.
B.MAHMOUD Chaker
MCD
47
Correction
Adhérant
Num_Adh
Nom
Prenom
Adresse
XT
Etudiant
Filière
An-étude
Document
(0,n)
Emprunter
(0,n)
Date-ret
X
Est-un
Enseignant
Livres
Structure
Adresse-bur
Nom-aut
Nbre-page
B.MAHMOUD Chaker
Num_Doc
Titre
Editeur
MCD
Est-un
Périodique
Dictionnaire
Nbre-Auteur
Nbre-def
48
24
Contraintes inter-associations
• Expriment les conditions entre deux ou
plusieurs associations types :
– contraintes sur la participation d’une entité à
plusieurs associations
Toute personne qui pratique un sport fait partie d'une équipe
Sport
Pratique
(1,n)
Personne
(0,n)
=
Egalité
(1,n)
Sport
Appartient
B.MAHMOUD Chaker
(1,n)
MCD
49
Types des Contraintes
• Contraintes sur la participation d‘une entité
à plusieurs associations
• On distingue quatre types
=
I
X
T
– Égalité
– Inclusion
– Exclusion
– Totalité
B.MAHMOUD Chaker
MCD
50
25
Contraintes Inclusion
• une occurrence de l'entité participant à une
relation, participe obligatoirement à l'autre
occurrence de relation.
• Exemple : Tout étudiant qui effectue un abonnement doit
être inscrit dans une faculté
Faculté
S’Inscrire
(1,n)
Etudiant
(1,1)
I
Inclusion
(1,1)
Transport
Abonner
B.MAHMOUD Chaker
(1,n)
MCD
51
Contraintes Exclusion
• Deux occurrences de l'entité ne peuvent pas
participer simultanément à une même
occurrence de relation.
• Exemple : un Produit peut être acheter chez des fournisseurs
ou fabriquer par les unités de production, mais pas à la fois
acheter et fabriquer
Fournisseur
Acheter
(1,n)
Produit
(1,1)
E Exclusion
(1,1)
Usine
Fabriquer
B.MAHMOUD Chaker
MCD
(1,n)
52
26
Contraintes Totalité
• Toute occurrence de l’entité participe au
moins à l’une des associations.
Exemple : un tout véhicule est au minimum relié soit à un
contrat, soit à un sinistre, soit les deux
Contrat
Signer
(1,n)
Véhicule
(0,1)
T Totalité
(0,n)
Sinistre
Couvrir
B.MAHMOUD Chaker
(1,n)
MCD
53
Contraintes Egalité
• une occurrence de l'entité participant à une
relation, participe obligatoirement à l'autre
occurrence de relation, et réciproquement
Toute personne qui pratique un sport fait partie d'une équipe
Sport
Pratique
(1,n)
Personne
(0,n)
=
Egalité
(1,n)
Sport
Appartient
B.MAHMOUD Chaker
MCD
(1,n)
54
27