Vous êtes sur la page 1sur 50

P

r
o
f

:


M
.
Q
B
A
D
O
U

Cours
CSI
ChapIII. Modlisation Logique des Donnes
1
Contrle du MLD : formes normales
Les concepts de base
Passage du MCD au MLD
Algbre relationnelle
Introduction
Rgles dIntgrit
Exercices


P
r
o
f

:


M
.
Q
B
A
D
O
U

Cours
CSI
ChapIII. Modlisation Logique des Donnes
2
I. Introduction
Le modle Logique de Donnes MLD permet dintgrer ltat de lart technologique
des SGBD pour dcrire les enregistrement logiques et entrevoir la structuration
physique des donnes.
Un MLD reprsente le schma de la base de donnes (Tables et jointures) crer sous
un systme de gestion des bases de donnes SGBD
Il existe plusieurs types de modles logiques :
Modle hirarchique et Modle Rseau,
Modle Relationnel,
Modle Objet .
A chaque type de modle correspond un environnement dimplantation (logiciels)
Systme de gestion de fichier (SGF)
Systme de Bases de Donnes Navigationnelles (SGDBN)
Systme de Gestion de Bases de Donnes Relationnelles (SGBDR)
Systme de Gestion de Bases de Donnes Objets (SGBDO)
Le cours prsente les concepts du modle relationnel.


P
r
o
f

:


M
.
Q
B
A
D
O
U

Cours
CSI
ChapIII. Modlisation Logique des Donnes
3
Modle relationnel (Avantages)
Le modle relationnel a t formalis par CODD en 1970.
Utilis par beaucoup de SGBD commerciaux
Exemples :
Oracle, Informix, DB2, MySql, SqlServer, dBase, Access )
Proche du modle entit-association permettant une prsentation schmatique.
Supporte les oprations ensemblistes :
Algbre relationnelle
Permet de traiter les problmes de cohrence et de redondance des donnes :
Rgles dintgrit supportes
Supporte des langages standards non procduraux permettant la description, la
manipulation et le contrle des donnes :
Langage SQL


P
r
o
f

:


M
.
Q
B
A
D
O
U

Cours
CSI
ChapIII. Modlisation Logique des Donnes
4
II. Concepts
MCD
MLD
Attribut
Champs
Entit
Table
Identifiant
Cl primaire
Association et CIF
Cl trangre
Rgles


P
r
o
f

:


M
.
Q
B
A
D
O
U

Cours
CSI
ChapIII. Modlisation Logique des Donnes
5
2.1. Domaine
un domaine est un ensemble dnombrable (fini ou infini) de valeurs atomiques. Un
domaine est caractris par :
Un nom
Une ensemble de valeurs
Exemples
- Entier Octet = {0,1, ,255} (Byte)
- Entier Court = {-2
-15
, 0, ,2
15
- 1} (Integer, int)
- Entier Long = {-2
-31
, 0, ,2
31
- 1} (Long)
- Rel Simple (single, float , real)
- Rel Double (Double)
- Montaire (Currency, Money)
- Logique = {Faux , Vrai} (Boolean, Logical)
- Date/Heure = {#01/01/0100 00:00:00# #31/12/9999 23:59:59#} (Date)
- Chane de texte (String, Char(taille), VarChar(taille))


P
r
o
f

:


M
.
Q
B
A
D
O
U

Cours
CSI
ChapIII. Modlisation Logique des Donnes
6
2.2. Attribut
Un attribut appel aussi champs, est la plus petite information reprsentable dans
un modle relationnel et qui possde :
Un nom
Un domaine
Un sens (une utilit)
Exemples
- Matricule : Entier court
- PrixAchat : Montaire
- NomClient : Chane
- AdresseClient : Chane
- PoidsVhicule : Rel Simple
- DateNaissance : Date/Heure
-


P
r
o
f

:


M
.
Q
B
A
D
O
U

Cours
CSI
ChapIII. Modlisation Logique des Donnes
7
une Table est un tableau deux dimensions : Les colonnes constituent un ensemble
dattributs appartenant chacun un domaine. Les lignes reprsentent les valeurs prises
chacune par un attribut. Une ligne est appele aussi enregistrements ou tuples. Une
relation est caractrise par :
un nom
une liste <attribut : domaine>
une cl primaire
Une dimension (nombre dattributs)
Un degr (nombre de lignes)
une smantique
2.3. Table(Relation)
Exemple Etudiant (NEtud, Nom , Prnom , Age)
Cl primaire : N Etud
Dfinition : tout tudiant actuellement immatricul lcole
Attribut
Etudiant
N Etud Nom Prnom Age
136 Dupont Jean 19
253 Aubry Annie
101 Duval 22
147 Dupont Marc 21
Tuple (enregistrement)


P
r
o
f

:


M
.
Q
B
A
D
O
U

Cours
CSI
ChapIII. Modlisation Logique des Donnes
8
La cl primaire dune Table est le groupe minimal dattributs de la table dont la
valeur est unique et obligatoire.
Une cl primaire compose dun seul champs est dite Monochamps
Une cl primaire compose de plusieurs champs est dite Multichamps
2.4. Cl primaire
Exemples
Cl simple : Etudiant (NEtud, Nom , Prnom , Age)
Cl compose : Cliniques(NomClinique, Localit, Tl)
La cl trangre dans une Table B est le groupe dattributs de B qui constitue une cl
primaire dune autre table A. Elle ralise le lien entre les enregistrements des deux
tables.
2.5. Cl trangre
Exemples
Filires(CodeFilire, NomFilire)
Etudiant (NEtud, Nom , Prnom , Age, CodeFilire#)


P
r
o
f

:


M
.
Q
B
A
D
O
U

Cours
CSI
ChapIII. Modlisation Logique des Donnes
9
le schma dune base de donnes relationnelle est constitu :
dun ensemble de schmas de relations(tables) SR={R1, R2,..., Rn }
dun ensemble de rgles dintgrit.
2.6. Schma relationnel (MLDR)
Exemple : Schma relationnel gestion des contrats dune socit dintrim
CLIENTS(Codclient, Nom, Prenom, AdRue, AdVille, CodePostal)

CONTRATS(NumeroContrat, Objet, DateSign, Datedeb, Datefin, #CodeCli)

PERSONNES(Matricule, Nom, Prenom, AdRue, Advil, CodePostal, #CodeQualif)

QUALIFICATIONS(CodeQualif, Libelle, Tarif)

INTERVENIR(#NumContrat, #Matricule, #CodeQualif)

EXIGER(#NumContrat, #CodeQualif, Nbjh)

Contraintes dintegrit:
DateSign < = DateDbut < = DateFin
Tarif > = 70 DH
Nbjh >= 1



P
r
o
f

:


M
.
Q
B
A
D
O
U

Cours
CSI
ChapIII. Modlisation Logique des Donnes
10
III. Rgles d'intgrit
les rgles dintgrit (R.I.) sont des conditions qui doivent tre vrifies tout
moment par les donnes contenues dans la base de donnes :
Intgrit de domaine
Intgrit de relation(table)
Intgrit de rfrence
3.1. Dfinition
Intgrit De Domaine
contrle des valeurs des attributs
contrle entre valeurs des attributs
Note[0 .. 20]
Date_Dbut < Date_Fin
x,y e Personne, (x,y) e mariage x.tat_civil = mari &
y.tat_civil = mari & x.sexe <> y.sexe
Montant > 0


P
r
o
f

:


M
.
Q
B
A
D
O
U

Cours
CSI
ChapIII. Modlisation Logique des Donnes
11
Intgrit de relation (Contrainte De Cl)
Chaque relation doit possder une cl primaire Unicit des tuplets
Intgrit de rfrence (Cl trangre)
Impose que tout tuple dune relation R1 qui se rfre une relation R2 doit se
rfrer un tuple existant dans la relation R2. Elle sapplique sur des relations qui
dcrivent des associations.
Impose que tout attribut faisant partie de la cl dune relation soit non nul
Polyclinique
Nom
Localit
Tl
Medcins
NumMatr
Nom
Spcialit
Tl
Travail
Nom#
Localit#
NumMatr#
Exemple :
la relation qui exprime le lien de travail entre un mdecin et une polyclinique.


P
r
o
f

:


M
.
Q
B
A
D
O
U

Cours
CSI
ChapIII. Modlisation Logique des Donnes
12
IV. Mthode dimplantation dun MLDR
Transformation du modle E/A :
transformation des associations n-aires en associations binaires
entit relation (Table)
Identifiant cl
association dpend de sa cardinalit
4.1. Rgle 1 : Table et cl primaire
Toute entit est transforme en table (relation). Les proprits de l entit deviennent
celles de la table. L identifiant devient la cl primaire
Entit Entreprise Table Entreprise
Entreprise
N Entreprise
Nom
Adresse
Code_Postal
Localit
ENTREPRISE
N ENTREPRISE
NOM
ADRESSE
CODE_POSTAL
LOCALIT


P
r
o
f

:


M
.
Q
B
A
D
O
U

Cours
CSI
ChapIII. Modlisation Logique des Donnes
13
4.2. Rgle 2 : Relation binaire (,n) - (,1)
La cl primaire de l entit relie par (,n) devient cl trangre de lentit relie par
(,1)
1,n
1,1
Auteur
N auteur
Nom
Ecrire


Livre
N livre
Titre
4.3. Rgle 3 : Relation binaire (0,1) - (1,1)
La cl primaire de lentit relie par (0,1) devient cl trangre de lentit relie par (1,1)
Ecrire
LIVRE
N LIVRE
N AUTEUR#
TITRE
AUTEUR
N AUTEUR
NOM
Facture
N facture
Date facture
Pay ?
0,1 1,1
Commande
N commande
Date commande
Montant
Impliquer


Impliquer
FACTURE
N FACTURE
N COMMANDE#
DATE FACTURE
PAY ?
COMMANDE
N COMMANDE
DATE COMMANDE
MONTANT


P
r
o
f

:


M
.
Q
B
A
D
O
U

Cours
CSI
ChapIII. Modlisation Logique des Donnes
14
4.4. Rgle 4 : Relation binaire et ternaire (,n) - (,n)
On cre une table supplmentaire ayant comme cl primaire une cl compose des
cls primaires des 2 entits. Lorsque la relation la relation contient des proprits
celles-ci deviennent attributs de la table.
Commande
N commande
Date
1,n 0,n
Se composer

quantit
Article
N article
Libell
Prix unitaire
COMMANDE
N COMMANDE
DATE

ARTICLE
N ARTICLE
LIBELL
PRIX
UNITAIRE
SE COMPOSER
N COMMANDE
N ARTICLE
QUANTITE


P
r
o
f

:


M
.
Q
B
A
D
O
U

Cours
CSI
ChapIII. Modlisation Logique des Donnes
15
1,n
Enseignant
N enseignant
Nom
Prnom
0,n
0,n
Enseigner
Classe
N Classe
Libell
Cycle
Matire
N Matire
Libell
ENSEIGNANT
N ENSEIGNANT
NOM
PRNOM
ENSEIGNER
N ENSEIGNANT
N MATIRE
N CLASSE
MATIRE
N MATIRE
LIBELL
CLASSE
N CLASSE
LIBELL
CYCLE


P
r
o
f

:


M
.
Q
B
A
D
O
U

Cours
CSI
ChapIII. Modlisation Logique des Donnes
16
4.5. Rgle 5 : Plusieurs relations entre 2 entits
Les rgles gnrales de 1 5 s appliquent
0,n
1,n
1,n
1,1
Personne
N personne
Nom
Prnom
Maison
N maison
Adresse
Localit
Possder
Habiter
MAISON
N MAISON
ADRESSE
LOCALIT
PERSONNE
N PERSONNE
N MAISON#
NOM
PRNOM
POSSDER
N PERSONNE #
N MAISON#


P
r
o
f

:


M
.
Q
B
A
D
O
U

Cours
CSI
ChapIII. Modlisation Logique des Donnes
17
4.6. Rgles 6 : Relations rflexives
Les rgles gnrales s appliquent avec la seule diffrence que la relation est 2 fois
relie la mme entit
0,n
Socit
N socit
Nom
Capital
Filiale
0,n
Mre
Dtenir

% du capital
Employ
Matricule
Nom
Prnom
Fonction

Chef
0,n
0,1
Subordonn
Hirarchie

SOCIT
N SOCIT
NOM
CAPITAL
Filiale
Mre
DETENIR
N SOCIT#
N SOCIT FILIALE#
% DU CAPITAL
Employ
Matricule
MatriculeChef#
Nom
Prnom
Fonction
Hirarchie


P
r
o
f

:


M
.
Q
B
A
D
O
U

Cours
CSI
ChapIII. Modlisation Logique des Donnes
18
4.7. Rgles 7 : CIF
La clCible de la TableCible devient une cl trangre dans la table TableCIF
La cl de la table TableCIF est compose de Clorig1 et Clorig2.
EntitOrig2

IdOrig2

EntitOrig1

IdOrig1

EntitCible

IdCible

CIF
TableOrig2

ClOrig2

TableOrig1

CleOrg1

TableCible

ClCible

TableCIF

ClOrig1#
ClOrig2#
ClCible#

Exemple :
Les entits qui ne contiennent que la cl Sont liminer du MLD
Remarque :


P
r
o
f

:


M
.
Q
B
A
D
O
U

Cours
CSI
ChapIII. Modlisation Logique des Donnes
19
4.8. Rgles 8 : Hritage
Garder la fois lentit gnrique et les entits spcifiques. On distingue deux cas :
Valeurs des cls spcialises sont hrites de la cl gnrique
Valeurs des cls spcialises ne sont pas hrites de la cl gnrique
Cas 1 : Valeurs des cls spcialises sont hrites de la cl gnrique
Num_Vhicu
le
Nombre_cylind
re
Marque Modle
1
2
3
4
4
6
5
6
Renault
SCANIA
Peugeot
SCANIA
R19
R144 LA 4X2 NA
506
R 124 LA 4X2 NA
Num_Voiture NombrePlace
1
3
5
6
Num_Camion Tonnage (t)
2
4
26
19
On relie les tables spcialises avec la table gnrique via les cls
On rajoute une proprit TypeVhicule la table gnrale pour accder directement la
bonne table spcialise : Rduire le temps de recherche des informations spcialises


P
r
o
f

:


M
.
Q
B
A
D
O
U

Cours
CSI
ChapIII. Modlisation Logique des Donnes
20
Cas 2 : Valeurs des cls spcialises ne sont pas hrites de la cl gnrique
Num_Vhicu
le
Nombre_cylind
re
Marque Modle
1
2
3
4
4
6
5
6
Renault
SCANIA
Peugeot
SCANIA
R19
R144 LA 4X2 NA
506
R 124 LA 4X2 NA
Num_Voiture NombrePlace
1
3
5
6
Num_Camion Tonnage (t)
1
2
26
19
Deux cas :
- introduire la cl spcialise dans la table gnrique
introduire une proprit typeVhicule pour distinguer le type de la cl spcialise introduite dans la
table gnrique.
- introduire la cl gnrique dans toutes les tables spcialises


P
r
o
f

:


M
.
Q
B
A
D
O
U

Cours
CSI
ChapIII. Modlisation Logique des Donnes
P
r
o
f

:


M
.
Q
B
A
D
O
U

V. Exercices
5.1. Gestion des Locations de chambres dans une suite dhtels
Prendre
CLIENT





CHAMBRE


PRESTATION
CATEGORIE
Effectuer
LOCATIONS



CodeClt
Nom
Adresse
Ville
Tl
NCh
TlCh
CodePrest
Libell
CodeCat
Description

NLocation
DateDbut
DateFin
0,N
Appartenir
Concerner
CONSOMMATIONS



Nconsommation
Dateconsommation

QtCons
Concerner
0,N
1,N
1,N
1,N
1,1
1,N
1,1
1,1
1,1
HTELS
NHtel
NomHtel
AdresseHtel
TlHtel

PrixU
Offre
1,N
1,
N
CLASSES


Nbretoiles
Avoir
1,N
1,1
Tarifer
1,N
1,
N
TarifJour


P
r
o
f

:


M
.
Q
B
A
D
O
U

Cours
CSI
ChapIII. Modlisation Logique des Donnes
P
r
o
f

:


M
.
Q
B
A
D
O
U

Niveaux
CodeNiveaux
CoeffTaux

Qualifications
CodeQualification
TauxJour

Branches
CodeBranche
Intitul
Conventions
NOrdre
Dure
Intrimaires
N Intrimaire
Nom
Contrats
N Contrat
DateDbut
Clients
CodeClt
NomClt
Rglements
N Rglement
MontantRg

Signer

Possder

Avoir

Intervenir

Appartenir

Exiger

Signer

Concerner

1-N
(1,1)
1-1
1-1
1-1
1-1
1-1
0-N
1-N
1-N
1-N
1-N
0-N
0-N
1-N
1-N
1-N
5.2. Gestion des Intrimaires


P
r
o
f

:


M
.
Q
B
A
D
O
U

Cours
CSI
ChapIII. Modlisation Logique des Donnes
5.3. Gestion des emprunts de livres dans une bibliothque
MotsCLs
MotCl
Exemplaires
NExemplaire
TauxJour

Emprunts
NEmprunt
DateEmprunt
DateRetour
Adhrents
NAdhrent
Nom
Adresse
Tl
Catgories
CodeCatgorie
Nom
Livres
N Livre
Titre
Editeurs
CodeEditeur
NomEditeur
Auteurs
N Auteur
NomAuteur

Avoir

Appartenir

Porte sur

Contenir
NPage
Editer

Ecrire

1-1
1-1
1-N
1-N
1-1
1-1
1-N
1-N
1-N
1-N
1-N
Effectuer

Parent

1-1
1-N
1-N
1-1
0-N
1-N
Enfant
Parent


P
r
o
f

:


M
.
Q
B
A
D
O
U

Cours
CSI
ChapIII. Modlisation Logique des Donnes
5. Exercices- correction
5.1. Gestion des Locations de chambres dans une suite dhtels
CLIENT




CHAMBRE


PRESTATION
CATEGORIE
LOCATIONS



CodeClt
Nom
Adresse
Ville
Tl
NCh
TlCh
CodeCat#
NHtel#
CodePrest
Libell
CodeCat
Description
NLocation
DateDbut
DateFin
CodeClt#
NCh#
CONSOMMATIONS



Nconsommation
Dateconsommation
Codesctl #
HTELS
NHtel
NomHtel
AdresseHtel
TlHtel
Nbretoiles#
CLASSES


Nbretoiles
Tarifer
Nbretoiles#
CodeCat#
TarifJour
Offre
CodePrest#
NHtel#
PrixU
Concerner
NConsom#
CodePrest#
QtCons


P
r
o
f

:


M
.
Q
B
A
D
O
U

Cours
CSI
ChapIII. Modlisation Logique des Donnes
Niveaux
CodeNiveaux
CoeffTaux

Qualifications
CodeQualification
TauxJour

CodeBranche#
Branches
CodeBranche
Intitul
Conventions
NOrdre
NIntrimaire#
Dure
Intrimaires
N Intrimaire
Nom
CodeNiveaux#
CodeQualif#
Contrats
N Contrat
DateDbut

CodeClt#
Clients
CodeClt
NomClt
Rglements
N Rglement
MontantRg

NContrat#
5.2. Gestion des Intrimaires
Exiger
CodeNiveaux#
CodeQualif#
NContrat#
Intervenir
NIntrimaire#
NContrat#


P
r
o
f

:


M
.
Q
B
A
D
O
U

Cours
CSI
ChapIII. Modlisation Logique des Donnes
5.3. Gestion des emprunts de livres dans une bibliothque
MotsCLs
MotCl
Exemplaires
NExemplaire
TauxJour

NLivre#
Emprunts
NEmprunt
DateEmprunt
DateRetour
NAdh#
Adhrents
NAdhrent
Nom
Adresse
Tl
NAdhPre#
Catgories
CodeCatgorie
Nomcat
Livres
N Livre
Titre
CodeCat#
CodeEd#
NAut#
Editeurs
CodeEditeur
NomEditeur
Auteurs
N Auteur
NomAuteur

MotsClLivres
MotCl#
NLivre#
NPage
Exemp_Emprunts
s
NExemplaire#
NEmprunt#


P
r
o
f

:


M
.
Q
B
A
D
O
U

Cours
CSI
ChapIII. Modlisation Logique des Donnes
VI. Algbre relationnelle
Les oprations de base sont classes en deux types :
Les oprations ensemblistes : oprations binaires qui partir de deux relations
de mme schma, en construit une troisime :
union
intersection
diffrence
Les oprations spcifiques (relationnelles):
Oprations unaires qui construit une relation partir dune autre :
Projection
Restriction(slection)
Oprations binaires sur deux relations pour construire une relation par
fusion : Produit Cartsien, jointures.
Opration de division


P
r
o
f

:


M
.
Q
B
A
D
O
U

Cours
CSI
ChapIII. Modlisation Logique des Donnes
6.1. Oprations ensembliste
a. Union
porte sur deux relations de mme schma R1 et R2 pour
construire une relation de mme schma R ayant pour
tuples ceux appartenant R1 ou R2 ou R1 et R2.
U
R
1
R
2
R

Notations :
R = R1 U R2
Exemple : Soient les relations suivantes :
Appareil_Anc(CodeType, Nbplace , Intitul)
Appareil_Nouv(CodeType, Nbplace , Intitul)
CodeType Nbplace Intitul
741 100 BOEING 747-100
734 450 BOEING 737-400
AB3 180 AIRBUS A300
CodeType Nbplace Intitul
74E 150 BOEING 747-100 COMBI
SSC 80 CONCORDE
Appareil_A
Appareil_N
CodeType Nbplace Intitul
741 100 BOEING 747-100
734 450 BOEING 737-400
AB3 180 AIRBUS A300
74E 150 BOEING 747-100 COMBI
SSC 80 CONCORDE
Remarque :
Union limine les doublons
Appareil_A U Appareil_N


P
r
o
f

:


M
.
Q
B
A
D
O
U

Cours
CSI
ChapIII. Modlisation Logique des Donnes
b. Intersection
Opration portant sur deux relations de mme schma R1 et R2 consistant
construire une relation de mme schma R ayant pour tuples ceux appartenant la fois
R1 et R2.

R
1
R
2
R

Exemple : tant donn les relations suivantes :
Fournisseurs(Numro, Nom , Adresse)
Clients(Numro, Nom , Adresse)
Notations :
R = R1 R2
Numro Nom Adresse
1024 Thomson 100, Hassan II
1025 Fag 25, BD MohamedV
1026 SKF 20, BD MohamedV
Numro Nom Adresse
1000 INA 2, BD MohamedV
1024 Thomson 100, Hassan II
Fournisseurs
Clients
Fournisseurs Clients
Numro Nom Adresse
1024 Thomson 100, Hassan II


P
r
o
f

:


M
.
Q
B
A
D
O
U

Cours
CSI
ChapIII. Modlisation Logique des Donnes
c. diffrence
Opration portant sur deux relations de mme schma R1 et R2 consistant
construire une relation de mme schma R ayant pour tuples ceux appartiennent R1
et qui nappartiennent pas R2.
-
R
1
R
2
R

Exemple : tant donn les relations suivantes :
Fournisseurs(Numro, Nom , Adresse)
Clients(Numro, Nom , Adresse)
Notations :
R = R1 - R2
Numro Nom Adresse
1024 Thomson 100, Hassan II
1025 Fag 25, BD MohamedV
1026 SKF 20, BD MohamedV
Numro Nom Adresse
1000 INA 2, BD MohamedV
1024 Thomson 100, Hassan II
Fournisseurs
Clients
Fournisseurs - Clients
Numro Nom Adresse
1025 Fag 25, BD MohamedV
1026 SKF 20, BD MohamedV
Numro Nom Adresse
1000 INA 2, BD MohamedV
Clients - Fournisseurs


P
r
o
f

:


M
.
Q
B
A
D
O
U

Cours
CSI
ChapIII. Modlisation Logique des Donnes
6.2 Oprations relationnelles
a. Projection
La projection dune relation R de schma (A1,A2,,An) sur les attributs
Ai1,Ai2,Aip (avec Aij eR et p<n) est une relation R de schma (Ai1,Ai2,,Aip)
dont les tuples sont obtenus par limination des attributs de R nappartenant pas R
et par suppression des doublons.
Notations :
[
=
ip i1
A ..., , A
(R) R
R(A1,,An)
R(Ai1,,Aip)
Ai1,,Aip
Exemple
Obtenir par projection, la liste des rfrences et prix des produits
[
=
PrixU RfProd,
(Produits) Prix_Prod
Produits
Prix_Prod
RefProd,PrixU
RfProd Dsignation PrixU
100 Disque Dur 20 GO 850
102 Ram 256 600
Produits
RfProd PrixU
100 850
102 600
Prix_Prod


P
r
o
f

:


M
.
Q
B
A
D
O
U

Cours
CSI
ChapIII. Modlisation Logique des Donnes
b. Slection(Restriction)
La slection de la relation R par un critre C est une relation R de mme schma dont
les tuples sont ceux de R satisfaisant C ; C pouvant tre exprime laide de
constantes, doprateurs arithmtiques (>, <, etc.) ou logiques (et, ou, non)
Notations :
) ( R R
C
o = C
R(A1,,An)
R(A1,,An)
Exemple
Obtenir par slection les produits dont le prixU est suprieur 600
oduits)
ixU
(Pr Prix
) 600 (Pr 600 > >
=o PrixU
>600
Produits
Prix
>600
RfProd Dsignation PrixU
100 Disque Dur 20 GO 850
102 Ram 256 600
Produits
RfProd Dsignation PrixU
100 Disque Dur 20 GO 850
Prix>600


P
r
o
f

:


M
.
Q
B
A
D
O
U

Cours
CSI
ChapIII. Modlisation Logique des Donnes
a. Produit cartsien
Opration portant sur deux relations R1 et R2 consistant construire une relation qui a
pour schma la juxtaposition des deux schmas oprandes et pour tuples toutes les
combinaisons de tuples des deux relations oprande

R
1
R
2
R

Exemple : tant donn les relations suivantes :
Fournisseurs(NFournisseur, Nom)
Produits(RfProd, Dsignation,PrixU)
Notations : R = R1 R2
NFournisseur Nom
1024 Thomson
1025 INA
RfProd Dsignation PrixU
100 Disque Dur 20 GO 850
102 Ram 256 600
Fournisseurs Produits
NFournisseur Nom RfProd Dsignation PrixU
1024 Thomson 100 Disque Dur 20 GO 850
1024 Thomson 102 Ram 256 600
1025 INA 100 Disque Dur 20 GO 850
1025 INA 102 Ram 256 600
Fournisseurs Produits
6.3 Oprations de jointure


P
r
o
f

:


M
.
Q
B
A
D
O
U

Cours
CSI
ChapIII. Modlisation Logique des Donnes
b. Jointures
La jointure de deux relations R et S selon une condition C est lensemble des tuples
du produit cartsien R*S satisfaisant la condition C ; C pouvant tre exprime laide
de constantes, doprateurs arithmtiques (>, <, etc.) ou logiques (et, ou, non)
Notations :
) , ( R S R
C
J =
R
RS
S
C
En fonction de la forme de la condition, on peut distinguer les types de jointures
suivants :
Thta jointure
Equijointure
Jointure Naturelle
Jointure externe gauche
Jointure externe droite


P
r
o
f

:


M
.
Q
B
A
D
O
U

Cours
CSI
ChapIII. Modlisation Logique des Donnes
b.1 Thta Jointures
La thta-jointure consiste en une jointure dont la condition C sexpriment en utilisant
les oprateurs <, <=, >, >=, <>
) , (
50 Pr ^
Cadeaux Personnes R
ix AgeC Age
J
< <=
=
AgeC Article Prix
99 Livre 30
6 Poup 60
20 baladeur 45
10 dguisement 15
Nom Prnom Age
Alaoui Ahmed 6
Brahimi Fatima 42
Moussaoui Ali 16
Personnes Cadeaux
Nom Age AgeC Article Prix
Alaoui 6 99 Livre 30
Alaoui 6 20 baladeur 45
Alaoui 6 10 dguisement 15
Brahimi 42 99 Livre 30
Moussaoui 16 99 Livre 30
Moussaoui 16 20 baladeur 45
Exemple : Liste des cadeaux de prix <50 distribus sur les personnes tel que Age<= AgeC
) , (
50 Pr ^
Cadeaux Personnes R
ix AgeC Age
J
< >
=
Nom Age AgeC Article Prix
Brahimi 42 20 baladeur 45
Brahimi 42 10 dguisement 15
Moussaoui 16 10 dguisement 15


P
r
o
f

:


M
.
Q
B
A
D
O
U

Cours
CSI
ChapIII. Modlisation Logique des Donnes
Exemple
Liste des fournisseurs et leurs produits :
NFournisseur Nom
1024 Thomson
1025 INA
RfProd Dsignation PrixU NFour
100 Disque Dur 20 GO 850 1024
101 Ecran LCD 17" 1500 1024
102 Ram 256 600 1025
Fournisseurs
Produits
) Pr , ( Pr
. Pr .
oduit r Fournisseu od Four_
Four N oduit Four N r Fournisseu
J
=
=
Fournisseur
Four_Prod
Produit
Four N oduit
Four N r Fournisseu
=

. Pr
.
b.2 Equijointures
Lquijointure consiste en une jointure dont la condition C sexpriment en utilisant
loprateurs = (galit)
NFournisseur Nom
1024 Thomson
1024 Thomson
1025 INA
RfProd Dsignation PrixU NFour
100 Disque Dur 20 GO 850 1024
101 Ecran LCD 17" 1500 1024
102 Ram 256 600 1025


P
r
o
f

:


M
.
Q
B
A
D
O
U

Cours
CSI
ChapIII. Modlisation Logique des Donnes
b.3. Jointure naturelle
) , ( Cadeaux Personnes R J =
La jointure naturelle de deux relations R et S est une quijointure sur tous les attributs de
mme nom dans R et dans S, suivie de la projection qui permet de ne conserver quun seul
des ces attributs de mme nom.
Age Article Prix
99 Livre 30
6 Poup 60
20 baladeur 45
10 dguisement 15
Nom Prnom Age
Alaoui Ahmed 6
Brahimi Fatima 42
Moussaoui Ali 16
Sakhi Amina 20
Personnes Cadeaux
Nom Prnom Age Article Prix
Alaoui Ahmed 6 Poup 60
Sakhi Amina 20 baladeur 45
Exemple : Liste des cadeaux distribus sur les personnes tel que :
Personne.Age= Cadeaux.Age


P
r
o
f

:


M
.
Q
B
A
D
O
U

Cours
CSI
ChapIII. Modlisation Logique des Donnes
La division (ou quotient) de la relation R1 (A
1
, A
2
, , A
n
) par la (sous-) relation R2 de
schma R2(A
p+1
, , A
n
) est la relation de schma R(A
1
, A
2
, , A
p
) forme de tous les
tuples qui, concatns chaque tuple de R2, donnent toujours un tuple de R1.
Autrement il sagit dune relation R compose des tuples tel que le produit cartsien
avec le diviseur R2 est un sous-ensemble de la relation dividende R1.
/
R
1
R
2
R

Exemple s:
Dterminer la liste des athltes participant toutes les preuves
Notations : R = R1 / R2
6.4 Opration de division
NomAtlete Epreuve
Alaoui 200 m
Alaoui 400 m
Moussaoui 200 m
Moussaoui 400 m
Moussaoui 110 m
Participer
Epreuve
200 m
400 m
110 m
Epreuve
NomAtlete
Moussaoui
ParticipantAToutesEpreuves


P
r
o
f

:


M
.
Q
B
A
D
O
U

Cours
CSI
ChapIII. Modlisation Logique des Donnes
R S = S R, R S = S R

c1
(
c2
(R) )=
c2
(
c1
(R) ) =
c2 ^ c1
(R) =
c1
(R)
c2
(R)

a
(
c
(R) ) =
c
(
a
(R) ) si attributs(p) a
R/S = R1-
A
(R1xS - R), avec R(A,B),S(B) et R1 =
A
(R)
6.5 Equivalences
La jointure est en gnral coteuse
Faire autant que possible les restrictions et les projections avant
Pourquoi une requte est-elle meilleure qu'une autre ?
Une requte n'est pas l'unique solution d'un problme.
efficacits diffrentes
6.6 Ordre des oprations


P
r
o
f

:


M
.
Q
B
A
D
O
U

Cours
CSI
ChapIII. Modlisation Logique des Donnes
Soit le schma suivant :
Fournisseur (Nfno, Nom, Adresse, Ville)
Produit (Nprod, Designation, Prix, Poids, Couleur)
Commande (Ncomm, Nfno, Nprod, , Quantit)
Produit = 8 lignes * 5 colonnes
Commande = 10 lignes * 4 colonnes
Opration : Rfrence (N prod), prix et quantit des produits commands en
plus de 10 exemplaires par commande ?
Solution1
R1=J (Commande,Produit)
R2 =
Quantit > 10
(R1)
R3 =
Nprod, Prix, Quantit
(R2)
R1 = jointure sur la table Commande et la table Produit = 10*8 = 80 tuples au
pire
Exemple


P
r
o
f

:


M
.
Q
B
A
D
O
U

Cours
CSI
ChapIII. Modlisation Logique des Donnes
Solution2
R1 = t
Nprod, Quantit
(o
Quantit>10
(Commande) )
R2 = J(R1, t
Nprod, Prix
(Produit))
R3 = t
Nprod, Prix, Quantit
(R2)
R2 = jointure sur le couple (Nprod, Prix) de la table Produit: 8 tuples (sur 2
attributs) et sur le couple (Nprod, Quantit) de la table Commande : 2 tuples
(sur 2 attributs)
Total = 2x8 = 16 lments (sur 4 attributs)


P
r
o
f

:


M
.
Q
B
A
D
O
U

Cours
CSI
ChapIII. Modlisation Logique des Donnes

VII. Formes Normales(FN)
Les formes normales permettent :
dassurer la cohrence des donnes,
dviter des anomalies dcriture, de lecture
Dviter des contres performances.
Les formes normales sont utilises en base de donnes relationnelles, mais il est
possible de vrifier quelles sont bien respectes ds ltape de cration du MCD.
Il existe huit formes normales :
de 1NF 6NF et
les formes BCNF et DKNF.
Les formes normales 1NF, 2NF, 3NF et BCNF sont suffisantes pour construire un
modle relationnel juste.


P
r
o
f

:


M
.
Q
B
A
D
O
U

Cours
CSI
ChapIII. Modlisation Logique des Donnes

1re FN
Une relation est en 1re FN si
Tout attribut est atomique. Autrement, un attribut ne peut dsigner une donne
compose ( ne peuvent contenir quune valeur et pas une liste de valeur) .
Tous ses attributs sont en DF de sa cl
Tous ses attributs sont constants dans le temps (choisir par exemple lattribut
date de naissance plutt que lattribut ge, cela vite de remettre lge jour).
Une relation en 1FN garantie un accs plus rapide aux donnes et vite les besoins de
mises jour .
Exemple : La relation suivante nest pas en 1FN, car la proprit tudiant dsigne une
liste dtudiants.


P
r
o
f

:


M
.
Q
B
A
D
O
U

Cours
CSI
ChapIII. Modlisation Logique des Donnes

date_commande
date_commande
Client
Passer
1,1
0,N
2me FN
Une relation est en 2me FN ssi :
elle est en 1re FN.
tout attribut non cl est en DF de toute la cl (et non pas dune partie de la cl).
La 2
me
FN permet dviter la redondance des donnes.
Exemple : lentit suivante ne respecte pas la 2FN :
En effet, on a : {id commande, id client nom article},
et {id client nom client}.
Donc le nom du client ne dpend que de son identifiant, et non pas de la
composition {id commande, id client}.
Solution : Crer une entit Client et une association
entre les entits Commande et Client.


P
r
o
f

:


M
.
Q
B
A
D
O
U

Cours
CSI
ChapIII. Modlisation Logique des Donnes

3me FN
Une relation est en 3me FN ssi :
Elle est en 2me FN.
Tout attribut nappartenant pas une cl ne dpend pas dun attribut non-cl.
Autrement, il ne doit pas y avoir de dpendance directe entre attributs non-cls
La 3me FN est llimination des redondances dues aux DF dduites par transitivit.
Exemple : lentit suivante ne respecte pas la 3FN :
En effet, lattribut Capacit dpend directement du modle, et non
de lattribut id-avion.
Solution : Pour tre en 3FN, il faut crer une entit Modle,
et dplacer lattribut capacit dans cette nouvelle entit.
Modle
appartient
1,1
0,N


P
r
o
f

:


M
.
Q
B
A
D
O
U

Cours
CSI
ChapIII. Modlisation Logique des Donnes

BCNF
Une relation est en BCNF ssi :
Elle est en 3me FN.
toutes les proprits non-cls ne soient pas source de dpendance fonctionnelle
(DF) vers une partie de la cl.
La Forme Normale de Boyce-Codd, ou BCNF, assure la cohrence des donnes,
ainsi que la non-redondance.
Exemple : lentit Universit, avec un identifiant compos de
(id_etudiant, id_matiere) et les DF suivantes :
{id etudiant, id matiere id enseignant, note}
{id enseignant id matiere}
Cette entit nest pas en BCNF car id_matiere, qui fait partie
de lidentifiant, dpend directement dun autre attribut
Solution : Pour passer en BCNF, il faut crer
une nouvelle entit Enseignant, et la relier
Universit au travers dune association Enseigner.


P
r
o
f

:


M
.
Q
B
A
D
O
U

Cours
CSI
ChapIII. Modlisation Logique des Donnes

VII. Exercices
Exercice1 :(Normalisation dun schma)
Rendre Normal le schma suivant sachant les rgles suivantes :
Le code postal dtermine la ville
La donne dun tudiant et dune anne Universitaire dtermine la classe de
ltudiant.
Rponse :
Exercice2 et 3 :Voir TD


P
r
o
f

:


M
.
Q
B
A
D
O
U

Cours
CSI
ChapIII. Modlisation Logique des Donnes

VII. Exercices Correction Ex2
1. MCD


P
r
o
f

:


M
.
Q
B
A
D
O
U

Cours
CSI
ChapIII. Modlisation Logique des Donnes

2. Diagramme de classe


P
r
o
f

:


M
.
Q
B
A
D
O
U

Cours
CSI
ChapIII. Modlisation Logique des Donnes

3. MLD