Académique Documents
Professionnel Documents
Culture Documents
Cours BD Complet
Cours BD Complet
M. RAMDANI
PLAN
1.
2.
3.
4.
5.
6.
Bibliographie
Ouvrages en Franais
Ouvrages en anglais
Exemples dapplications
Classiques
1.
Multimdia / Mobilit
2.
Bases de connaissances
3.
Redondance et incohrence
des donnes
Modifications
anarchiques
noCompte
100
200
300
400
600
nomClient
Hugh Paycheck
Dollard Cash
Hugh Paycheck
Ye San Le Su
Ye San Le Su
adresseClient
Ottawa
Montral
Qubec
Montral
Montral
noTlphone
noTlphone
(999)999-9999
(888)888-8888
(555)555-5555
(777)777-7777
(777)777-7777
dateOuverture
5/ 05/ 1999
10/ 10/ 1999
10/ 10/ 1999
20/ 7/ 2000
15/ 10/ 2000
solde
1000.00
2000.00
1000.00
5.00
10.00
(444)444-4444
montant
Prt
10000.00
dateDbut taux
frquence
Intrt Paiement
10/ 6/ 2000 10
12
(777)777-7777
20000.00
20/ 7/ 2000
12
52
(999)999-9999
5000.00
15/ 8/ 2000
12
12
BD et SGBD
LOGICIEL SGBD
Intgrit smantique
Fiabilit
Exemple de panne
SGBD : mcanismes de
rcupration
Revenir un tat cohrent suite
une panne
Scurit
SGF :
types de donnes
enregistrements
champs
type dopration
cryptage
10
Transaction
squence
d'oprations
de
manipulation de donnes excutes
par un programme
11
Indpendance Physique
Indpendance logique
12
Modle de donnes
entit-relation,
Rseau (CODASYL) (SOCRATE),
Hirarchique IMS dIBM,
Relationnel,
Orient-objet,
Modles smantiques,
..
13
Entit-Relation
propritaire
vhicule
N
VEH.
Mar
que
Type
Cou
leur
Date
personne
NCIN
Nom
Pr
nom
14
Modles de SGBD
Hirarchique
Pointeurs entre les
diffrents
enregistrements
Rseau
Pointeurs
Arborescence
modifie
15
Modles de SGBD
Relationnel (SGBDR)
Tables deux dimensions
Relations
Dductifs
Tables
Prdicats
Objets
Classes et instances
16
17
Hachage
Fichier dans lequel les articles sont placs dans
des paquets dont ladresse est calcule laide
dune fonction de hachage applique la cl:
La cl dun article est une donne dans larticle
fichier dtudiant
tudiant (N, Nom, prnom, Adresse, rsultats)
Le fichier est divis en p paquet de longueur L
18
Index
a5
0
a2
4
6 7 8
a57
a3
12
a10
a5 a2 a57 a3 a10
0
12 18
18
19
Niveau Logique
Niveau Physique
20
Niveau Physique
ladministrateur
21
Niveau Logique
ladministrateur et le
dveloppeur
22
Niveau externe
Vues
Environnement de programmation (intgration
avec un langage de programmation
Interfaces conviviales et Langages de 4e
Gnration
Outils daides (e.g. conception de Schmas)
Outils de saisie, dimpression dtats
Dbogueurs
Passerelles (rseaux, autres SGBD, etc..)
Concerne
lutilisateur et le dveloppeur
23
Le Facteur Humain
Lditeur (le constructeur) du SGBD
Ladministrateur de la base
Rle de ladministrateur
discute avec les diffrents utilisateurs
conception dun schma logique (diffrentes
vues)
conception du schma physique
installation de la base et rglages fins (tuning)
gre lvolution de la base (nouveaux besoins,
utilisateurs)
Outils sa disposition fournis par lditeur du
SGBD
24
Le Facteur Humain
25
Monde rel
Modle rseau
Modlisation
Modle relationnel
.
Schma conceptuel
.
LDD<>MD
.
Schma physique
schma externe n
schma externe 1
LDD
26
27
Perspective historique
28
Analyse
Indpendant d'un
SGBD
Spcifications
de la BD
Conceptio
n
Schma
conceptuel
(MCD)
Transformation en
modle logique
Spcifique un
SGBD
Schma
logique
(Schma
relationnel)
Conceptio
n physique
Schma
interne
(tables)
29
30
31
Entit:
Reprsentation dans le
systme d'information d'un
objet, matriel ou immatriel
ayant une existence propre et
conforme aux choix de
l'entreprise.(ex: une personne,
une voiture, un client, un
projet)
Client
Nom
Prnom
Attribut:
32
Prnom
Attribut compos
Subdivis en
attributs
Prnom
Nom
Prnom
Prnom
Attribut driv
Valeur calcule
ge
33
Nom
Rue
Prnom
jj/mm/aa
Client
ge
Code postal
Ville
34
35
Type dattribut
Nom et Prnom: chanes de caractres
Date de naissance: Date
ge: nombre entier
Occurrences dattributs
Ex.: Bleu, rouge sont les occurrences dun
attribut Couleur
36
Prnom
Date de
naissance
Etc
DUPONT
Albert
01/06/70
WEST
James
03/09/63
MARTIN
Marie
05/06/78
DUPONT
Albert
03/05/82
N client
Nom
Prnom
Date de
naissance
Etc
DUPONT
Albert
01/06/70
WEST
James
03/09/63
MARTIN
Marie
05/06/78
DUPONT
Albert
03/05/82
38
Notation graphique:
CLIENT
Numro
39
CLIENT
Commande
PRODUIT
40
41
Associations 1-1
Ex. un client donn ne commande quun seul
produit. Un produit donn nest command
que par un seul client
CLIENT
1,1
Commande
1,1
PRODUIT
42
Associations 1-N
Ex. un client donn commande plusieurs
produits. Un produit donn nest command
que par un seul client.
CLIENT
1,N
Commande
1,1
PRODUIT
43
Associations M-N
EX. un client donn commande plusieurs
produits. Un produit donn est command
par plusieurs clients.
CLIENT
1,N
Commande
1,N
PRODUIT
44
Attributs dassociations
Dans une association M-N il est possible de
caractriser lassociation par des attributs.
Ex. une commande est passe une Date
donnes et concerne une Quantit de
produit fixe.
CLIENT
1,N
Date
Commande
1,N
PRODUIT
Quantit
45
Spcifications
Les clients sont caractriss par un numro
de client, leur nom, prnom, date de
naissance, rue, code postal et ville.
Ils commandent des produits une date
donne et dans une quantit donne.
Les produits sont caractriss par un
numro de produit, leur dsignation et leur
prix unitaire.
46
Spcifications (suite)
Chaque produit est fourni par un
fournisseur unique (mais un fournisseur
peut fournir plusieurs produits).
Les fournisseurs sont caractriss par un
numro de fournisseur et leur raison
sociale
47
48
Nom
N produit
N client
Date
Quantit
Dsignation
Prnom
Date de
naissance
Client
Commande
1,N
1,N
Produit
1,1 Prix unitaire
Rue
Code postal
Ville
fourni
N fourn.
Raison soc.
1,N
Fournisseur
49
Modle relationnel
Relations et attributs
50
Modle relationnel
Gnralits
51
Modle relationnel
Notation: R(A1,A2,,An)
Ex. PRODUIT(Nproduit,dsignation,PU)
52
Modle relationnel
Contraintes dintgrit
Cl primaire:
ensemble dattributs dont les valeurs
permettent de distinguer les tuples les uns
des autres (identifiant)
Ex. Nproduit cl primaire de la relation
PRODUIT
Notation: clef primaire
53
Modle relationnel
Contraintes dintgrit
Cl trangre:
Attribut qui est cl primaire dune autre
relation
Ex. connatre le fournisseur de chaque
produit ajout de lattribut Nfournisseur
la relation PRODUIT
Notation: Clef trangre
54
Modle relationnel
Contraintes dintgrit
Notation
Clef primaire
Clef secondaire
Ex. PRODUIT(Nproduit,
dsignation,PU,Nfournisseur)
Contraintes de domaine
PU 0 et PU 10000
55
Modle relationnel
56
Modle relationnel
57
Modle relationnel
58
Modle relationnel
Ex.
COMMANDE(Nclient,Nproduit,Date,Qua
ntit)
59
Modle relationnel
CLIENT(Nclient,nom,prnom,Date de
naissance,Rue,CP,Ville)
PRODUIT(Nproduit,dsignation,PU,Nfournisse
ur)
FOURNISSEUR(Nfournisseur,raison sociale)
COMMANDE(Nclient,Nproduit,Date,Quantit)
60
Modle Relationnel:
Dfinitions
61
Dfinition (suite 1)
Une relation est reprsente sous forme dune table. Lordre des
colonnes ou des lignes na pas dimportance. Les colonnes sont
distingues par les noms dattributs et chaque ligne reprsente un
lment de lensemble, (un nuplet).
62
Dfinition (suite 2)
Exemple :
VEHICULE(NOM:CHAR(20), TYPE:CHAR(10),
ANNEE:ENTIER)
63
Dfinition (suite 3)
64
SCHMA :
FOURNISSEURS (FNOM:CHAR(20),
FADRESSE:CHAR(30))
FOURNITURE (FNOM:CHAR(20), PNOM:CHAR(10),
PRIX:ENTIER))
COMMANDES (NUM_COMDE:ENTIER, NOM:CHAR(20),
PNOM:CHAR(10), QUANTITE;ENTIER))
CLIENTS (NOM: CHAR(20), CADRESSE:CHAR(30),
BALANCE:RELATIF)
65
UNIVERS DATTRIBUTS :
U={FNOM, PNOM, NOM, FADRESSE,
CADRESSE, PRIX, NUM_CODE, QUANTITE,
BALANCE}
RELATION UNIVERSELLE :
FPCC(FNOM, PNOM, NOM, FADRESSE,
CADRESSE, PRIX, NUM_CODE, QUANTITE,
BALANCE)
66
Modle Relationnelle :
Oprations et Langages
67
68
Algbre Relationnelle
69
Projection
70
Projection: Exemples
a) On limine la colonne C dans la relation R
R
ABC
a b c
d a b
c b d
a b e
e e a
A,B(R)
<
<
A
a
d
c
e
B
b
a
b
e
71
Projection: Exemples
b) On limine la colonne B dans la relation R
R
A
a
d
c
a
e
A,C(R)
B
b
a
b
b
e
C
c <
b
d
e <
a
A
a
d
c
a
e
C
c
b
d
e
e
72
Slection
73
Slection: Exemples
a) On slectionne les nuplets dans la relation R
tels que lattribut B vaut b :
RABC
ABC
a b1
B= b( R )
a b1
d
c
a
e
a2
b3
b4
e5
c b3
a b4
74
Slection: Exemples
b) On slectionne les nuplets :
(A=a v B= a) C3
R:
a 2
ABC
a b1
d a2
c b3
a b4
e e5
AB C
a b 1
d
75
Slection: Exemples
c) On slectionne les nuplets tels que la 1re et
la 2me colonne sont identiques :
R:
ABC
AB C
a b1
A= B( R )
e e 5
d a2
c b3
a b4
e e5
76
Condition de Slection
La condition C dune slection peut tre une
formule logique quelconque avec des et ()
et des ou () entre termes de la forme Ai Aj
et Ai a O :
Ai et Aj sont des attributs,
a est un lment (une valeur) du domaine de
Ai,
est lun de =,<,<=,>,>=,!=
77
78
( NOM=Jean (COMMANDES) )
-----------------------------R
La relation R(NOM, PNOM, NUM, QTE)
contient les nuplets dont lattribut NOM a la
valeur Jean
La relation R(PNOM) contient tous les
produits commands par Jean.
PNOM
79
Produit Cartsien
NOTATION : RS
ARGUMENTS : 2 relations quelconques:
R(A1,..,An) S(B1,Bk)
80
|R|
RxS
A B
1 1
1 2
3 4
a
a
b
b
b
a
a
c
a
|S|
|R|x |S|
A B C D E
1
81
Opration renommer ()
Client2
(Client)
Client.noClient, Client2.noClient, (
Client2 (Client)))
Client.noTlphone = Client2.noTlphone
Client. noClient
40
40
60
60
(Client
Client2.noClient
40
60
40
60
82
Client2(noClient2, nomClient2,
(Client)
noClient, noClient2 (Client Client2(noClient2, nomClient2,
noTlphone) (Client)) Client. noClient Client2.noClient
noTlphone)
40
40
60
60
40
60
40
60
83
Jointure Naturelle
NOTATION : RS
84
RS
B C D
A B C D
b c
b c
a d
b
85
Jointure Naturelle
86
R.
A
R.
B
S.A S.B D
A B D
1 a b
2 c b
4 a a
RxS
87
RS =R.A,R.B,D(R.A=S.AR.B=S.B(Rx S))
88
89
jointure
Jointure : Exemple
RxS
S
91
Jointure : Exemple
T=AC(RxS) =R AC S
A
T=B=D(RxS) =R B=D S
A
Equijointure
92
IMMEUBLE(ADI,NBETAGES,AGES,DATESC,PROP)
APPIM(ADI,NAP, OCCUP, ETAGE)
Nom du propritaire de limmeuble o est situ
lappartement occup par Durand :
PROP(IMMEUBLE OCCUP="Durand"(APPIM))
Appartements occups par des propritaires
dimmeuble :
ADI,NAP,ETAGE (IMMEUBLE OCCUP=PROPAPPIM)
93
UNION
NOTATION : RS
ARGUMENTS : 2 relations quelconques:
R(A1,..,Am) S(A1,Am)
SCHMA DE T= RS : T(A1,..,Am)
95
UNION : Exemple
S A
RS A
96
Diffrence
NOTATION : R-S
ARGUMENTS : 2 relations quelconques:
R(A1,..,Am) S(A1,Am)
97
Diffrence : Exemple
R
A
S A
R-S A
98
INTERSECTION
NOTATION : RS
SCHMA DE T= R S : T(A1,..,Am)
T={t| t R t S}
99
INTERSECTION: Exemple
S A
RS A
B
A
RS = R-(R-S)
100
Semijointure
NOTATION : RS
,X1,..,Xk)
101
Semijointure
102
Semijointure : Exemple
R S =A,B,CRS
B C D
b c
b c
a d
103
Division: Exemple
NU
M
NOM
PNOM QTE
1
2
3
4
5
6
Jean
Jean
Jean
Paul
Paul
Vincen
t
brique
s
ciment
parpai
ng
brique
s
Parpai
ng
parpai
ng
100
2
2
200
3
3
104
Division: Exemple
R=NOM,PNOM(COMM)
R
NOM
PNOM
Jean
Jean
Jean
Paul
Paul
Vincen
t
brique
s
ciment
parpai
ng
brique
s
Parpai
ng
parpai
ng
PROD
PNOM
brique
s
ciment
parpai
ng
RPROD
NOM
Jean
105
Division: Exemple
R
RS
a
a
a
b
b
c
c
c
d
d
b
b
b
c
d
e
e
e
a
a
x
y
z
x
x
x
y
z
z
y
m
n
o
o
m
m
n
o
p
p
x
y
z
m
n
o
a
c
b
e
106
Division
NOTATION : R S
ARGUMENTS : 2 relations:
R(A1,..,Am ,X1,..,Xk) S( X1,..,Xk)
VALEUR DE T=R S :
107
Division
La division sexprime en fonction du produit
cartsien, de la projection et de la diffrence :
R S=R1-R2 o
R1= A1,..,Am (R) et R2= A1,..,Am ((R1xS)-R)
108
109
Principe
SQL (Structured Query Language) est le Langage de
Requtes standard pour les SGBD relationnels (Standard
dvelopp par ANSI et adopt par ISO/IEC 1986)
Expression dune requte par un bloc SELECT FROM
WHERE
SELECT <liste des attributs a projeter>
FROM <liste des relations argument>
WHERE <conditions sur un ou plusieurs attributs>
Dans les requtes simples, la correspondance avec
lalgbre relationnelle est facile mettre en vidence.
110
EXPRESSION DE BASE
111
Projection
Soit le schma de relation COMMANDES
(NUM,CNOM,PNOM,QUANTITE)
REQUTE: Information sur toutes les commandes
SQL:
SELECT NUM,CNOM,PNOM,QUANTITE
FROM COMMANDES
ou
SELECT *
FROM COMMANDES
112
Projection :
Distinct
Soit le schma de relation
COMMANDES(NUM,CNOM,PNOM,QUANTITE)
REQUTE: Produits commands
SELECT PNOM
FROM COMMANDES
NOTE: Contrairement lalgbre relationnelle, SQL nlimine
pas les dupliqus. Pour les liminer on utilise DISTINCT :
SELECT DISTINCT PNOM
FROM COMMANDES
Le DISTINCT peut tre remplac par la clause UNIQUE dans
certains systmes
113
Slection
Soit le schma de relation
COMMANDES(NUM,CNOM,PNOM,QUANTITE)
REQUTE: Produits commands par Jean
PNOM (CNOM=JEAN(COMMANDES))
SQL:
SELECT PNOM
FROM COMMANDES
WHERE CNOM = JEAN
REQUTE : produits commands par Jean en quantit suprieur
100
SELECT PNOM
FROM COMMANDES
114
115
116
117
118
119
Jointure
Soit le schma de relations
COMMANDES(NUM,CNOM,PNOM,QUANTITE)
FOURNITURE(PNOM,FNOM,PRIX)
REQUTE: Nom, Cot, Fournisseur des Produits commands
par Jean
SQL :
SELECT COMMANDES.PNOM, PRIX, FNOM
FROM COMMANDES, FOURNITURE
WHERE CNOM = JEAN AND
COMMANDES.PNOM = FOURNITURE.PNOM
NOTE: Cette requte est quivalente une jointure naturelle. Noter quil
faut toujours expliciter les attributs de jointure.
NOTE: SELECT COMMANDES.PNOM, PRIX, FNOM FROM COMMANDES,
121
Opration de jointure
SQL2
opration
Algbre
R1 CROSS JOIN R2
R1 JOIN R2 ON R1.A <
R2.B
R1 NATURAL JOIN R2
produit
R1R2
cartsien
R1 R1.A < R2.B R2
thta-jointure
R1 R2
Jointure
naturelle
122
123
SQL:
SELECTE1.ENOM,E1.SAL
FROMEMPLOYEE1,EMPLOYEE2
WHEREE2.EMPNO=12546AND
E1.SAL>E2.SAL
124
Union
COMMANDES(NUM,CNOM,PNOM,QUANTITE)
FOURNITURE(PNOM,FNOM,PRIX)
REQUTE: Produits qui cotent plus que 1000F ou ceux
qui sont commands par Jean
125
SQL:
SELECTPNOM
FROMFOURNITURE
WHEREPRIX>=1000
UNION
SELECTPNOM
FROMCOMMANDES
WHERECNOM=Jean
NOTE: Lunion limine les dupliqus. Pour garder les dupliqus on utilise
lopration UNIONALL
126
Intersection
127
SQL:
SELECTDEPTNO
FROMDEPARTEMENT
WHERELOC=Paris
INTERSECT
SELECTDEPTNO
FROMEMPLOYE
WHERESAL>20000;
NOTE: Lintersection limine les dupliqus. Pour garder les
dupliqus on utilise lopration INTERSECTALL
128
129
PNOM,PRIX,FNOM
FOURNITURE
PNOM IN(SELECT PNOM
FROM COMMANDES
WHERE CNOM = JEAN)
ou
SELECT
FROM
FOURNITURE.PNOM,PRIX,FNOM
FOURNITURE,COMMANDES
WHERE
FOURNITURE.PNOM =
COMMANDES.PNOM
AND CNOM = JEAN
130
131
132
133
134
136
137
138
139
140
141
Division
142
143
Fonctions de calcul
144
145
SELECT SUM
FROM FOURNITURE
ou
FROM FOURNITURE
146
147
Oprations dAgrgation
148
GROUP BY
149
GROUP BY
LA BASE
LE RESULTAT :
VILLE
FNOM
PARIS
TOTO
VILLE
COUNT(FNOM)
PARIS
DUPON
D
PARIS
LYON
LYON
DURAN
D
LYON
LUCIEN
LYON
REMI
150
AVG(PRIX)
Briques
10.5
ardoise
8.9
151
HAVING
152
HAVING
Avant la clause Having
PNOM
FNOM
PRIX
FNOM
PRIX
BRIQUE TOTO
105
ARDOIS LUCIEN 110
ARDOIS LUCIEN 110
E
DURAN 120
E
DURAN 120
ARDOIS D
ARDOIS D
E
E
NOTE: La clause HAVING permet dliminer des
partitionnements, comme la clause WHERE limine des nuplets du rsultat dune requte. Par exemple on garde les
produits dont le nombre des fournisseurs est >= 2. De cette
faon des conditions de slection peuvent tre appliques
avant le calcul dagrgat (clause WHERE) mais aussi aprs
(clause HAVING).
153
154
ORDER BY
155
FONCTION
Toumani
Aubire
Lopes
Quilliot
Clermont
Schneider
Jaudouin
Clermont
SALAIRE
PA
PA
2000
2000
Professeur
Professeur
ADRESSE
Versailles
3500
3500
Professeur
Cournon
3500
156
Anomalie dajout
Anomalie de modification :
Anomalie de suppression
Conclusion :
La relation norganise pas les informations sous une forme
normalise : elle nest pas normalise.
157
158
159
VILLE
Casa
Casa
Rabat
Rabat
Rabat
Fs
FONCTI
maire
prfet
maire
prfet
adjoint
maire
NOM
Sajid
jalal
Bahraoui
Amrani
faycal
kabaj
B_PUBLIC
mairie
prfecture
mairie
prfecture
mairie
mairie
DATE_DE_CON
1678
1854
1784
926
1784
1872
On a la DF FONCTION BATIMENT_PUBLIC
On a la DF (VILLE,BATIMENT_PUBLIC) DATE_DE_CONSTRUCTION.
160
161
REFLEXIVITE :
si un ensemble dattributs Y est inclus dans un autre ensemble dattribu
X Y
Y,W
si X Y et Y Z alors X Z
PSEUDO-TRANSITIVITE :
si X Y,Z alors X Y et X Z
REUNION :
si X Y et X Z alors X Y,Z
162
TITRE
la route sinueuse
Ludivine
lextravertie
1998
163
164
165
166
167
MODELE
MARQUE
168