Vous êtes sur la page 1sur 52

COURS

CONCEPTION DE BASE DE
DONNES
Sana SELLAMI

sana.sellami@univ-amu.fr
Licence info 2015-2016
Aix-Marseille universit

Prsentation
Etroitement li au cours Base de Donnes Relationnelles
La conception des bases de donnes est la tche la plus

ardue du processus de dveloppement du systme


dinformation.
Recourir une mthode de conception afin de faciliter la

communication et la coopration entre les diffrents


acteurs dune organisation

Acteurs et Mtiers
Exprimer des
besoins relatifs
un domaine
dapplication

dialogue
Utilisateur

Analyste

Administrateur

Production et
interrogation
De la BD

Dveloppeur

Schma conceptuel

Objectif du cours
Objectifs :
Analyser les besoins.
Apprendre organiser les donnes en fonction des

besoins.
Appliquer une mthodologie de conception de BD
Apprhender la thorie des bases de donnes.

Organisation
Cours : 5 sances de 2h
TD: 5 sances de 2h
TP: 5 sances de 2h
Modalit de contrle continu:
Formule session 1:
Formule session 2:

NF= 0.33*CC + 0.67*ET


NF= MAX (0.33*CC + 0.67*ET ; ET)

Avec:

NF: Note Finale


CC: contrle continu
ET: Examen Terminal
Contrle continu= TP not

Plan du cours
1.

Problmatique de la conception

2.

Modlisation conceptuelle: Modle entit/association

3.

Modle entit association tendu

4.

Modle relationnel : Transformation E/A vers relationnel


(MRD)

5.

Normalisation: Dpendances entre donnes et formes


normales

1. PROBLMATIQUE: LA
CONCEPTION

Quest ce quune base de donnes?


Selon Wikipdia: En informatique, une base de donnes (Abr. : BD

ou BdD ou encore DB en anglais) est un lot d'informations stockes


dans un dispositif informatique.
Selon Marc Grange Une base de donnes est un ensemble structur

d'informations non redondantes dont l'organisation est rgie par un


modle de donnes.
Structuration ( l'aide du modle de donnes)
Non rptition (non redondance ou redondance minimale) des donnes.

Pourquoi concevoir une base de donnes


Problmatique:
Nous ne savons pas toujours dans quelle table placer certaines

colonnes (par exemple, ladresse de livraison se met dans la table des


clients ou dans la table des commandes?);
Risque de redondance des incohrences en modification, insertion

et suppression de donnes, et rend la base peu performante.


Ncessit dune tape prliminaire de conception

10

Dmarche de conception
Dfinition des donnes permanentes ncessaires aux besoins dun

ensemble dutilisateurs.
La base de donnes sera relative un domaine dapplication

(bibliothque, service hospitalier, dpartement marketing dune


entreprise, production dnergie, etc).
La BD doit contenir toutes les donnes ncessaires la reprsentation

du domaine dapplication

11

Objectif et dmarche
1- Observation de la ralit
Collecte dinformations

2- Rflexion et modlisation

Mthodologie

3- Dfinition des tables (relations)


dune BD relationnelle

Contraintes:
Obtenir une reprsentation correcte de la ralit
Pouvoir faire voluer facilement la reprsentation
Difficile!!

12

Dmarche de conception
La modlisation dun problme, cest--dire le passage du monde rel

sa reprsentation informatique, se dfinit en plusieurs tapes pour


parvenir son intgration dans un SGBD-R et permettre la manipulation
des donnes par le langage SQL.
Classiquement, le processus de conception des donnes passe par deux

phases :

- Ralisation dun modle conceptuel


- Traduction en un modle relationnel

13

Modle conceptuel
Phase danalyse du problme rel.
Dfinir les donnes utiliser, leur mode dvolution dans le temps et les

relations entre elles.


Quel usage on destine le modle informatique que lon est entrain de
constituer ?
Sexprime dans un formalisme graphique de type entit-association. Il

existe dautres types de formalismes comme le formalisme MCD de


Merise ou UML

14

Modle relationnel
Conduit laborer lensemble des objets manipulables par

un SGBD-R.
Peut tre dcoup en deux tapes :
la conception de modle logique (reprsentation en tables

indpendantes du SGBD)
Ensuite, la traduction en un modle physique (propre un SGBD

spcifique). Tous les SGBD nont pas les mmes caractristiques du


langage SQL.

15

Exemple
Cahier des charges:

Un service de ressources humaines dans une entreprise veut grer


le personnel. Dans un premier temps, on veut pouvoir connatre le
nom, la fonction, la date dentre, le salaire, la commission (part
de salaire variable) de chaque employ et le numro du
dpartement dans lequel travaille chaque employ. Chaque
employ a donc les caractristiques suivantes : Nom, fonction,
date dentre, salaire, commission, numro du dpartement.
Le service du personnel souhaite aussi connatre le nom du
dpartement dans lequel lemploy travaille. Lentreprise est
rpartie dans plusieurs villes. Les dpartements sont donc
caractriss par leur nom et par leur ville. Un employ
travaille dans un dpartement et un seul. Il peut y avoir plusieurs
dpartements qui ont le mme nom.

16

Exemple
Cahier des charges:

Un service de ressources humaines dans une entreprise veut grer


le personnel. Dans un premier temps, on veut pouvoir connatre le
nom, la fonction, la date dentre, le salaire, la commission (part
de salaire variable) de chaque employ et le numro du
dpartement dans lequel travaille chaque employ. Chaque
employ a donc les caractristiques suivantes : Nom, fonction,
date dentre, salaire, commission, numro du dpartement.
Le service du personnel souhaite aussi connatre le nom du
dpartement dans lequel lemploy travaille. Lentreprise est
rpartie dans plusieurs villes. Les dpartements sont donc
caractriss par leur nom et par leur ville. Un employ
travaille dans un dpartement et un seul. Il peut y avoir plusieurs
dpartements qui ont le mme nom.

17

Exemple (2)
Modle Entit Association (Selon la mthode Merise)
EMPLOYE
numE
nomEmploye
job
Salaire
dateEntree
commission

1,1

0,n

Travaille dans

DEPARTEMENT
numD
nomD
ville

Modle Relationnel
EMPLOYE (numE, nomEmploye, salaire, job, dateEntree, commission, #ND)
DEPARTEMENT (numD, nomD, ville)

18

Dmarche de conception
Mthodologie de conception de
la BD relationnelle:
1. Observation et collecte dinformations
2. Analyse et modlisation des donnes en
suivant une mthode concrte, simple,
intuitive et non ambigu
3. Gnration des tables (relations) de la
Bd relationnelle partir d un schma
entit-associations, par une dmarche
systmatique et simple
obtention dun schma relationnel

Monde rel
Analyse

Modle E/A ou
MCD

MLD
SGBD

Schma
relationnel (MRD)

4. Affinement du schma : Thorie de


normalisation pour le modle relationnel

Base de
donnes
physique

5. laboration du schma physique: Choix de


structures physiques performantes (index,
groupage, ou partitionnement des tables, etc)

MPD

19

Outils de conception de BD
1. Outils (Open-source, multi-OS)
MySQLWorkbench: http://mysqlworkbench.org/
JMerise: http://www.jfreesoft.com/JMerise/

Open ModelSphere: http://www.modelsphere.org/


Dia: http://dia-installer.de/
Rise Editor: http://www.risetobloome.com/
DB-Main: http://www.db-main.be/

2. Outils (propritaires, payants)


Power AMC: www.sybase.com
Windesign: http://www.win-design.com/fr/
Modelio SQL Designer: http://www.modeliosoft.com/fr/modules/sql-designer.html
Et bien dautres..

20

2. MODLE ENTIT-ASSOCIATION

FORMALISMES
Entits
Attributs
Associations: cardinalit, attribut, types
Identifiant
Contraintes dintgrit

Formalisme

Entit

Attributs

Identifiant

Association

Entit faible

Diffrents formalismes
Existence de diffrents formalismes de modlisation des donnes
Entit-Association selon MERISE:

EMPLOYE
1,1

numE
nomEmploye

1,n

DEPARTEMENT
numD
nomD

Travaille dans

Entit-Association selon Chen:


nomEmploye

NomD

M
EMPLOYE

Travaile
dans

DEPARTEMENT

numE

21 numD

Contraintes
dintgrit

Formalisme

Entit

Attributs

Identifiant

Association

22 Contraintes
Entit faible
dintgrit

Diffrents formalismes
Diagramme de classes selon UML (Unified Modelling

Language)

EMPLOYE
numE: Integer
nomEmploye: String

getnomE(): String

DEPARTEMENT
1

*
Travaille dans

numD:Integer
nomD: String

getnomD(): String

Formalisme

Entit

Attributs

Identifiant

Association

23 Contraintes
Entit faible
dintgrit

Formalisme utilis pour ce cours


Modle E/A = pour construire un MCD (Merise)
Le modle sera dcrit par:
Des Types dEntits (TE) : par abus de langage type dentit entit
Des Types dAssociations (TA): par abus de langage type dassociationassociation

Entit

Relation ou association

EMPLOYE
numE
nomEmploye
salaire
job
Identifiant

1,1

Travaille dans

0,n

DEPARTEMENT
numD
nomD
ville

cardinalit
attribut

Formalisme

Entit

Attributs

Identifiant

Association

24 Contraintes
Entit faible
dintgrit

Les entits
Une entit dsigne un ensemble dobjets qui possdent une

smantique et proprits communes.


Exemple: Informations rcoltes :
Lentreprise X a embauch M. Maque (promo 2013)
Lentreprise Y a embauch M. Thon (promo 2014)
Lentreprise X a embauch Mlle. Arya (promo 2000)

Il y a 5 individus pouvant tre ici regroups en 2 entits

ENTREPRISE

ETUDIANT

Formalisme

Entit

Attributs

Identifiant

Association

25 Contraintes
Entit faible
dintgrit

Les entits (2)


Reprsente par un rectangle, nom en majuscule

PERSONNE

Choisir un nom commun dcrivant lentit (exemple :

ETUDIANT, ENSEIGNANT, MATIERE)

Formalisme

Entit

Attributs

Identifiant

Association

26 Contraintes
Entit faible
dintgrit

Attribut
Est la modlisation d'une information lmentaire prsente dans le

discours.
PERSONNE
nomPersonne
dateNaissance

Exemple: nom dune personne: Maque, Thon, Arya

date de naissance: 16/08/01, 24/02/88


Est l'lment descriptif (ou caractristique) de l'entit ou lassociation
Est unique dans un modle conceptuel et ne peut tre rattach qu' un

seul concept (entit ou association).

Formalisme

Entit

Attributs

Identifiant

Association

27 Contraintes
Entit faible
dintgrit

Attribut (2)
Un attribut prend ses valeurs dans un ensemble de valeurs possibles

appel "domaine".
ATTRIBUT

DOMAINE

Nom dune personne

Caractres alphanumriques

Quantit en stock

Nombre entier positif

Date de commande

Jour/mois/anne

Prix dun article

Nombre avec 2 dcimales

PERSONNE
nomPersonne: char (15)
dateNaissance: Date

Un attribut est une donne lmentaire, ce qui exclut les donnes

calcules ou drives.

Formalisme

Entit

Attributs

Identifiant

Association

28 Contraintes
Entit faible
dintgrit

Identifiant
Un identifiant dentit permet de reprer une entit de manire unique

et sans ambiguit parmi toutes les entits.


Un identifiant peut tre constitu dun ou plusieurs attributs
Le ou les attributs identifiant une entit sont souligns

EMPLOYE

DEPARTEMENT

numE
nomEmploye
salaire
job

numD
nomD
ville

Formalisme

Entit

Attributs

Identifiant

Association

29 Contraintes
Entit faible
dintgrit

Identifiant (2)
Conseils:
Eviter les identifiants composs de plusieurs attributs (comme par exemple

un identifiant form par les attributs nom du client et prnom)


Prfrer un identifiant court pour rendre la recherche la plus rapide possible

(viter par exemple les chanes de caractres comme le numro de scurit


sociale ou la plaque dimmatriculation)
Dans le modle physique de donnes, on utilise une cl numrique( un entier)
incrment automatiquement.

30

Exemple du mini monde


Considrons la BD ENTREPRISE qui contient les donnes sur les employs, les
services et les projets dune socit. Suite la collecte de lanalyse des besoins, les
concepteurs fournissent la dfinition suivante du mini-monde :
La socit est organise en services. Chaque service a un nom et un numro

uniques et est dirig par un employ unique.


Un service contrle un certain nombre de projets, chacun dentre eux ayant un

nom, un numro et une dure. Un projet ne peut tre contrl que par un seul
service.
Le nom de chaque employ, son numro de scurit sociale, son adresse, son

salaire, son sexe et sa date de naissance sont mmoriss. Un employ est affect
un service, mais peut travailler sur plusieurs projets qui ne sont pas forcment
contrls par le mme service. Le volume du travail dun employ sur chaque
projet est mmoris. Le suprieur immdiat de chaque employ est lui aussi
mmoris.
Vous allez identifier les entits de la base de donnes Entreprise ainsi que les
attributs .

Formalisme

Entit

Attributs

Identifiant

Association

31 Contraintes
Entit faible
dintgrit

Association
Liaison entre plusieurs entits, avec une signification prcise.
Exemple: un contrat est li au client qui la sign.

CLIENT
numClient
nomC
adresse

VEHICULE
numVeh
marque
type
appartient

Un vhicule appartient un client

CONTRAT
signe

numContrat
date

Formalisme

Entit

Attributs

Identifiant

Association

32 Contraintes
Entit faible
dintgrit

Association
Une association peut tre porteuse dinformations:
Les cardinalits
Les attributs
Les contraintes (CIF)

Formalisme

Entit

Attributs

Identifiant

Association

33 Contraintes
Entit faible
dintgrit

Cardinalit
La cardinalit exprime la faon dont sont associes les entits :

Dfinition de restrictions, cest dire les nombres minimal


(min) et maximal (max)dassociations possibles entre deux
entits.
Exemple:

ABONNE
Num
nomAbonn
prnomAbonn

1,n

0,1

Emprunter

LIVRE
numISBN
titre
diteur

La cardinalit se lit comme suit:


Un abonn peut Emprunter plusieurs livres (min=1, max=n).
Un livre ne peut tre Emprunt que par un seul abonn (min=0, max=1).

Formalisme

Entit

Attributs

Identifiant

Association

34 Contraintes
Entit faible
dintgrit

Cardinalit (2)
Types de cardinalit :
0,1
1 ,1

0, N
1,N

Premier nombre de la cardinalit : nombre minimal

dassociations possibles (min)


Second nombre de la cardinalit : nombre maximal

dassociations possibles (max)

Formalisme

Entit

Attributs

Identifiant

Association

35 Contraintes
Entit faible
dintgrit

Cardinalit (3)
Le schma ci-dessous se lit:

STAGE
idStage
intitul
description

1,1

0,n

proposer

ENTREPRISE
idEntreprise
nom
adresse

1 stage est propos par 1e entreprise et une seule


1e entreprise propose 0 ou n stages (pas de limite max)

35

Formalisme

Entit

Attributs

Identifiant

Association

36 Contraintes
Entit faible
dintgrit

Cardinalit (4)
Exemple

Cardinalit (1,1) ou (0,1)


EMPLOYE
NumE
nomEmploye
prnomEmploye

1,1

0,1

ENTREPRISE
numEnt
adresse

Travaille

Cardinalit (0,n) ou (1,n)

EMPLOYE
NumE
nomEmploye
prnomEmploye

0,n

1,n

PARTICIPE

PROJET
numProjet
nomProjet

Exemple irrel

Formalisme

Entit

Attributs

Identifiant

Association

37 Contraintes
Entit faible
dintgrit

Cardinalit (5)
Cardinalits (N,M)
ETUDIANT
NumE
nom
moyenneL

10,100

2,4

candidate
decision

UNIVERSITE
nomU
Ville
effectif

Un tudiant peut candidater dans 2 universits au minimum

et jusqu 4 universits au maximum

Une universit peut avoir 10 candidatures au minimum et

100 candidatures au maximum

Formalisme

Entit

Attributs

Identifiant

Association

38 Contraintes
Entit faible
dintgrit

Cardinalit (6)
Rgles
Lexpression de la cardinalit est obligatoire.
Il ne peut y avoir de cardinalit maximale gale 0.
Si une cardinalit est connue et vaut 2 ou plus, alors nous considrons quelle

est indtermine et vaut n. En effet, si cette valeur est dfinie lors de la


conception, il se peut quelle volue dans le futur. Il faut donc considrer n
comme inconnue ds la conception.

Formalisme

Entit

Attributs

Identifiant

Association

39 Contraintes
Entit faible
dintgrit

Exemple
Dans linternat dun tablissement scolaire, les enfants sont connus par leur nom,

prnom, leur ge et leur numro dinscription. Pour chaque enfant, on dispose du


nom, de ladresse et du numro de tlphone du correspondant. Un correspondant
est un adulte qui habite la ville o se trouve linternat et qui peut tre contact en
cas de besoin.

On dsire modliser les 3 cas suivants :


Cas 1 : chaque enfant possde un et un seul correspondant et chaque

correspondant na quun et un seul enfant charge :

Cas 2 : un enfant na pas plus dun correspondant, et un correspondant doit avoir

au moins un enfant en charge

Cas 3 : chaque enfant a obligatoirement un correspondant au moins, et sil nen a

pas dsign un, linternat peut leur proposer une liste de personnes qui nont pas
denfant en charge, mais qui sont susceptibles den avoir.

Etablir trois modles E /A correspondants chacun des 3 cas

Formalisme

Entit

Attributs

Identifiant

Association

40 Contraintes
Entit faible
dintgrit

ATTRIBUT dune association


Des informations qui ne peuvent prendre de sens qu'avec la

prsence de l'ensemble des entits constituant cette relation.

COMMANDE
0,n

NCommande
Date

0,n

contenir
quantit

ARTICLE
NArticle
Dsignation
Prix_unitaire

Un attribut peut tre plac dans une association uniquement

lorsquil dpend de toutes les entits lies par cette association.

Formalisme

Entit

Attributs

Identifiant

Association

41 Contraintes
Entit faible
dintgrit

ATTRIBUT dune association (2)


Cardinalit sur une relation binaire: toute relation binaire avec

cardinalit (1,1) ne peut tre porteuse dattribut

ASSURE
code
nom
adresse

1,n

concerner
Date
souscription

FAUX

1,1

CONTRAT
Npolice

Formalisme

Entit

Attributs

Identifiant

Association

42 Contraintes
Entit faible
dintgrit

Association plurielle
Association plurielle: Associations diffrentes qui relient les mmes
entits
Exemple

Sur ce schma, une association permet de modliser que des personnes


crivent des livres et un autre que des personnes critiquent (au sens de
critique littraire) des livres.
1,n

PERSONNE

0,n

LIVRE

Etre lauteur

numPersonne
nom
prenom
adresse

numLivre
titre
editeur
0,n

Avoir critiqu
0,n

Formalisme

Entit

Attributs

Identifiant

Association

43 Contraintes
Entit faible
dintgrit

Association rflexive
Une association qui relie une entit elle mme:

association rflexives
Exemple:
On veut modliser le faut quun professeur puisse se faire remplacer par

plusieurs collgues quil peut lui-mme en remplacer plusieurs.

PROFESSEUR

remplace
0,n

numProf
nomProf
prnomProf
adresseProf

remplacer

0,n
Est remplac par

Formalisme

Entit

Attributs

Identifiant

Association

44 Contraintes
Entit faible
dintgrit

Associations n-aires
Jusqu prsent, uniquement des associations binaires
Possibilit dassocier plusieurs entits :

Associations ternaires (3 entits)


Association n-aires (n entits, n > 3)

Il est recommand dviter les associations n-aires.


Une association n-aire peut souvent tre dcompose en une combinaison
dassociations binaires

Formalisme

Entit

Attributs

Identifiant

Association

Entit faible

Contraintes
dintgrit

Association ternaire
Les professeurs enseignent dans des tablissements dans certaines matires. Il est
possible quun professeur enseigne des matires diffrentes dans les tablissements.
Le professeur M. enseigne les mathmatiques et linformatique

MATIERE

PROFESSEUR
enseigne

0,n

0,n

0,n

0,n

Le professeur M.
travaille la
FST et au lyce
Montgrand

Mais nous ne savons pas quelles sont les matires


enseignes par le professeur M. au lyce Montgrand
propose

Travaille pour

0,n

Les matires sont proposes


par certains tablissements

ETABLISSEMENT

0,n

45

Formalisme

Entit

Attributs

Identifiant

Association

46 Contraintes
Entit faible
dintgrit

Association ternaire (2)


Les professeurs enseignent des matires dans des tablissements:
MATIERE

PROFESSEUR

0,n

0,n
enseigne

0,n

ETABLISSEMENT

Dans une association ternaire, toutes les cardinalits maximales


sont obligatoirement n.

Formalisme

Entit

Attributs

Identifiant

Association

47 Contraintes
Entit faible
dintgrit

Association ternaire (3)


Modliser la situation suivante:

Des adhrents sont inscrits dans des centres pour pratiquer des sports. Les
centres proposent des sports pratiquer.
1,n

1,n

propose

SPORT

CENTRE

0,n

pratique

0,n

1,n

ADHERENT

Daprs le modle obtenu, peut-on savoir quels sont les sports pratiqus par les
adhrents en dehors des centres?

Formalisme

Entit

Attributs

Identifiant

Association

48 Contraintes
Entit faible
dintgrit

Entit faible
Exemple : Une chambre peut avoir le mme numro (e.g., chambre 301)

dans deux htels diffrents (e.g., Mercure et Plaza)

CHAMBRE
1,1

idChambre
type

1,n

appartenir

HOTEL
idHotel
nom_Hotel
ville_Hotel

Lidentification dune chambre est relative lHOTEL

Une entit qui ne peut tre identifie par ses seuls attributs propres est
appele entit faible.

Formalisme

Entit

Attributs

Identifiant

Association

49 Contraintes
Entit faible
dintgrit

Entit faible (2)


Entit faible :
Cas o lidentifiant dune entit ne permet pas de lidentifier de manire

unique
Son existence dpend dune autre entit
Modlisation dune entit faible
Des parenthses entourant la cardinalit 1,1 ou bien
En indiquant un (R) ct de lidentifiant de lentit faible

CHAMBRE
(1,1)

idChambre
type
appartenir

HOTEL

CHAMBRE

idHotel
nom_Hotel
ville_Hotel

idChambre
type

1,n

HOTEL

1,n

idHotel
nom_Hotel
ville_Hotel

Formalisme

Entit

Attributs

Identifiant

Association

50 Contraintes
Entit faible
dintgrit

Contraintes dintgrit
Toutes rgles implicites ou explicites que doivent suivre les
donnes:
Contraintes d'entit : toute entit doit possder un identifiant
Contraintes de domaine : les valeurs de certains attributs

doivent tre prises dans un ensemble donn

Contraintes d'unicit : une valeur d'attribut ne peut pas tre

affecte deux fois a deux entits diffrentes

Contraintes gnrales : rgle permettant de conserver la

cohrence de la base de manire gnrale

Formalisme

Entit

Attributs

Identifiant

Association

51 Contraintes
Entit faible
dintgrit

Contraintes dintgrit (2)


Contraintes de domaine : "La fonction dun enseignant

luniversit prend sa valeur dans lensemble {Vacataire,


Moniteur, ATER, MCF, Professeur, PRAG, PAST}
Contraintes d'unicit : "Un dpartement, identifi par son

numro, a un nom unique (il ny a pas deux dpartements de


mme nom)
Contraintes gnrales :

"Un mme examen ne peut pas avoir lieu dans deux salles
diffrentes la mme date et la mme heure"

52

Exemple du mini monde


Considrons la BD ENTREPRISE qui contient les donnes sur les employs, les
services et les projets dune socit. Suite la collecte de lanalyse des besoins, les
concepteurs fournissent la dfinition suivante du mini-monde :
La socit est organise en services. Chaque service a un nom et un numro

uniques et est dirig par un employ unique.


Un service contrle un certain nombre de projets, chacun dentre eux ayant un

nom, un numro et une dure. Un projet ne peut tre contrl que par un seul
service.
Le nom de chaque employ, son numro de scurit sociale, son adresse, son

salaire, son sexe et sa date de naissance sont mmoriss. Un employ est affect
un service, mais peut travailler sur plusieurs projets qui ne sont pas forcment
contrls par le mme service. Le volume du travail dun employ sur chaque
projet est mmoris. Le suprieur immdiat de chaque employ est lui aussi
mmoris.
Vous allez identifier les associations et les cardinalits