Sunteți pe pagina 1din 66

Chapitre I : La modélisation

des Données

Ramzi Trabelsi

1
Plan

 1. Objectifs et principes
 2. Le modèle Entité-Association (E/R)
 3. Passage au relationnel
 4. Conclusion

2
G. Gardarin
1. Objectifs de la Modélisation

 Permettre une meilleure compréhension


 Le monde réel est trop complexes
 Abstraction des aspects cruciaux du problème
 Omission des détails
 Permettre une conception progressive
 Abstractions et raffinements successifs
 Possibilité de prototypage rapide
 Découpage en modules ou packages
 Génération des structures de données (et de
traitements)

3
G. Gardarin
Élaborer un modèle conceptuel

 Isoler les concepts fondamentaux


 Que vont représenter les données de la BD ?
 Découvrir les concepts élémentaires du monde réel
 Décrire les concepts agrégés et les sous-concepts
 Faciliter la visualisation du système
 Diagrammes avec notations simple et précise
 Compréhension visuelle et non seulement
intellectuelle

4
G. Gardarin
Dériver le schéma de la BD

 Schéma
 Définition de tous les types de données de la base et de leurs liens
 Agrégation de données
 Type élémentaire (de base): Entier, Réel, String, ...
 Type complexe (composé): Collection de types élémentaires
 Tuple :
 Exemple: Type Personne (nom: String, Prenom: String, age: Réel)
 Instance ou occurrence Personne("Dupont", "Jules", 20)
 Set :
 Exemple : Voitures {id:String}; Voitures {"75AB75", "1200VV94"}
 Bag, List, ...
 Possibilité d'intégrer des relations entre données (liens)
 Exemple : Personne  Voitures; "Dupont"  "75AB75"

5
G. Gardarin
Modélisation à plusieurs niveaux
Réel

Indépendant du
Modèle modèle de données
Indépendant du
conceptuel SGBD
Médecin effectue Visite

Dépendant du
Modèle modèle de données
Codasyl Relationnel Objet XML
Indépendant du
logique SGBD

Dépendant du
Modèle modèle de données
Oracle MySQL MS.ACESS SQL SERVER
Dépendant du
Physique SGBD

G. Gardarin
Objectifs des méthodes

 Réduire la distance sémantique entre le langage des


utilisateurs et le langage des concepteurs
 meilleure communication entre utilisateurs et concepteurs
 abstraction du réel perçu en termes compréhensibles et visibles
 Regrouper l'analyse des données et des traitements
 meilleure compréhension des choses
 plus grande cohérence entre l'aspect statique et l'aspect dynamique
 Simplification des transformations entre niveau conceptuel et
niveau interne
 implémentation directe éventuelle du schéma conceptuel
 établissement possible de règles de transformations automatisées

7
G. Gardarin
2. Le Modèle Entité – Association (E/R
Model)
 Ensemble de concepts pour modéliser les
données d'une application (d'une entreprise)
 Ensemble de symboles graphiques associés

 Formalisé en 1976 par P. Chen


 Etendu vers E/R généralisé puis vers l'objet

8
G. Gardarin
Exemple de modèle E/R

Produit Client

Fournisseur

9
G. Gardarin
Entité

 Un objet du monde réel qui peut être identifié et


que l'on souhaite représenter
 La classe d'entité correspond à une collection d'entités
décrites par leur type commun (le format)
 L'instance d'entité correspond à un élément particulier
de la classe d'entité (un objet)
 Attention: on dit entité pour les deux ! Comprendre
selon le contexte.
 Il existe généralement plusieurs entités dans une
classe

10
G. Gardarin
Représentation

 Rectangle avec attributs


Voitures Nom
Nveh: Int
Type: String
Marque: String Attribut : Type
Vitesse: Int
Km : Int

 Rectangle avec attributs accrochés (E/R)

Voitures

Nveh Type Marque Vitesse Km

11
G. Gardarin
Exemple d'instance

Voiture
Nveh: 75AB75
Type: Mégane
 Marque: Renault
Vitesse: 120
Km : 54000
Voitures
Nveh: Int
Type: String
Marque: String
Voiture

Vitesse: Int
Km : Int Nveh: 850VV94
Type: 407
Marque: Peugeot
Vitesse: 0
Km : 4000

12
G. Gardarin
Attribut

 Description des propriétés des entités


 Toutes les instances d'une entité ont les mêmes
attributs
 Attribut simple: attribut ayant une valeur d'un type de base
 Attribut composé: attribut constitué d'un groupe d'attributs
 Attribut multi-valué: attribut pouvant avoir plus d'une valeur
 Avec le modèle E/R de base tout attribut est simple
 Avec le modèle E/R étendu, les attributs peuvent
être complexes
 Composés et multi-valués

13
G. Gardarin
Identifiant ou Clé

 Un identifiant aussi appelé clé est un attribut qui permet de


retrouver une instance d'entité unique à tout instant parmi
celles de la classe.
 Exemple: NVeh dans Voitures, NSS dans Personnes
 Un identifiant peut être constitué de plusieurs attributs (clé
composée)
 Exemple:
 [N° , Rue, Ville] pour Maisons
 [Nom, Prénom] pour Personnes

14
G. Gardarin
Association

 Les entités sont reliées ensemble par des


associations
 Entre instances: par exemple 1 véhicule est associé à 1
personne
 Entre classes: abstraction des associations entre instances
 Une association peut avoir des attributs (propriétés)
 Elle peut relier plusieurs entités ensemble
 Il est possible de distinguer le rôle d'une entité (elle
peut en avoir plusieurs)

15
G. Gardarin
Association: quelques définitions

 Association (Association)
 Une relation entre des instances de deux (ou plus) classes
 Lien (Link)
 Une instance d'association
 Rôle (Role)
 Une extrémité d'une association
 Attribut de lien (Link attribute)
 Un attribut de l'association instancié pour chaque lien
 Cardinalité (Multiplicity)
 Le nombre d'instance d'une entité pour chaque instance de l'autre

16
G. Gardarin
Représentation
UML E/R
Personne Voiture
Personne Voiture
Possède Possède
Propriétaire Possédée
Propriétaire Possédée

Date Prix
Date
Prix

17
G. Gardarin
Cardinalité d'une association

18
G. Gardarin
Cardinalité d'une association oPdt1
1
Conserner
oPdt2
Cmd1 o 2
Cmd1 Pdt1 1
oPdt3
Cmd1
3 Pdt2 2
Cmd2 o 1 oPdt4
Cmd2 Pdt3 3
2 5
Cmd2 Pdt5 2 5 oPdt4
Cmd3 o
Cmd2 Pdt7 1
1 oPdt5
Cmd3 Pdt4 5
Cmd4 o oPdt6
Liens Cmd4 Pdt3 1
oPdt7
Cmd4 Pdt4 5
19
G. Gardarin
Cardinalités min et max

 Cardinalité maximum
 Indique le nombre maximum d'instances d'une classe
d'entité participant à une association
 Cardinalité minimum
 Indique le nombre minimum d'instances d'une classe
d'entité participant à une association

20
G. Gardarin
Cardinalité d'une association
Cardinalité minimale

valeur Définition Exemple


Une occurrence de l’entité peut Un produit peut ne pas
0 exister sans participer à l’association être commandé

1 Une occurrence de l’entité participe


Toute commande concerne
au moins une fois à une occurrence
au moins un produit
de l’association

21

G. Gardarin
Cardinalité d'une association
Cardinalité maximale
Valeur Définition Exemple
Une occurrence de l’entité Un employé travaille au plus dans un
1 participe au plus une fois service
N Une occurrence de l’entité peut Une commande peut concerner
participer plusieurs fois plusieurs produits

0,1 Une occurrence participe au moins 0 fois au plus une fois à l’association

1,1 Une occurrence participe exactement une fois à l’association


0,N Une occurrence peut ne pas participer ou participer plusieurs fois
1,N Une occurrence participe au moins une fois voire plusieurs 22

G. Gardarin
Cardinalité d'une association

1,1 TOUTE occurrence de A a un homologue UNIQUE


<-> parmi les occurrence de B et réciproquement

1,1
Toute occurrence de A a au moins un homologue
1, N
parmi les occurrences de B et réciproquement
<->
1,N
0,N UNE occurrence de A peut avoir 0,1,N vis-à vis. UNE
<-> occurrence de B est limitée à 0 ou 1 homologue
0,1
1,N< TOUTE occurrence de A a AU MOINS un
-> homologue. Mais UNE occurrence de B peut ne pas en
0,N avoir, en avoir 1 ou plusieurs.
23
G. Gardarin
Cardinalité d'une association

Personne Habite Adresse

Personne Possède Voiture

Vendeur Vend Produit

24
G. Gardarin
Dimension d’une association

 Le nombre d’entités participant à l’association


 Association binaire : relie deux entités
 Association n-aire: relie n entités
 Association réflexive

25
G. Gardarin
Dimension d'une association

M# Nom …

Pièces I# Nom … Modèle

Composant Composé
Ingé nie ur Suivi

Date Piè ce
Composée_de Rôle

P# De s . …

La plupart des associations sont de degré 2 (binaires)

26
G. Gardarin
Exemple: Association reflexive

Epoux de

Epouse de

27
G. Gardarin
Exemple: Association ternaire

0,N 0,N

0,N

28
G. Gardarin
Modèle ensembliste

29
G. Gardarin
Exemple: Association ternaire

 Simplifier cette relation ternaire

1,N 0,N

1,1

30
G. Gardarin
Activité 1 0,N 0,N

1,1

 Complétez le
modèle E/A 0,N

suivant
0,N
0,N

31
G. Gardarin
Activité 2 : Réservation restau

32
G. Gardarin
Activité 2 : Solution

Client Reserver Table


Clt1 Tayahi
Client Sami 2324345 Clt1 Tbl1 13/08/2014 22:00 Tbl1
Table 5

Clt2 Tlili Ahmed 21212343


CodeClt Clt1 Tbl2 13/08/2014 22:00 Tbl2
NumTbl 3
1,N Reserver 0,N NbplacesTbl
NomClt
Clt3 Day Ines 98567381
PrenomClt Clt2 Tbl1 13/09/2014 21:30 Tbl3 4
Date, Heure
TelClt Nbplaces
Clt3 Tbl3 14/09/2014 22:00 Tbl4 3

Clt3 Tbl4 14/09/2014 22:00

Clt3 Tbl1 16/09/2014 22:00


Et le nombre de places résérvés ???
Et si un client réserve la même table ??

G. Gardarin
Activité 2 : Solution2 Table

NumTbl
0,N NbplacesTbl
Effectuer
NbplacesSurTbl

1,N
Client Reservation

CodeClt Effectuer CodeRes


NomClt 1,N 1,1 Date
PrenomClt Heure
TelClt Nbplaces

G. Gardarin
Activité 3 : Agence de voyages

35
G. Gardarin
On veut réaliser l’informatisation d’une bibliothèque, et ci-dessous les règles à respecter :
La bibliothèque dispose de plusieurs livres qui sont repérés d’une manière unique par leur code
ISBN. On veut mémoriser leurs auteurs, date d’édition et éditeur. Certains livres peuvent être
présents en plusieurs exemplaires dans la bibliothèque. On veut pouvoir mémoriser la valeur de
remplacement de chaque exemplaire (en dinars). Cette valeur pourra être modifiée par le
gestionnaire au fur et à mesure de l’usage d’un exemplaire, par exemple, la valeur de
remplacement d’un nouveau livre est de 50 dinars, après une année elle peut passer à 35
dinars.
Les exemplaires sont rangés dans des armoires et dans l’armoire on trouve plusieurs casiers,
On veut savoir l’emplacement de l’exemplaire dans l’armoire et dans le casier (Exp: Armoire : B
et casier : 25). Les armoires sont définies par un nombre maximal de livres à placer dedans.
En ce qui concerne les emprunteurs, on veut mémoriser pour chacun son nom, prénom,
adresse actuelle et n° de téléphone, ainsi qu’un n° d’ordre unique qui leur est attribué à leur
première inscription. On veut aussi mémoriser leur première date d’inscription. L’inscription est
annuelle ou semestrielle, on veut enregistrer les frais d’inscription qui peuvent varier selon
l’emprunteur (le montant de l’inscription est de 20 dinars en 2017 pour les étudiants). Lors de
l’inscription on enregistre la date de début et la date de fin. Un emprunteur ne pourra emprunter
des livres que s’il a déjà payé les frais d’inscription de la période de l’emprunt.
On veut enfin mémoriser les emprunts. Pour chaque emprunt, il sera mémorisé l’emprunteur, le
livre emprunté, la date d’emprunt et la date retour du livre qui est renseignée lorsque le livre est
rendu. Si le livre est perdu ou détruit, la valeur de remplacement sera demandée à
l’emprunteur.
Un emprunteur peut faire le parrainage de plusieurs autres emprunteurs (ramener de nouveaux 36
G. Gardarin
inscrits) et peut avoir une remise sur son prochain abonnement.
Règles de l’élaboration du MCD

 Un attribut d’une entité ne doit pas être composé.


Exemple->Adresse(255 Rue Essaada Nador
62000).
 Un attribut d’une entité ne doit pas être calculé.
Exemple->Prix total =Quantité commandée * prix
unitaire du produit.
 Une entité doit avoir un identifiant.

37
G. Gardarin
Notion de dépendances fonctionnelles

 Dans un MCD la dépendance fonctionnelle


signifie qu’un élément B dépend
fonctionnellement de A si la connaissance de A
implique la connaissance de B et on note A -> B.
 La DF s’applique dans les cas suivants :
 1- Entre les attributs d’une même entité: il s'agit d'une
DF entre l'identifiant d'une entité et les autres attributs
de l'entité..

38
G. Gardarin
Notion de dépendances fonctionnelles

 La DF s’applique dans les cas suivants :


 2- Entre les attributs de plusieurs entités: il s'agit d'une
DF entre les identifiants des entités participantes à une
association et les attributs de cette dernière.

39
G. Gardarin
Notion de dépendances fonctionnelles

40
G. Gardarin
Modélisation à plusieurs niveaux

Réel

Indépendant du
Modèle modèle de données
Indépendant du
conceptuel SGBD Médecin effectue Visite

Dépendant du
Modèle modèle de données
Codasyl Relationnel Objet XML
Indépendant du
logique SGBD

Dépendant du  Organisation physique des données


Modèle modèle de données
 Structures de stockage des données
Dépendant du
Physique SGBD  Structures accélératrices (index)
41
G. Gardarin
Le modèle relationnel
 Une base de données relationnelle est
constituée d’ un ensemble de tables aussi
appelées relations liées entre elles
 Clé primaire : C’est une propriété de la table.
a connaissance de la valeur de la clé primaire
permet de connaître la valeur des autres
propriétés.
 Clé étrangère: Clé présente dans une table
dont elle n’est pas la clé primaire

Modèle Logique de données 42


G. Gardarin
Clé primaire et étrangère

Client Reservation

CodeClt Effectuer CodeRes


NomClt 1,N 1,1 Date
PrenomClt Nbplaces
TelClt

43
G. Gardarin
Clé primaire et étrangère

CodeR DateRes NbPlaces CodeClt


R1 13/04/2014 9 Cl1 CodeClt NomClt PrenomClt TelClt
R2 15/06/2014 3 Cl2 Cl1 Toumi Khaled 23345358
R3 11/11/2014 2 Cl3 Cl2 Nouri Ahmed 34566445
R4 16/11/2014 1 Cl1 Cl5 Selmi Sami 24343456
Cl6 Beldi Lotfi 46654677
Cl8 Radhi Amina 35445565
Cl9 Loueti Nadi 45457889
Cl3 Soussi Amir 43734342
Cl11 Talbi Riadh 24253767
Cl21 Fayez Sonia 43357679
44
G. Gardarin Cl7 Manai Arij 22324566
Clé primaire et étrangère

Client Reservation

CodeClt Effectuer CodeRes


NomClt 1,N 1,1 Date
PrenomClt Nbplaces
TelClt

 Reservation( CodeRes, DateRes,NbPlacesRes, #CodeClt )


 Client( CodeClt, NomClt, PrenomClt,TelClt )
Clé primaire Clé étrangère

45
G. Gardarin
Types de tables
 Les tables statiques: aucune colonne n’est clé
primaire d’une autre table
 Les tables dynamiques: Il existe au moins une
colonne qui est clé primaire d’une autre table
Table statique Table Dynamique
Client Reservation

CodeClt CodeRes
NomClt Date
PrenomClt Nbplaces
TelClt #CodeClt

Modèle Logique de données 46


G. Gardarin
Passage au MLD relationnel
Traitement des associations :
Tenir compte des cardinalités maximales de chaque association
:

1 et n

Modèle Logique de données 47


G. Gardarin
Passage au MLD
Règle 1 : association binaire
 avec cardinalités maximales : 1 et n
 L’association n’est pas transformée en table .
 L’identifiant de l’entité but (0, n) devient clé
étrangère dans la table source (1,1)

Modèle Logique de données 48


G. Gardarin
Exemple de la règle 1
source but

CREATE TABLE PRODUIT ALTER TABLE PRODUIT


( REFPRODUIT VARCHAR(5) NOT NULL, ADD CONSTRAINT FK_PRODUIT_FOURNISSEUR
NOMPRODUIT VARCHAR(60), FOREIGN KEY NOFOURNISSEUR
NOFOURNISSEUR VARCHAR(5) NOT NULL REFERENCES FOURNISSEUR (NOFOURNISSEUR);
)
Modèle Logique de données 49
G. Gardarin
Exemple de la règle 1

MCD

MLD

NB : Le no de messager n’est pas obligatoirement renseigné dans


COMMANDES
Modèle Logique de données 50
G. Gardarin
Passage au MLD relationnel
Traitement des associations :
Tenir compte des cardinalités maximales de chaque association
:

1 et 1

Modèle Logique de données 51


G. Gardarin
Passage au MLD

 Règle 1 bis : association binaire


 Avec cardinalités maximales : 1 et 1
 La cardinalité 1,1 est une contrainte plus forte que
la cardinalité 0,1
 L’ identifiant de l’entité but du lien 1,1 devient clé
étrangère dans la table issue de l’entité source.

Modèle Logique de données 52


G. Gardarin
Exemple de la règle 1 bis

MCD

MLD

Modèle Logique de données 53


G. Gardarin
Règle 1
Pour chaque occurrence, 1 valeur à mémoriser 
une propriété suffit

Modèle Logique de données 54


G. Gardarin
Passage au MLD relationnel
 Traitement des associations
Tenir compte des cardinalités maximales de chaque association
:

n et n

Modèle Logique de données 55


G. Gardarin
Passage au MLD relationnel
 Règle 2 : association binaire
 avec cardinalités maximales : n et n, non porteuses de
données
 L’association est traduite en table avec pour clé
primaire, la concaténation des identifiants des entités
reliées par l’association
 Cette table contient deux clés étrangères

Modèle Logique de données 56


G. Gardarin
Passage au MLD relationnel
 Exemple de la règle 2 :

MCD

MLD

Modèle Logique de données 57


G. Gardarin
Passage au MLD
 Règle 2 bis : association binaire
 avec cardinalités maximales : n et n porteuses de
données
 L’association est traduite en table avec pour clé
primaire , la concaténation des identifiants des entités
reliées.
 Cette table contient deux clés étrangères et les
propriétés portées par l’association.

Modèle Logique de données 58


G. Gardarin
Exemple de la règle 2

MCD Conserne Existe

MLD

Modèle Logique de données 59


G. Gardarin
Passage au MLD
 Règle 3 : une association ternaire et plus
de cardinalités 0,n- 0,n – 0,n –
 L’association est traduite par une table ayant pour clé
primaire
 La concaténation des clés étrangères provenant des
entités participant à l’association.

Modèle Logique de données 60


G. Gardarin
Exemple de la règle 3
MCD MLD

Modèle Logique de données 61


G. Gardarin
Association réflexive
S1 S2 S5 S6
Salarier 0,1 Epoux de

CodeSal S8 S9 S3 S11
Marier
SexeSal
NomSal
PrenomSal S7 S21
0,1 Epouse de
CodeSal SexeSal NomSal PrenomSal Code_Epoux
S1 M Toumi Khaled
Salarier
S2 M Nouri Ahmed
CodeSal S5 M Selmi Sami
SexeSal S6 M Beldi Lotfi
NomSal S8 F Radhi Amina S1
PrenomSal
S9 F Loueti Nadi
#Code_Epoux
S3 M Soussi Amir
S11 M Talbi Riadh
S21 F Fayez Sonia S11
62
G. Gardarin S7 F Manai Arij
Association réflexive
Pièce 0,N Est Composé de

CodeP Composer
NomP
CouleurP
QuantitéP
0,1 Est Composant de
CodeP NomP CouleurP QuantitéP Code_Composant
P5 Piece P5 Toumi 6
Pièce
P3 Pièce P3 Nouri 12 P5
CodeP P23 Pièce 23 Selmi 6 P8
NomP P51 Pièce 51 Beldi 14 P8
CouleurP P93 Pièce 93 Radhi 15 P3
QuantitéP P93
P63 Pièce 63 Loueti 7
#Code_composant
P6 Pièce 6 Soussi 8 P3
P11 Pièce 11 Talbi 9 P4
P4 Pièce 4 Fayez 3 P5
63
G. Gardarin P8 Pièce 8 Manai 1 P5
Association réflexive
Pièce 0,N Est Composé de

CodeP Composer
NomP
CouleurP Code_composant Code_Composé
QuantitéP
0,N Est Composant de P5 P3
P5 P23
P5 P3
Pièce Composer P5 P4
P8 P51
CodeP #Code_composant
NomP #Code_composé P8 P23
CouleurP P3 P93
QuantitéP P3 P6
P4 P6
P4 P11
P93 P63
64
G. Gardarin
Passage au MLD

On convient de ne pas créer les tables


comportant comme unique propriété son
identifiant.

Exemple : la table DATE ………..

Et qui voudrait la remplir à chaque réveillon ?

Modèle Logique de données 65


G. Gardarin
Du MLD au Modèle Physique
Si le modèle physique de données est
conforme au modèle logique relationnel, on est
sûr de ne pas avoir de soucis de redondance
d’informations. Les traitements en seront
simplifiés.
On garde cette garantie en STS1
Le modèle physique de données peut être
dénormalisé (dans les règles !!) s’il est
nécessaire d’optimiser certains traitements.

Modèle Logique de données 66


G. Gardarin

S-ar putea să vă placă și