Vous êtes sur la page 1sur 48

06/04/2015

Universit Hassan 1er Facult des Sciences et Techniques


Dpartement Technique
Filire Ingnieur GI GLT

BASE DE DONNEES

Wafa DACHRY
wafaa.dachry@gmail.com

Anne universitaire: 2014 - 2015

Avant de commencer!
Vous tes ?
Nom/Prnom
Profil
Vos attentes?

06/04/2015

Prrequis & organisation du cours


Prrequis : Aucun
Organisation :
36h de cours
12h de TD
8h de TP (2 groupes)
Des sances de 4h
valuation :
Participation & assiduit : 10%
Devoir + TP : 20 %
Projet : 30%
Examen final : 40%

Prrequis & organisation du cours


Projet :
Le projet sera fait en binme, dans le cas dun thme plus large
en trinme
Lquipe doit bien dispatcher les tches entre elle
Des suivis projet seront prvus au cours des sessions
Le projet sera prsent en fin de cours par toute lquipe, un CD
doit tre galement rendus avec la prsentation PPT, le miniprojet et ventuellement tout document ncessaire.
NB : des pnalits seront appliques pour :
Tout retard de suivi
Projet non prsent la date prvue : lquipe se verra octroyer la
note 0

06/04/2015

Structure du cours
Le cours sera compos de deux grandes parties :
Analyse

Partie thorique
Modle de donnes et Modle relationnel : Concepts
gnraux
de
BD,
formalisme
de
MERISE
(Entit/Association), rgles de passage au MR, etc.

Conception

Implmentation

Partie pratique
Systme de gestion de base de donnes :
implmentation de la BD sur un SGBD. Langage SQL en
abordant les notions de cration, d'insertion, de mise
jour, de suppression
5

Objectifs
A la fin de ce cours, le participant doit matriser:
Le concept des bases de donnes et SGBD
Les tapes de conception dune base de donnes, en laborant
les modles ncessaires
Limplmentation physique dune BD sur un SGBD
La structure du langage SQL

06/04/2015

Sommaire
Introduction
Modle entit/association
Modle relationnel
Modle physique
Cas particuliers du MCD
Contraintes sur les associations
Bonnes pratiques

06/04/2015

Introduction

Conception des BD

Quest ce quune donne ?


Une donne est une information quelconque. Par exemple voici
une machine de production, son numro de rfrence est
M14679288378 .
Cest aussi une relation entre des informations. Par exemple
Loprateur rpare les machines . Des relations de ce genre
dfinissent les structures grer.
Une base de donnes est alors un ensemble de telles
informations.

Introduction

Conception des BD

Quest ce quune base de donnes ? (1/2)


Un ensemble de donnes mmorises de manire permanente
sur des supports physiques.
Une collection partage de donnes en relation logique, conues
pour satisfaire les besoins dinformation dune organisation.
Les base de donnes constituent le cur dun systme
dinformation.
Message (requte)

Rponse

Serveur base de
donnes

Serveur systme
dinformation

Utilisateurs
(clients)

10

06/04/2015

Introduction

Conception des BD

Quest ce quune base de donnes ? (2/2)


Lutilisation de fichiers (fichier plat, Excel, Word) pourrait
sembler pouvoir apporter une solution. Mais lutilisation directe
de gros fichiers soulve quelques problmes :
Lourdeur daccs aux donnes : pour chaque accs aux donnes,
mme le plus simple, il faudrait crire un programme.
Manque de scurit : si tout programmeur peut accder
directement aux fichiers, il est impossible de garantir la scurit et
lintgrit des donnes.
Pas de contrle de concurrence : plusieurs utilisateurs peuvent
accder aux mmes donnes, ainsi des problmes de concurrence
daccs se posent.

Il est donc ncessaire dutiliser un logiciel SGBD ddi grer les


BD et de prendre en charge toutes les fonctionnalits
ncessaires.
11

Introduction

Conception des BD

Quest ce quun SGBD ?


Un Systme de Gestion de Bases de Donnes (SGBD) est un
logiciel qui permet de manipuler les donnes stockes dans une
base de donnes et den contrler laccs.
La manipulation dun SGBD ncessite lutilisation de certains
fonctionnalits :
Dfinition du schma de donnes : en utilisant les modles de
donnes du SGBD.
Oprations sur les donnes : ajout, recherche, mise jour, etc.

12

06/04/2015

Introduction

Conception des BD

Langages de gestion dun SGBD


Langage de Dfinition de Donnes : orient structure de la BD et
non les donnes elles-mmes.
Crer, modifier, supprimer et renommer la structure.
Ces oprations peuvent porter sur : les tables, les utilisateurs, les
vues, etc.

Langage de Manipulation de Donnes : ensemble des


commandes pour la manipulation des donnes.
Gestion et utilisation des donnes : lecture, criture, effacement,
tri, etc.

Le langage le plus rpandu lheure actuelle est SQL

Langage de Contrle de Donnes : langage de SQL pour contrler


laccs aux donnes dune BD.

13

Introduction

Conception des BD

SGBD : Les plus rpandus


Microsoft Access
Microsoft SQL Server
Oracle Database
MySQL
PostgreSQL

14

06/04/2015

Introduction

Conception des BD

Base Donnes : Modle de donnes (1/2)


Le modle Entit-Association permet une description graphique.

15

Introduction

Conception des BD

Base Donnes : Modle relationnel (2/2)


Cest un ensemble doutils permettant de dfinir les schmas et
entits ncessaires pour la conception dune base de donnes.
Le modle relationnel permet une description tabulaire des
donnes.
Client

Compte

16

06/04/2015

Introduction

Conception des BD

SGBD : Architecture fonctionnelle


Trois niveaux dabstraction :

17

Introduction

Conception des BD

Conception dune base de donnes


On peut la dcouper en plusieurs tapes :
Expression des besoins

Modlisation conceptuelle
Modle des donnes*

Conception logique
Schma logique

Conception physique
Modle physique

MODELE ENTITE
ASSOCIATION

MODELE
RELATIONNEL

MODELE PHYSIQUE
LANGAGE SQL

* : en utilisant MCD de Merise ou Diagramme de classe dUML


18

06/04/2015

Sommaire
Introduction
Modle entit/association
Modle relationnel
Modle physique
Cas particuliers du MCD
Contraintes sur les associations
Bonnes pratiques

19

Modle entit/association

Conception des BD

Principe gnral
Le modle E/A a pour caractristiques dtre simple et
suffisamment puissant pour reprsenter des structures
relationnelles.
Il repose sur une reprsentation graphique qui facilite
considrablement sa comprhension.
Le modle dcrit lapplication vise, cest--dire une abstraction
dun domaine dtude (du monde rel).
Il consiste distinguer entre les entits qui constituent la base de
donnes, et les associations entre ces entits.

20

10

06/04/2015

Modle entit/association

Conception des BD

Etapes de la modlisation
1

Constitution du dictionnaire des donnes

Elaboration du modle Entit-association

Passage du MCD (modle conceptuel de donnes) au MLD


(modle logique de donnes)

21

Modle entit/association

Conception des BD

Constitution du dictionnaire des donnes (1/8)


Aprs une tude dtaille du domaine tudi, nous dterminons
la liste des donnes grer.
Le dictionnaire des donnes est un document qui est destin
recenser toutes les informations lmentaires devant constituer
une Base de Donnes.
Document tudier

RUBRIQUE

RUBRIQUE
-
- Donne lmentaire

-
-
-

RUBRIQUE
Non dcomposable

-
-

Une donne
lmentaire est la
reprsentation
dinformation ne
pouvant plus tre
dcompose

22

11

06/04/2015

Modle entit/association

Conception des BD

Constitution du dictionnaire des donnes (2/8)


Au fur et mesure de l tude, et pour chaque donne identifie,
on lui attribue :
un numro et/ou un code du champ
un libell
un type (numrique, alphanumrique, de type date/heure, texte)
ses proprits :

Nature : sagit-il d une donne de base ou d une donne calcule ?


Stabilit : sagit-il d une donne stable ou non stable (susceptible
dvoluer dans le temps) ?

une description/commentaire

23

Modle entit/association

Conception des BD

Constitution du dictionnaire des donnes (3/8)


Chaque donnes introduite dans le D.D se voit prcise par une
ligne dans un tableau ayant la forme suivante :
CODE

LIBELLE

TYPE

NATURE

STABILITE

COMMENTAIRE

A chaque fois que se prsente une nouvelle donne, le concepteur


lajoute la liste aprs avoir vrifi deux choses :

Quelle ne soit pas dj rpertorie dans la liste, sous le mme libell


ou avec un synonyme. La liste de doit pas comportait de redondances
Quil nexiste pas une autre information ayant la mme appellation
pour un sens diffrent (homonyme). Dans ce cas, il faudra pour viter
toute ambigit, donner des noms diffrents chacune des donnes
ayant des sens diffrents.

24

12

06/04/2015

Modle entit/association

Conception des BD

Constitution du dictionnaire des donnes (4/8)


La colonne CODE contiendra la reprsentation code de la
donne manipulable par le SGBD, puis une colonne LIBELLE
reprsentant lappellation de la donne.
Le TYPE reprsente les valeurs quune donne peut prendre
CODE

LIBELLE

TYPE

NATURE

STABILITE

COMMENTAIRE

25

Modle entit/association

Conception des BD

Constitution du dictionnaire des donnes (5/8)


La nature prcise si la donne est :
Non calcule : la donne ne peut tre dduite par le systme
partir dautres donnes. Elle doit obligatoirement tre saisie ou
importe depuis une autre base de donnes.
Calcule : La donne est obtenue par lapplication dune opration
sur une ou plusieurs autres donnes.
Incrmente : il sagit dune donne, destine rfrencer un
objet et dont la valeur est incrmente (ajout de la valeur 1)
chaque fois quon cre une nouvelle occurrence dans la base de
donnes.
CODE

LIBELLE

TYPE

NATURE

STABILITE

COMMENTAIRE

26

13

06/04/2015

Modle entit/association

Conception des BD

Constitution du dictionnaire des donnes (6/8)


Cette colonne indique les possibilit des transformations subies
par la donne au cours du temps, une fois quelle a t saisie ou
calcule. Une donne peut tre considre comme :
Evolutive: Elle est destine voir sa valeur modifie au cours du
temps.
Stable : Une fois que lon a mis une valeur dans cette donne, elle
ne changera pas au cours du temps?
Paramtre : Il sagit dune donne relativement stable, mais qui
peut toutefois tre modifie de manire faire voluer le systme,
ladapter un changement de rglementation par exemple.

CODE

LIBELLE

TYPE

NATURE

STABILITE

COMMENTAIRE

27

Modle entit/association

Conception des BD

Constitution du dictionnaire des donnes (7/8)


Colonne commentaire correspond un :
Un descriptif de chaque donne (si ncessaire) ou mme un
exemple.
La formule de calcul des donnes ayant la nature calcule
(obligatoire). Lintrt de faire apparatre la formule de calcul en
clair permet de vrifier que les donnes ncessaires ce calcul sont
bien prsentes dans le dictionnaire des donnes (dans le cas
contraire, il faut les rajouter)
CODE

LIBELLE

TYPE

NATURE

STABILITE

COMMENTAIRE

28

14

06/04/2015

Modle entit/association

Conception des BD

Constitution du dictionnaire des donnes (8/8)


Mise en vidence des rgles de gestion
Une rgle de gestion est une rgle suivie par votre socit. Il peut
s'agir d'une exigence formule par un client ou d'un article de
rglement interne, etc.
Exemple de rgle de gestion :

Le taux de TVA appliqu aux produits est toujours fix 10,6%


un Projet est dirig obligatoirement par une personne (Chef de
projet)
Un chef de projet doit travailler seulement sur le projet auquel il est
chef

29

Modle entit/association

Conception des BD

Elaboration du modle Entit-Association (1/6)


Dans de nombreux cas, les donnes sont regroupes dans des
lots, qui correspondent aux objets ou concepts du domaine.
Exemple :
un client passe une commande
une commande peut concerner un ou plusieurs produits

Interprtation :
3 concepts dfinir : client, commande, produit.
Avec des verbes qui expriment des associations entre concepts

30

15

06/04/2015

Modle entit/association

Conception des BD

Elaboration du modle Entit-Association (2/6)


Schma :
- ASSOCIATION

ENTITE

Concerner
Commande

produit

Passer
Client

31

Modle entit/association

Conception des BD

Elaboration du modle Entit-Association (3/6)


Entit : un lment du monde rel, compos dattributs et
possdant un nom.
Nom entit
Attributs

Attribut : ensemble de donnes (proprits), associ un type


lmentaire.
Internaute
Id_Intern
Nom
Prenom
Region

Nom dentit
Identifiant
Attributs

Film
Id_film
Titre
Annee
genre

PS : la mthode UML rajoute une 3me section qui concerne les mthodes/oprations dune entit.
32

16

06/04/2015

Modle entit/association

Conception des BD

Elaboration du modle Entit-Association (4/6)


Association : relation ou correspondance existant entre les
entits du monde rel.
Produit

Entrept
Transporter

Dsignation
Prix

Numro
Adresse

Date

Lassociation peut aussi avoir


dattributs

Identifiant : constitu par un ou plusieurs attributs (dune entit)


devant avoir une valeur unique.
Exemples : numro d'immatriculation de voiture, code barre d'un
produit
On parle de cl primaire dans les base de donnes
33

Modle entit/association

Conception des BD

Elaboration du modle Entit-Association (5/6)


Cardinalit : correspond au nombre de fois minimal et maximal
quune entit peut intervenir dans une association.
Exemple : un client peut commander entre 1 et n produits.
Les cardinalits sont exprimes pour chaque patte dune
association et sont caractrises par :
1..1
0..1
0..N
1..N

: un et un seul
: zro ou un
: de zro plusieurs
: de un plusieurs

PS : le positionnement des cardinalits change entre Merise et UML

34

17

06/04/2015

Modle entit/association

Conception des BD

Elaboration du modle Entit-Association (6/6)


Dimension : On appelle DIMENSION d'une association le nombre
d'entits qu'elle relie. On dit souvent : son nombre de "pattes".
Remarques :

Il n'existe pas de limite au nombre de pattes d'une association.


Cependant, un nombre de pattes lev est un indice que l'tude a t
superficielle et approximative.
Une association "rflexive" est une association qui lie des occurrences
d'une mme entit entre elles.
Client

Local
1, N

Id client
Nom

1, N

Louer
1, N

Num emp
Adresse

Contrat
Num contrat
Dure
35

Modle entit/association

Conception des BD

Exercice 1.1
Le magasin vend des produits des clients.
Les produits possdent une rfrence (un code), un libell et un
prix unitaire.
Les clients ont une identit, nom, prnom, adresse.
Les clients passent des commandes de produits. On mmorise la
date de la commande.
Pour chaque commande, le client prcise une adresse de
livraison.
La commande concerne un certain nombre de produits.
1- Etablir le dictionnaire de donnes
2 - Raliser le modle entit-associations

36

18

06/04/2015

Sommaire
Introduction
Modle entit/association
Modle relationnel
Modle physique
Cas particuliers du MCD
Contraintes sur les associations
Bonnes pratiques

37

Modle relationnel

Conception des BD

Principe gnral (1/3)


C'est un modle LOGIQUE de donne, correspondant
l'organisation des donnes.
Les SGBD actuels les plus courants sont relationnels (Oracle, SQL
Server, Access, MySql, etc.)
Un modle relationnel est compos de relations, appeles
tables.
Ces tables sont dcrites par des attributs ou champs (noms de
colonnes).

38

19

06/04/2015

Modle relationnel

Conception des BD

Principe gnral (2/3)


Pour dcrire une relation, on indique tout simplement son nom
en majuscule, suivi du nom de ses attributs entre parenthses.
L'identifiant d'une relation est compos d'un ou plusieurs
attributs qui forment la cl primaire.
Une relation peut faire rfrence une autre en utilisant une cl
trangre, qui correspond la cl primaire de la relation
rfrence.

39

Modle relationnel

Conception des BD

Principe gnral (3/3)


Il n'y a pas de notation officielle pour reprer les cls primaires et
trangres. Gnralement, on utilise :

On souligne la cl primaire d'un seul trait


On fait prcder (ou suivre) les cls trangres du symbole #

Chaque ligne (enregistrement) d'une table reprsente une


occurrence de l'entit ou de l'association correspondante.

Attention : lorsque vous utilisez un outil de gnie logiciel, lorsque vous gnrez
le modle relationnel, celui-ci pratique souvent l'change d'identifiant entre
table. Vous serez donc amener rectifier cela.

40

20

06/04/2015

Modle relationnel

Conception des BD

Rgles de passage du MCD au MR (1/8)


Rgle 1 : Toute entit devient une relation ayant pour cl
primaire son identifiant. Chaque proprit se transforme en
attribut.
CLIENT
Code Client
Nom
Prnom
Adresse
Code postal
Ville
Tlphone

CLIENT (Code_client, Nom, Prenom, Adresse,


Code_postal, Ville, Telephone)

Remarque : contrairement aux proprits, les attributs ne doivent pas comporter d'espaces.

41

Modle relationnel

Conception des BD

Rgles de passage du MCD au MR (2/8)


Rgle 2 : Toute association hirarchique (de type [1, n]) se traduit
par une cl trangre. La cl primaire correspondant l'entit
mre (ct n) migre comme cl trangre dans la relation
correspondant l'entit fille (ct 1).
CLIENT
Remarque : noubliez
pas de changer les
positions des
cardinalits.

Code Client
Nom
Prnom
Adresse
Code postal
Ville
Tlphone

COMMANDE

PASSER

1,n

1,1

Numro Cde
Date
Montant total

COMMANDE (Numero_commande, Date, Montant_total, # Code_client)


CLIENT (Code_client, Nom,, Telephone)
42

21

06/04/2015

Modle relationnel

Conception des BD

Rgles de passage du MCD au MR (3/8)


Rgle 2 : Construction des tables (modle physique)
TABLE CLIENT
Code_clt
Nom

Prenom

Adresse

Code_p

Ville

Tel

Cl001

Kamal

Ahmed

N 8, Rue 23 20200

Casablanca 06

Cl002

Malik

Sami

N 6, Rue 18 21000

Rabat

Cl primaire

06

Liaison entre les deux tables


Cl trangre

TABLE COMMANDE
Num_cde
Date

Mnt_total

CD001

12-04-14

1200,00

Cl001

CD002

16-06-14

450,00

Cl002

CD003

19-10-14

2000,00

Cl002

Code_clt

43

Modle relationnel

Conception des BD

Rgles de passage du MCD au MR (4/8)


Rgle 3 : Toute association (de type [n, n] ou de dimension > 2)
devient une relation. La cl primaire est forme par la
concatnation de l'ensemble des identifiants des entits relies.
Toutes les proprits ventuelles deviennent des attributs qui ne
peuvent pas faire partie de la cl.
COMMANDE

ARTICLE
1,n

Numro Cde
Date
Montant total

CONCERNER
Quantit

1,n

Rfrence Art
Dsignation
Prix Unitaire

CONCERNER(#Numero_cde, #Reference_art, Quantite)


COMMANDE(Numero_cde, Date, Montant_total)
ARTICLE(Reference_art, Designation, Prix_unitaire)
44

22

06/04/2015

Modle relationnel

Conception des BD

Rgles de passage du MCD au MR (5/8)


Rgle 3 : Construction des tables (modle pysique)
TABLE COMMANDE
Num_cde
Date

Mnt_total

TABLE ARTICLE
Ref_art
Dsignation

CD001

12-04-14

1200,00

PR001

Clavier

50,00

CD002

16-06-14

450,00

PR002

Souris

35,00

CD003

19-10-14

2000,00

PR003

Casque

120,00

Cl primaire

Cl primaire

TABLE CONCERNER
Num_cde
Ref_art
Cls trangres et
en mme temps
primaires

Prix_uni

Quantite

CD001

PR001

CD001

PR003

BC N : CD001
Articles commands
Clavier | Qte : 2
Casque| Qte : 3

45

Modle relationnel

Conception des BD

Rgles de passage du MCD au MR (6/8)


Rgle 3 : Associations n-aires (ternaires)
Exemple :
MAISON

ENTREPRISE
0, n

Coordonnes
Date construction
Surface

REALISER
Date
Montant
0, n

0, n

Num entreprise
Raison sociale
Adresse

TYPE_TRAVAUX
N_Type_Travaux
Dsignation
MAISON (Coordonnees, Date_construction, Surface)
TYPE_TRAVAUX (N_type_travaux, Designation)
REALISER (#Num_entreprise, # Coordonnees, #N_type_travaux, Date, Montant)
ENTREPRISE (Num_entreprise, Nom, Adresse)
46

23

06/04/2015

Modle relationnel

Conception des BD

Rgles de passage du MCD au MR (7/8)


Exception de la rgle 1 : Toute entit devient une relation ayant
pour cl primaire son identifiant. Chaque proprit se transforme
en attribut.
OUVRIER

PIECE
1, n

Code ouvrier
Nom ouvrier
Prnom ouvrier
Grade

FABRIQUER
Quantit
1, n

1, n

Rfrence pice
Libell pice

DATE FABRICATION
Date

Avec ce modle, on mmorise chaque jour pour chaque ouvrier les pices qu'il a
fabriqu et en quelle quantit.

47

Modle relationnel

Conception des BD

Rgles de passage du MCD au MR (8/8)


Exception de la rgle 1 : Interprtation
Quand on passe au modle relationnel, l'entit DATE
FABRICATION ne devient pas une relation, mais un attribut cl
dans la relation FABRIQUE issue de l'association.
Fait partie de la cl primaire,
mais n'est pas cl trangre

DATE FABRICATION(date)

FABRIQUE(#code_ouvrier, #rfrence_pice, date, quantit)

48

24

06/04/2015

Modle relationnel

Conception des BD

Passage entre les associations binaires (1/6)


Association binaire 1,1- 1,n

AUTEUR (Num_Auteur, Nom_Auteur, Date_Naissance)


LIVRE (Num_Livre, Titre_Livre, #Num_Auteur)

Dans ce cas, la table issue de l'entit cot cardinalit 1,1 reoit


comme cl trangre la cl primaire de l'entit lie.

49

Modle relationnel

Conception des BD

Passage entre les associations binaires (2/6)


Association binaire 0,1- 1,1

La meilleure solution est que la table CD_ROM reoivent comme


cl trangre Num_Micro car un CD_Rom est affect un et un
seul micro. Ce qui donne :

MICRO (Num_Micro, Marque_Micro)


CD_ROM (Num_Cd, Marque_Cd, #Num_Micro)

50

25

06/04/2015

Modle relationnel

Conception des BD

Passage entre les associations binaires (3/6)


Association binaire 0,1- 1,1 (suite)
Une autre solution proposer, cest l'change des cls primaires
entre les 2 tables, ce qui donnerait :

MICRO (Num_Micro, Marque_Micro, #Num_Cd)


CD_ROM (Num_Cd, Marque_Cd, #Num_Micro)

Dans ce cas, un micro pouvant ne pas avoir de CD_Rom, la cl


trangre num_CD peut tre nulle, ce qu'il faut viter au maximum.

51

Modle relationnel

Conception des BD

Passage entre les associations binaires (4/6)


Association binaire 0,1- 0,1

En partant qu'une cl trangre ne peut tre nulle, la seule solution


est de crer une table intermdiaire qui illustre le fait que l'on
mmorise les cas d'association entre un lecteur de CD-Rom et un
Micro.
Cela ncessite la cration d'une autre table (ici EQUIPER) :

MICRO (Num_Micro, Marque_Micro)


CD_ROM (Num_Cd, Marque_Cd)
EQUIPER (#Num_Micro, #Num_Cd)

52

26

06/04/2015

Modle relationnel

Conception des BD

Passage entre les associations binaires (5/6)


Association binaire 0,1 -0,n ou 1,n
Il existe plusieurs solutions, et de la mme faon que
prcdemment l'une meilleure que l'autre :

La premire solution assimile la cardinalit 0,1 une cardinalit 1,1 et


donc il y a migration de la cl primaire de la table cot 1,n vers la
table cot 0,1 ce qui laisse la possibilit d'une valeur nulle pour la cl
trangre.
La deuxime condition consiste crer une table intermdiaire avec
une cl primaire compose.

53

Modle relationnel

Conception des BD

Passage entre les associations binaires (6/6)


Association binaire 0,1 -0,n ou 1,n
Exemple :

Solution 1 :

RESPONSABLE (Num_Responsable, Nom_Responsable)


EQUIPE (Nom_Equipe, #Num_Responsable)

Solution 2 :

EQUIPE (Nom_Equipe)
RESPONSABLE (Num_Responsable, Nom_Responsable)
DIRIGER (#Nom_Equipe, #Num_Responsable)

Si la deuxime solution est la meilleure, la premire est souvent mise en uvre


(pour allger le MR) dans la mesure ou le cas 0 est rare.
54

27

06/04/2015

Modle relationnel

Conception des BD

Exercice 2.1 :
Soit le modle entit association suivant, traduisez le en modle
relationnel :

55

Modle relationnel

Conception des BD

Exercice 2.2 :
Soit le modle entit association suivant, traduisez le en modle
relationnel :

56

28

06/04/2015

Sommaire
Introduction
Modle entit/association
Modle relationnel
Modle physique
Cas particuliers du MCD
Contraintes sur les associations
Bonnes pratiques

57

Modle physique

Conception des BD

Principe gnral
Le modle physique de donnes est une reprsentation de
lORGANISATION DES DONNEES dun systme de gestion.
Ce modle est implment dans un SGBDR sous forme de tables
comportant des colonnes (ou champs).
La structure en tables et colonnes du modle relationnel est
conserve, mais on y ajoute les types de donnes de chacune des
colonnes (origine : dictionnaire de donnes).

58

29

06/04/2015

Modle physique

Conception des BD

Exemple
Modle relationnel
EMPLOYE (id_Employe, Nom_Employe, #id_Societe)
SOCIETE (id_Societe, Nom_Societe)

Modle physique

Remarque : Le modle physique dpend de loutil de conception utilis.

59

Sommaire
Introduction
Modle entit/association
Modle relationnel
Modle physique
Cas particuliers du MCD
Contraintes sur les associations
Bonnes pratiques

60

30

06/04/2015

Cas particuliers du MCD

Conception des BD

Cas des associations rflexives (1/5)


Il est permis une association d'tre branche plusieurs fois la
mme entit
Association rflexives
Ces associations suivent aussi les rgles 2 ou 3 selon les
cardinalits mais posent un problme particulier :
une mme proprit va se retrouver deux fois en attribut dans la
mme relation.
Il faut alors donner un nom diffrent et significatif aux deux
attributs correspondants.
Dans les rflexives, il est conseill de nommer les branches par des
rles pour pouvoir lire dans le bon sens l'association.
Les rles aident nommer les attributs correspondant
l'association.
61

Cas particuliers du MCD

Conception des BD

Cas des associations rflexives (2/5)


Exemple 1 :
Rflexive hirarchique (une branche la cardinalit maxi 1 et
l'autre n)
Rgle 2
SALARIE
Matricule
Nom
Prnom
Fonction

Les rles

1,1

a pour chef
ENCADRER

1,n
est chef de

62

31

06/04/2015

Cas particuliers du MCD

Conception des BD

Cas des associations rflexives (3/5)


Interprtation de lexemple 1
Un salari a pour chef 1 et un seul autre salari. Un salari est chef
de 1 n autre(s) salari.

Rgle n1: l'identifiant de SALARIE va devenir cl primaire et les autres


proprits des attributs
Rgle n2 : pour traduire l'association [1, n] encadrer, l'identifiant de
l'entit SALARIE devient cl trangre
l'identifiant de SALARIE, matricule, se retrouve deux fois dans la
relation : comme cl primaire et comme cl trangre (On va donc
donner un nom diffrent et significatif ces deux matricules, par
exemple.

Traduction en modle relationnel :


SALARIE(Matricule, Nom, Prenom, Fonction,#Matricule_chef)

63

Cas particuliers du MCD

Conception des BD

Cas des associations rflexives (4/5)


Exemple 2 :
Rflexive non hirarchique
Rgle 3
PIECE
Rfrence
Libell

1,n

Entre dans la composition


COMPOSITION
Nbr_piece

1,n
Est compose de

64

32

06/04/2015

Cas particuliers du MCD

Conception des BD

Cas des associations rflexives (5/5)


Interprtation de lexemple 2
Une pice entre dans la composition de 1 plusieurs autres pices.
Une pice peut tre compose de plusieurs autres pices.

Ex : La pice "voiture" est compose de 4 pices "roue". La pice


"roue" est elle-mme compose dune pice "pneu" et d'une pice
"jante".
Une pice entrant dans la composition d'une autre est appele
composant. Une pice compose d'autres pices est appele
compos.
Une roue est la fois un composant (de voiture) et un compos (de
pneu et jante)
Traduction en modle relationnel :

PIECE(Reference, libelle)
COMPOSITION(#reference_compose, #reference_composant, nombre)

65

Cas particuliers du MCD

Conception des BD

Cas des associations plurielles


Deux entits peuvent tre plusieurs fois en association.
Exemple :
PERSONNE
Num_perso
Nom
Prnom
Adresse

0,n

MAISON

POSSEDER

1,n
1,1

Num_maison
Nb_piece

HABITER

0,n

Ces associations permettent de modliser que des personnes


habitent dans des maisons et que des personnes peuvent possder
des maisons.
PERSONNE(Num_perso, Nom, Prenom, Adresse, #Num_maison)
MAISON(Num_maison, Nb_piece)
POSSESSION(#Num_perso, #Num_maison)
66

33

06/04/2015

Cas particuliers du MCD

Conception des BD

Complments : quelques structures de MERISE 2


Au niveau de MCD, Merise 2 a ajout de nouvelles structures
types pour reprsenter le plus fidlement possible la ralit du
systme dinformation.
En effet, depuis Merise 2, il est possible de mettre en vidence
sur le schma conceptuel, certaines contraintes sur les entits ou
les associations. Dans ce qui suit nous abordons:
Gnralisation et spcialisation des entits (trait au niveau du cours)
Structure dagrgation
Etc.
PS : MERISE 2 traite aussi la gnralisation et spcialisation des associations.

67

Cas particuliers du MCD

Conception des BD

Cas de la gnralisation/spcialisation des entits (1/3)


Il peut arriver que certaines occurrences dentits se distinguent :
En utilisant une ou plusieurs proprits inutiles aux autres
occurrences.
Par certaines associations spcifiques ces occurrences.

Pour prendre en compte ces caractristiques spcifiques, on doit


dcomposer lentit en plusieurs sous-entits :
Les proprits communes restent dans lentit gnrale , dite
gnrique .
Les proprits spcifiques dans les entits spcifiques .
Les entits spcialises sont relies lentit gnrique par une
flche dhritage* .

* : la flche peut contenir des contraintes (MERISE 2).

68

34

06/04/2015

Cas particuliers du MCD

Conception des BD

Cas de la gnralisation/spcialisation des entits (2/3)


Exemple : tout employ est soit un cadre suprieur, soit un
spcialiste, soit un apprenti.
EMPLOYE
Rfrence
Nom
Adresse

Entit
spcialise

CADRE_SUP
Position

SPECIALISTE
Comptence

Entit
gnrique

APPRENTI
Annee_apprentissage

Attention : les sous-entits ne comporte pas didentifiants. Les sous-entits hritent de


lidentifiant de lentit gnrale.
69

Cas particuliers du MCD

Conception des BD

Cas de la gnralisation/spcialisation des entits (3/3)


Interprtation de lexemple
Les entits : cadre suprieur, spcialiste et apprenti hritent les
attributs de lentit suprieure.
Chaque ensemble d'entits dans une hirarchie de gnralisation
donne lieu une table distincte. La cl primaire de la table
ascendante est aussi celle des tables au niveau infrieur.
Traduction en modle relationnel :
EMPLOYE(Reference, Nom, Adresse)
CADRE_SUP(#reference, Position)
SPECIALISTE(#reference, Competence)
APPRENTI(#reference, Annee_apprentissage)

70

35

06/04/2015

Cas particuliers du MCD

Conception des BD

Exercice 4.1 :
Le cas concerne un systme simplifi de rservation de vols pour
une agence de voyages. Nous pouvons rsumer le domaine sous
forme des phrases suivantes :
Des compagnies ariennes proposent diffrents vols. Chaque compagnie est
caractrise par un Code et une dsignation.
Un client peut rserver un ou plusieurs vols, pour des passagers diffrents.
Une rservation concerne un seul vol et un seul passager.
Un vol a un aroport de dpart et un aroport darrive. Chaque aroport est
identifi par un code, un nom et une adresse.
Un vol a un jour et une heure de dpart, et un jour et une heure darrive
Un vol est caractris aussi par un Code.
Un vol peut comporter des escales dans des aroports.
Une escale a une heure darrive et une heure de dpart.
Chaque aroport dessert une ou plusieurs villes.
Les rservations client peuvent tre de 2 types, rservation standard qui comprend
que le vol et rservation personnalise qui peut comprendre dautres services (tel
que Le Bus).
Cette phrase Une rservation peut tre annule ou confirme par le client :Fait lobjet
dune mthode (UML)
71

Sommaire
Introduction
Modle entit/association
Modle relationnel
Modle physique
Cas particuliers du MCD
Contraintes sur les associations
Bonnes pratiques

72

36

06/04/2015

Contraintes sur les associations

Conception des BD

Concepts
Ces contraintes concernent lexistence mme des occurrences
des associations.
Elles sont vrifier chaque fois quon cre une nouvelle
occurrence dassociation.
On y trouve les contraintes suivantes :
Exclusion
Partition
Totalit
Inclusion
Egalit
Unicit

73

Contraintes sur les associations

Conception des BD

Contrainte dexclusion : modle


Si une occurrence de lentit 1 participe la relation R1, elle ne
doit pas participer la relation R2 et rciproquement.
R1

Entit 1
X

R2

74

37

06/04/2015

Contraintes sur les associations

Conception des BD

Contrainte dexclusion : exemple


Une personne ne peut pas tre la fois tudiant et salari,
certaines personnes sont ni lun ni lautre.
Etablissement

Etudier
1, n

0, n

Personne
X
0, 1

Entreprise

Travailler
1, n

Dans ce cas, le systme va vrifier quand on veut crer une occurrence de lassociation
salari, que la personne concerne nest pas tudiante.
75

Contraintes sur les associations

Conception des BD

Contrainte de partition : modle


Toute occurrence de lentit 1 participe au moins lune des
relations R1 et R2 mais pas aux deux la fois.
R1

Entit 1
+

R2

76

38

06/04/2015

Contraintes sur les associations

Conception des BD

Contrainte de partition : exemple


Toute personne est soit rsidente au Maroc, soit rsidente
ltranger mais non pas les deux la fois.
Rside au
Maroc

1, n

Ville

1, 1

Personne
+
1, 1

Pays

Rside
ltranger

1, n

La contrainte de partition diffre de la contrainte dexclusion par le fait que la personne


est forcment associe une fois.
77

Contraintes sur les associations

Conception des BD

Contrainte de totalit : modle


Toute occurrence de lentit 1 participe au moins lune des
relations R1 et R2 ou les deux la fois.
R1

Entit 1
T

R2

78

39

06/04/2015

Contraintes sur les associations

Conception des BD

Contrainte de totalit : exemple


Toute personne est tudiant dans un tablissement ou salari
dans une entreprise ou les deux la fois.
Etablissement

Etudier
1, n

0, n

Personne
T
0, 1

Entreprise

Travailler
1, n

79

Contraintes sur les associations

Conception des BD

Contrainte dinclusion : modle


Si une occurrence de lentit 1 participe R1 elle participe aussi
R2 mais pas rciproquement.
R1

Entit 1
I

R2

80

40

06/04/2015

Contraintes sur les associations

Conception des BD

Contrainte dinclusion : exemple


Le prsident de la comit dorganisation dune confrence doit
tre un membre de ce comit dorganisation.
Membre de
comit dorg

1, n

0, 1

Personne

Confrence
I
0, 1

1, n
Prsident du
comit dorg

81

Contraintes sur les associations

Conception des BD

Contrainte dgalit : modle


Si une occurrence de lentit 1 participe R1 elle participe aussi
R2 et vice-versa.
R1

Entit 1
=

R2

82

41

06/04/2015

Contraintes sur les associations

Conception des BD

Contrainte dgalit : exemple


Toute personne qui pratique un sport fait partie dune quipe et
vice-versa.
Sport

Pratiquer
1, n

0, n

Personne
=
1, n

Club

Appartenir
1, n

83

Contraintes sur les associations

Conception des BD

Contrainte dunicit : modle


Pour une occurrence de lentit 1 et une occurrence de lentit 2.
Il existe une seule participation de lentit 3 la relation.
Entit 1

Relation

Entit 2

Entit 3

84

42

06/04/2015

Contraintes sur les associations

Conception des BD

Contrainte dunicit : exemple


A une date donne, une personne ne peut tre nomm qu une
seule fonction.
Personne

0, n

0, n

Nommer

Date

1
1, n

Fonction

Dans le cas en dessous, cest comme si on avait une association hirarchique entre
lassociation nommer et lentit fonction .

85

Sommaire
Introduction
Modle entit/association
Modle relationnel
Modle physique
Cas particuliers du MCD
Contraintes sur les associations
Bonnes pratiques

86

43

06/04/2015

Bonnes pratiques

Conception des BD

Rgles portant sur les attributs (1/3)


Un attribut ne doit pas figurer dans deux entits ou associations
diffrentes (donc il faut spcialiser lattribut nom en nom du
client, nom du produit).
Si des entits possdent les mmes attributs, il est recommand
de les fusionner. Exemple :
ENSEIGNANT
Num_ensg
Nom
Prnom

Etudiant

PERSONNE

Num_etud
Nom
Prnom

Num_pers
Nom
Prnom

Fusion

87

Bonnes pratiques

Conception des BD

Rgles portant sur les attributs (2/3)


Les attributs en plusieurs exemplaires doivent tre remplaces
par une association supplmentaire de cardinalits maximales n.
EMPLOYE
Num_emp
Nom
Adresse_princ
Adresse_secon
N_Tel_Domicile
N_Tel_Portable

OCCUPER
Type

EMPLOYE
Num_emp
Nom

Normalisation

1,n

1,n

1,n
ADRESSE

POSSEDER

Num_adresse
Adresse
1,n

NUM_TEL
Code_de_N_Tel
N_Tel_Domicile
N_Tel_Portable
88

44

06/04/2015

Bonnes pratiques

Conception des BD

Rgles portant sur les attributs (3/3)


Les proprits doivent tre stables (leur valeur ne doivent pas
dpendre du temps : par exemple au lieu de lge, on conservera
plutt la date de naissance).
Les proprits rsultant dun calcul ne doivent pas apparatre
(sauf si elles sont indispensables la comprhension)
COMMANDE

1,n

ARTICLE

FIGURER

Num_comm
Date_comm
Montant_total

Quantit

1,n

Num_article
Designation
Prix_unitaire

Calculable partir de
89

Bonnes pratiques

Conception des BD

Association ternaire (1/5)


Dans la pratique on ne va rarement au-del de trois associations
Les associations de degr suprieur deux sont plus difficile
manipuler et interprter, cest pourquoi il est recommand de
les viter.
Exemple dassociation ternaire :
Les professeurs enseignent dans des tablissements dans certaines
matires.
Il est possible quun professeur enseigne des matires diffrentes
dans les tablissements.

90

45

06/04/2015

Bonnes pratiques

Conception des BD

Association ternaire (2/5)


Modle conceptuel des donnes correspondant :
Le professeur Malik enseigne les mathmatiques et linformatique
MATIERE

PROFESSEUR
1, n

Enseigner

1, n

1, n

1, n
Proposer

Les matires
sont proposes
par certains
tablissements

Travailler

1, n

ETABLISSEMENT

1, n

Le professeur
Malik travaille
la FST et au lyce
Molire

Mais nous ne savons pas quelles sont les matires enseignes par le professeurs
Malik au lyce Molire
91

Bonnes pratiques

Conception des BD

Association ternaire (3/5)


Modle conceptuel des donnes adapt :
Les professeurs enseignent des matires dans des tablissements:

MATIERE

PROFESSEUR
1, n

Enseigner

1, n

1, n

ETABLISSEMENT

Il ne faut pas oublier que dans une association ternaire, toutes les
cardinalits maximales sont obligatoirement n.
92

46

06/04/2015

Bonnes pratiques

Conception des BD

Association ternaire (4/5)


Des associations inappropries >> Exemple :
FACTURE

PRODUIT
1, n

Contenir

Num_facture
Date_facture

1, n

Num_produit
Designation_pr
Prix_pr

Prix
Quantit
1, n

CLIENT
Num_client
Nom_client
Lassociation Contenir est inappropri puisqu'une facture donne est
toujours adresse au mme client.
En effet, cette modlisation implique pour les associations (instances du
type association) Contenir, une rptition du numro de client pour
chaque produit d'une mme facture.
93

Bonnes pratiques

Conception des BD

Association ternaire (5/5)


Des associations inappropries >> Solutions:
La solution consiste clater lassociation ternaire Contenir en deux
associations binaires.
FACTURE

PRODUIT
1, n

Contient

Num_facture
Date_facture

Prix
Quantit

1, 1

1, n

Num_produit
Designation_pr
Prix_pr

Recevoir
1, n

CLIENT
Num_client
Nom_client
94

47

06/04/2015

Bonnes pratiques

Conception des BD

Outils de conception de BD
Outils open-source :
MySQLWorkbench
Jmerise
Open ModelSphere
Rise Editor
DB-Main

Outils payants
Power AMC
Windesign
Modelio SQL Designer

95

Sommaire
Introduction
Modle entit/association
Modle relationnel
Modle physique
Cas particuliers du MCD
Contraintes sur les associations
Bonnes pratiques

96

48

Vous aimerez peut-être aussi