Documente Academic
Documente Profesional
Documente Cultură
CLE
ACCESS
RELATIONNEL
ORACLE
SGBD
ENREGISTREMENT
TABLE
DONNEE
SQL SERVER
MODELE LOGIQUE
3
B. EL HATIMI
Les fichiers
B. EL HATIMI
Systmes de fichiers
Comptabilit
Caractristiques
Chirurgie
Problmes
Consultations
Psychiatrie
Caractristiques
Plusieurs applications
Dupont
Symptomes : y
Turlututu : sqj
Symptomes : y
Turlututu : sdd
Analyses : xxx
Dupond
Turlututusqjsk
Symptom: yyyy
Analyses xxxx
plusieurs formats
plusieurs langages
Turlututudhjsd
Analyses :xx
Problmes
Difficults de gestion
Duhpon
Duipont
Turlututu : sq
B. EL HATIMI
Symptomes : yy
Analyses : xxxx
Symptomyyyy
Analysesxxxx
Symptomes : yy
Turlututudhjsd
Redondance (donnes)
Dupont
Symptomes : y
Turlututu : sqj
Symptomes : y
Turlututu : sdd
Analyses : xxx
Dupond
Turlututusqjsk
Symptom: yyyy
Analyses xxxx
Caractristiques
Plusieurs
applications
plusieurs formats
plusieurs langages
Turlututudhjsd
Analyses :xx
Redondance de
donnes
Problmes
Difficults de gestion
Incohrence des donnes
Duhpon
Duipont
Turlututu : sq
Symptomes : yy
Analyses : xxxx
Symptomyyyy
Analysesxxxx
Symptomes : yy
Turlututudhjsd
Interrogations
Caractristiques
ComptaSoft
Dupont
Symptomes : y
Turlututu : sqj
Symptomes : y
Turlututu : sdd
Analyses : xxx
Dupond
Turlututusqjsk
Symptom: yyyy
Analyses xxxx
Turlututudhjsd
Analyses :xx
ChiruSoft
Plusieurs applications
plusieurs formats
plusieurs langages
Redondance de
donnes
Pas de facilit
dinterrogation
Question dveloppement
Problmes
ConsultSoft
B. EL HATIMI
Duhpon
Duipont
Turlututu : sq
Symptomes : yy
Analyses : xxxx
Symptomyyyy
Analysesxxxx
Symptomes : yy
Turlututudhjsd
PsychiaSoft
Difficults de gestion
Incohrence des donnes
Cots levs
Maintenance difficile
Pannes ???
Caractristiques
ComptaSoft
Dupont
Symptomes : y
Turlututu : sqj
Symptomes : y
Turlututu : sdd
Analyses : xxx
Dupond
Turlututusqjsk
Symptom: yyyy
Analyses xxxx
Turlututudhjsd
Analyses :xx
ChiruSoft
Plusieurs applications
plusieurs formats
plusieurs langages
Redondance de
donnes
Pas de facilit
dinterrogation
Question dveloppement
ConsultSoft
Duhpon
Duipont
Turlututu : sq
Symptomes : yy
Analyses : xxxx
Symptomyyyy
Analysesxxxx
Symptomes : yy
Turlututudhjsd
PsychiaSoft
Problmes
Partage de donnes
Difficults de gestion
Incohrence des donnes
Cots levs
Maintenance difficile
Gestion de pannes ???10
Caractristiques
ComptaSoft
Dupont
Symptomes : y
Turlututu : sqj
Symptomes : y
Turlututu : sdd
Analyses : xxx
Dupond
Turlututusqjsk
Symptom: yyyy
Analyses xxxx
Turlututudhjsd
Analyses :xx
ChiruSoft
Plusieurs applications
plusieurs formats
plusieurs langages
Redondance de donnes
Pas de facilit
dinterrogation
Question dveloppement
ConsultSoft
B. EL HATIMI
Duhpon
Duipont
Turlututu : sq
Symptomes : yy
Analyses : xxxx
Symptomyyyy
Analysesxxxx
Symptomes : yy
Turlututudhjsd
PsychiaSoft
Problmes
Difficults de gestion
Incohrence des donnes
Cots levs
Maintenance difficile
Gestion de pannes ???
11
Partage des donnes ???
Confidentialit
Caractristiques
ComptaSoft
Dupont
Symptomes : y
Turlututu : sqj
Symptomes : y
Turlututu : sdd
Analyses : xxx
Dupond
Turlututusqjsk
Symptom: yyyy
Analyses xxxx
Turlututudhjsd
Analyses :xx
ChiruSoft
Plusieurs applications
plusieurs formats
plusieurs langages
Redondance de donnes
Pas de facilit
dinterrogation
Question dveloppement
Redondance de code
ConsultSoft
Duhpon
Duipont
Turlututu : sq
Symptomes : yy
Analyses : xxxx
Symptomyyyy
Analysesxxxx
Symptomes : yy
Turlututudhjsd
PsychiaSoft
Problmes
Difficults de gestion
Incohrence des donnes
Cots levs
Maintenance difficile
Gestion de pannes ???
Partage des donnes ???
12
Confidentialit ???
B. EL HATIMI
15
B. EL HATIMI
II- Indpendance
Logique
IX - Gestion de la
confidentialit
VIII - Concurrence
daccs
III Langage de
manipulation
BD
IV - Gestion des
vues
V - Optimisation des
questions
16
17
B. EL HATIMI
18
Niveaux dabstraction
Niveau externe fournit pour chaque
utilisateur une description des donnes
perues (vue).
Niveau logique contient la description et la
structuration des donnes selon un modle
propre au SGBD.
Niveau interne correspond la structure de
stockage supportant les donnes (les
fichiers).
19
B. EL HATIMI
Conception
Implantation
dans un SGBD
20
Utilisation
Modle relationnel.
Conception dune base de donnes.
Algbre relationnel.
Thorie de la normalisation.
21
B. EL HATIMI
10
22
B. EL HATIMI
11
Modle Rseau
Modle Hirarchique
Modle Relationnel (Oracle, SQL Server,
MySQL)
Standard du march - 90% du
march des SGBD
Modle Objet
Futur ?
Modle Relationnel Objet
24
Un petit historique
25
B. EL HATIMI
12
Un petit historique
Annes 1990 : Dbut des SGBD Orients
Objet. Datawarehouse . Datamining. BD
rfrence spatiales.
1992 : Norme ISO SQL2 (International
Organization for Standardization)
2004 : Standard SQL 2003 ou SQL3 publi
Maintenant : BD multimdia, BD spatiotemporelles, Data Warehouses, .
26
Legacy Systems
Les premiers modles logiques et SGBD
(dits Legacy Systems) sont apparus dans les
annes1970s.
Approche systme des BDs.
Modliser la BD comme un ensemble de
fichiers relis par des pointeurs.
Privilgier loptimisation des entres sorties.
Modles daccs
27
B. EL HATIMI
13
28
Legacy Systems
Forces :
Proche du niveau interne (gestion des fichiers)
Efficacit (accs disques)
Faiblesses :
Manque dindpendance Programmes-Donnes
Grande complexit des LMD associs
LMD de bas niveau laissant la navigation la charge
du programmeur
29
B. EL HATIMI
14
CODD le fondateur
Edgar F. CODD (1923 2003)
1969 : Premier article de CODD sur le
modle relationnel.
1970 : Article fondateur de CODD (IBM
SanJose) sur le modle relationnel A
Relational Model for Large Shared Data
Banks
30
CODD le fondateur
31
B. EL HATIMI
15
4.
32
Le domaine de valeurs
Le domaine de valeurs : Ensemble dinstances dun
type lmentaire caractris par un nom : Les
domaines sont les ensembles dans lesquels les
donnes prennent leurs valeurs.
Exemples de domaines : Entier, Rel, Alpha-numrique,
Couleur {Rouge, Blanc, Bleu, Jaune}
Un domaine peut tre dfini en intention en
dfinissant une proprit caractristique des valeurs du
domaine (Rel, Boolen, Caractre) ou dfini en
extension en donnant la liste des valeurs le composant
(Couleur {Rouge, Blanc, Bleu, Jaune})
33
B. EL HATIMI
16
Relation ou Table
34
Nom de la table
ELECTRA S.A.
Comptoirs du SOUSS
Africaine de cbles
Electronia
SMEC
Casablanca
Agadir
Tanger
Casablanca
Casablanca
35
B. EL HATIMI
17
Attribut ou Colonne
Un attribut : Colonne dune relation caractrise par un
nom. Un attribut est toujours associ un domaine (on
parle de contrainte de domaine).
Domaines possibles : Rel, Entier, Boolen, Date,
Heure, Caractre, Chane de caractres, Montaire,
domaines dfinis en extension
Le choix des domaines pour les attributs dpend du
SGBD.
36
Un attribut ou Colonne
CLIENT
Code
LibelleClient
Adresse
C342
C235
C145
C98
C114
ELECTRA S.A.
Comptoirs du SOUSS
Africaine de cbles
Electronia
SMEC
Casablanca
Agadir
Tanger
Casablanca
Casablanca
37
B. EL HATIMI
18
38
Enregistrement ou Tupple
39
B. EL HATIMI
19
40
Valeurs complexes
Le modle relationnel nadmet que des domaines
ayant des valeurs lmentaires.
Il est interdit dans le modle relationnel de manipuler
des attributs ayant des valeurs complexes :
instances de graphes, listes, enregistrement
Exemple :
41
B. EL HATIMI
20
42
Attributs atomiques
Les attributs dans le modle relationnel
doivent tre simples (non complexes) et
monovalus (non multivalus). On parle
dattributs atomiques.
Premire Forme Normale Tous les
attributs de la relation sont atomiques (Voir
partie Thorie de la normalisation).
43
B. EL HATIMI
21
44
Code
C342
C235
C145
C98
C114
LibelleClient
Adresse
ELECTRA S.A.
Comptoirs du SOUSS
Africaine de cbles
Electronia
SMEC
Casablanca
Agadir
Tanger
Casablanca
Casablanca
45
B. EL HATIMI
22
Contrainte dunicit
Contrainte dunicit : Deux enregistrements distincts
ne peuvent avoir la mme valeur pour la cl.
Code
C342
C235
C145
C98
C114
C145
46
LibelleClient
Adresse
ELECTRA S.A.
Comptoirs du SOUSS
Africaine de cbles
Electronia
SMEC
SODETA
Casablanca
Agadir
Tanger
Casablanca
Casablanca
Rabat
1.
2.
3.
4.
47
B. EL HATIMI
23
48
49
B. EL HATIMI
24
Contrainte dentit
Contrainte dentit : Toute relation doit
possder une cl primaire et tout attribut
participant cette cl primaire doit tre non
nul (attribut obligatoire).
Remarque importante : Tous les attributs
composant la cl primaire dune relation sont
soumises la contrainte de non nullit.
50
Cl - Notions supplmentaires
Avant le choix de la cl primaire, toute cl est dite
cl candidate.
Un ensemble dattributs qui inclut une cl est
appel super-cl.
Remarque : Une super-cl nest pas une cl
puisque par dfinition ce nest pas un ensemble
minimal dattributs constituant une cl.
51
B. EL HATIMI
25
Cl naturelle et cl artificielle
Si dans la ralit lobjet reprsenter possde un
identifiant, alors on le choisira comme cl et on
parlera de cl naturelle. Sinon, on lui attribuera une
cl artificielle.
EMPLOYE (Nom, Prenom, Fonction, Salaire) :
Nom+Prenom est une cl naturelle.
EMPLOYE (Code : Entier, Nom, Prenom, Fonction,
Salaire) : Code a t ajout comme une cl
artificielle de type entier.
Code devient la cl primaire et Nom+Prenom garde
la contrainte dunicit.
52
Cl trangre
Comment exprimer les liens entre objets ?
Exemple : Un employ est rattach un service.
53
B. EL HATIMI
SERVICE
EMPLOYE
IdService
NomService
Matricule
Nom
Fonction
26
Cl trangre - Dfinition
Une cl trangre (ou cl externe) est un
ensemble dattributs dune relation formant une
cl dans une autre relation. La relation qui
contient la cl de rfrence est dite parent (ou de
rfrence), celle contenant la cl trangre
enfant.
Une cl trangre exprime un lien logique (mais
aussi une dpendance) entre deux relations.
54
Cl trangre
SERVICE
IdService
NomService
EMPLOYE
Matricule
Nom
Fonction
Service
Rf : Service
55
B. EL HATIMI
27
Cl trangre
On crira dans la description du schma
relationnel :
EMPLOYE (Matricule, Nom, Fonction ,Service)
SERVICE (IdService, NomService)
56
Cl trangre
SERVICE
IdService
S01
S02
EMPLOYE
Matricule
57
B. EL HATIMI
NomService
Service comptabilit
Service achats
Nom
Fonction
Service
1234
Filali
Chef de service
S02
5678
Alami
Secrtaire
S01
28
Contrainte rfrentielle
1.
2.
58
Contrainte rfrentielle
SERVICE
IdService
S01
S02
EMPLOYE
Matricule
59
B. EL HATIMI
NomService
Service comptabilit
Service achats
Nom
Fonction
Service
1234
Filali
5678
Alami
Secrtaire
S01
29
Cl trangre compose
60
Cl trangre compose
61
B. EL HATIMI
30
Cl trangre compose
NVol
NSige
Compagnie
HeureDpart
A451
24
RAM
15H30
A451
15
RAM
15H30
F266
24
Jet4You
16H00
NRservation
NomClient
Vol
Sige
1252
Muawiya
A451
24
1253
Yazid
F266
15
1254
Marwan
Y102
24
1255
Abd Al Malik
Y102
10
62
Cl trangre rflexive
EMPLOYE
Matricule
Nom
Fonction
Responsable
Rf : Responsable
63
B. EL HATIMI
31
64
2125745
2125990
Nom
Amaoui
Ibrahimi
Bensedik
Adresse
Tlphone
Rabat 061333344
Agadir
Tanger
061232344
022113344, 065122345
65
B. EL HATIMI
CNE
2226123
Nom
Amaoui
Adresse
Rabat
2125745
2125990
Ibrahimi
Bensedik
Agadir
Tanger
IdTel
Tlphone
1
061333344
2
061232344
3
022113344
4
065122345
tudiant
2226123
2125745
2125990
2125990
32
66
Contraintes dintgrit
Les donnes dune BD ne sont pas
indpendantes mais obissent des rgles
appeles contraintes dintgrit et qui
assurent la cohrence de la BD.
Ces rgles doivent tre dclares
explicitement et associes au schma de la
base de donnes.
67
B. EL HATIMI
33
Contraintes dintgrit
Dfinition : Une contrainte dintgrit est une
assertion vrifie par les donnes de la base de
donnes tout moment. Le but des contraintes est
dassurer la cohrence logique de la base de
donnes.
On distingue plusieurs catgories de contraintes :
Contraintes structurelles et comportementales
Contraintes intra-relations et inter-relations
Contraintes ensemblistes.
68
1.
2.
3.
4.
5.
69
B. EL HATIMI
34
70
Contraintes intra-relations
Une contrainte intra-relation est une
contrainte qui met en jeu des donnes issues
dune seule relation.
71
B. EL HATIMI
35
72
73
B. EL HATIMI
36
Contraintes inter-relations
Une contrainte inter-relations est une
contrainte qui met en jeu des donnes issues
de deux relations (ou plus rarement de plus
que deux).
Exemple : Contrainte rfrentielle (cl
trangre).
74
B. EL HATIMI
37
Notion dhritage
1.
2.
3.
76
Notion dhritage
Solution A : On garde la table sur-type compose
des attributs de tous les sous-types et disparition
des tables sous-types. Avec un tel principe les
proprits spcifiques chacun des sous-types ne
seront pas valorises pour certaines occurrences
de la relation sur-type.
Exemple : ARTICLE (Code, Libelle, Rayon, Prix,
couleur, taille, DatePeremption, TemperatureMin,
TemperatureMax)
77
B. EL HATIMI
38
Notion dhritage
Solution B : Ajout des attributs de la table sur-type aux
tables sous-types et disparition de la table sur-type. Cette
solution entrane une redondance importante des
donnes du sur-type sil ny a pas dexclusion entre les
sous-types.
Exemple :
ARTICLE_VETEMENT (Code, Libelle, Rayon, Prix, couleur,
taille)
ARTICLE_PERISSABLE (Code, Libelle, Rayon, Prix,
DatePeremption, TemperatureMin, TemperatureMax)
ARTICLE_POISSON (Code, Libelle, Rayon, Prix, KiloUnite,
DatePeremption, TemperatureMin, TemperatureMax)
1.
2.
783.
Notion dhritage
1.
2.
3.
79
B. EL HATIMI
39
80
Schma relationnel de la BD
1.
2.
3.
4.
81
B. EL HATIMI
5.
40
82
CLIENT
NumClient
Nom
Adresse
VEHICULE
Matricule
Marque
Modle
Anne
Puissance
Client
Rf : Client
B. EL HATIMI
NumPol
Type
Date
Client
Vhicule
Rf : Client
Rf : Vhicule
IMPLICATION
Accident
Vhicule
Rf : Accident
Rf : Vhicule
83
POLICE
ACCIDENT
NumAcc
DateAcc
Montant
41
84
Types de relation
1.
2.
85
B. EL HATIMI
42
86
87
B. EL HATIMI
43
88
NumAcc
2308
2408
1709
DateAcc
15/06/2008
17/06/2008
08/01/2009
Montant
1200,00
2500,00
3400,00
3409
11/02/2009
800,00
89
B. EL HATIMI
44
90
1.
2.
3.
4.
5.
6.
91
B. EL HATIMI
45
92
TD 1
REF
IN143
IN213
DESIGN
QTE
PC DELL PIV
15
IMP Laser HP A4 5
NFacture : 88/05
Date : 23/11/05
NCommande : C112/05
Nom Client : Compagnie Industrielle du Gharb
Adresse : 20 Avenue Med V, KENITRA
Nom Reprsentant : ZITOUNI Hassan
REF
IN143
IN213
93
B. EL HATIMI
DESIGN
QTE
PC DELL PIV
10
IMP Laser HP A4 5
PU
8000
2000
MONTANT
80000
10000
TOTAL : 90000
46
95
B. EL HATIMI
47
96
97
B. EL HATIMI
48
Introduction
Lalgbre relationnelle a t dfinie par
CODD (1970) comme un ensemble
doprations formelles agissant sur des
relations et produisant dautres relations.
Lalgbre relationnelle est un langage de
manipulation de donnes (LMD) algbrique
la base des LMD prdicatifs (e.g. SQL).
98
Dfinition
LMD algbrique : exprime une requte
comme un enchanement doprations
conduisant au rsultat (e.g. Algbre
relationnelle).
LMD prdicatif : spcifie par des prdicats
les proprits du rsultat (e.g. SQL). Un
prdicat est une proposition susceptible de
devenir vraie ou fausse selon les valeurs
attribues aux variables quelle contient.
99
B. EL HATIMI
49
Dfinition
Exemple : USINE (NU, NomU, Ville)
Slectionner les usines qui se trouvent
Casablanca ?
LMD algbrique : Algbre relationnelle
[Ville = Casablanca'] USINE
LMD prdicatif : SQL
select * from USINE where ville = Casablanca'
10
0
10
1
B. EL HATIMI
50
10
2
B. EL HATIMI
51
Union
Union : opration binaire qui partir de
deux relations R et S ayant le mme
schma (Mme attributs : nom et domaine
de valeurs), cre une relation U de mme
schma et de population gale lunion
des tuples de R et S (en liminant les
doublons).
On notera U =
10
4
Intersection
Intersection : opration binaire qui partir de
deux relations R et S ayant le mme
schma, cre une relation I de mme
schma et de population gale
lintersection des tuples de R et S. Les tuples
retenus sont ceux ayant la mme valeur pour
tous les attributs.
On notera I =
10
5
B. EL HATIMI
52
Diffrence
Diffrence : opration binaire qui partir de
deux relations R et S ayant le mme
schma, cre une relation D de mme
schma et ayant comme tuples ceux
appartenant R et nappartenant pas S.
On notera D = R S.
Remarque : R S S R
10
6
Projection
10
7
B. EL HATIMI
53
Projection
Projection : Exemple : Soit la relation
ETUDIANT (CNE, Nom, Prnom, DateNaiss,
Filire)
CNE
10
8
Nom
Prnom
DateNaiss
Filire
2214
Himmi
Ahmed
11/02/1984
GI
2218
Karimi
Lamiaa
06/05/1983
GI
2158
Alaoui
Imane
21/12/1984
SIG
9908
Ikama
Nabil
10/08/1981
SIG
Projection
Projection : Exemple :
[CNE,Nom,Prnom] ETUDIANT
10
9
B. EL HATIMI
CNE
Nom
Prnom
2214
Himmi
Ahmed
2218
Karimi
Lamiaa
2158
Alaoui
Imane
9908
Ikama
Nabil
54
Projection
Remarque importante :
Dans le cas o aucune cl napparat dans
les oprandes de la projection, une cl
primaire arbitraire est attribue au rsultat :
ce sera la composition de tous les attributs
restant. Ceci permettra dliminer les
ventuels doublons.
11
0
B. EL HATIMI
55
Slection
Les conditions (prdicat) possibles sont de la
forme :
<Attribut> <Oprateur> <Valeur>
Les oprateurs sont les oprateurs de
comparaison {=, <, , >, , }.
On peut combiner plusieurs prdicats avec
les oprateurs logiques {ET, OU}
11
2
Slection
Slection : Exemple :
[Filire = SIG] ETUDIANT
CNE
Nom
Prnom
DateNaiss
Filire
2158
Alaoui
Imane
21/12/1984
SIG
9908
Ikama
Nabil
10/08/1981
SIG
11
3
B. EL HATIMI
56
Expressions algbriques
On peut combiner entre eux les
oprateurs algbriques.
Pour rpondre la question quels sont les
noms et les prnoms des tudiants de la
filire SIG, on crira:
[Nom,Prnom] [Filire = SIG] ETUDIANT
11
4
Expressions algbriques
SIG = [Nom,Prnom] [Filire =
SIG] ETUDIANT
SIG
Nom
Prnom
Alaoui
Imane
Ikama
Nabil
11
5
B. EL HATIMI
57
Expressions algbriques
On pourra aussi crire :
R = [Filire = SIG] ETUDIANT
SIG = [Nom,Prnom] R
11
6
Exemple
Soit la relation :
B. EL HATIMI
58
Exemple
PERSONNE ( nom , prnom , jour-nais ,
mois-nais , an-nais , sexe)
H = [Nom,Prnom] [sexe = M ET annais < 1975] PERSONNE
11
8
Produit Cartsien
11
9
B. EL HATIMI
59
Libell
Prix
P1
Chemise
220,00
P2
Pantalon
450,00
P3
Veste
500,00
P4
Polo
280,00
CodeCouleur
Couleur
C1
Noir
C2
Bleu
12
0
12
1
B. EL HATIMI
CodeProduit
Libell
Prix
CodeCouleur
Couleur
P1
Chemise
220,00
C1
Noir
P1
Chemise
220,00
C2
Bleu
P2
Pantalon
450,00
C1
Noir
P2
Pantalon
450,00
C2
Bleu
P3
Veste
500,00
C1
Noir
P3
Veste
500,00
C2
Bleu
P4
Polo
280,00
C1
Noir
P4
Polo
280,00
C2
Bleu
60
Renommage
Renommage : Oprateur unaire qui permet de
renommer les attributs dune relation. Cet
oprateur est utile avant les jointures s'il y a un
problme d'homonymie ou de synonymie, ou
avant les oprations ensemblistes (union,
diffrence, intersection) qui requirent que les
attributs correspondants aient le mme nom.
On notera :
12
[nom_attribut1 : nouveau_nom_attribut1, ] R
2
Jointure
12
3
B. EL HATIMI
61
Thta - Jointure
12
4
Equi-Jointure
Thta-jointure particulire o loprateur
dans le prdicat est une galit. Pour les
autres cas on parle de inqui-jointure.
Remarque : Dans le cas de lqui-jointure,
les deux attributs gaux apparaissent chacun
dans le rsultat
duplication dune mme
valeur dans chaque tuple. Pour liminer cette
redondance on utilise la jointure naturelle.
12
5
B. EL HATIMI
62
Jointure naturelle
Jointure naturelle : tant donn deux relations R(X,
Y) et S(Y, Z), o X, Y, Z symbolisent soit un
attribut, soit un ensemble d'attributs, et o Y n'est
pas vide, la jointure (naturelle) de R et S, note : R
* S cre une nouvelle relation temporaire, de
schma (X, Y, Z).
La population de R * S est l'ensemble des tuples
{x, y, z} crs par composition d'un tuple {x, y} de
R et d'un tuple {y, z} de S, tels que les deux tuples
12 ont la mme valeur pour Y.
6
Jointure naturelle
Exemple :
Soit le schma relationnelle :
ETUDIANT (CIN, CNE, Filire, Moyenne)
PERSONNE (CIN, Nom, Prnom,
DateNaiss, Adresse)
J = ETUDIANT * PERSONNE
J (CIN, CNE, Filire, Moyenne, Nom,
12
Prnom, DateNaiss, Adresse)
7
B. EL HATIMI
63
Jointure naturelle
Exemple :
Pour rpondre la question donner le
nom, le prnom et ladresse de tous les
tudiants on crira lexpression
algbrique :
[Nom, Prnom, Adresse] (
ETUDIANT * PERSONNE )
12
8
Exemple
Soit le schma relationnel suivant :
PERS (CIN, Nom, Adresse)
ETUDIANT (CIN, CNE, Filire) CIN cl
trangre
OBTENU (CNE, NomCours, Note)
crire lexpression donnant le nom des
tudiants ayant valid le cours
12
Algorithmique ?
9
B. EL HATIMI
64
Exemple
Soit le schma relationnel suivant :
PERS (CIN, Nom, Adresse)
ETUDIANT (CIN, CNE, Filire)
OBTENU (CNE, NomCours, Note)
Jointure naturelle
Remarque :
En notant A * B, la jointure naturelle se fait
sur lensemble des attributs communs (sil y
en a).
On peut spcifier les attributs en question en
notant : A * [X] B o X est un sous-ensemble
des attributs communs.
13
1
B. EL HATIMI
65
Division
13
2
Division
Division : Exemple :
R
13
3
B. EL HATIMI
R/S
66
Division - Exemple
ETUDIANT (CNE, Nom, Adresse, Filire)
OBTENU (CNE, NomCours, Note)
OBTENU.CNE rfrence ETUDIANT.CNE
PREREQUIS (NomCours, NomPrrequis)
Quels sont les tudiants (donner leur CNE) qui
peuvent sinscrire au module JAVA (cest--dire qui
ont valid les pr-requis de ce cours) ?
13
4
Division - Exemple
CNE
Nom
Adresse
AL ABBASSI Abu Al
Abbas
Rue de Bagdad,
Casablanca
1GI
21502150
AL FATIMI Ubayd
Allah
Rue de Mehdia,
Casablanca
1GI
20402040
AL AMAWI Muawiya
Rue de Damas,
Casablanca
1SIG
NomCours
13
5
B. EL HATIMI
Filire
22332233
NomPrrequis
JAVA
C++
JAVA
Algorithmique
Dveloppement Web
Algorithmique
67
Division - Exemple
CNE
NomCours
Note
22332233
Dveloppement Web
13,50
22332233
Algorithmique
12,00
22332233
Rseaux
11,50
22332233
C++
15,50
21502150
Rseaux
12,00
21502150
Dveloppement Web
12,00
20402040
Algorithmique
14,00
20402040
Godsie
16,50
13
6
Division - Exemple
Nous cherchons les pr-requis du cours JAVA :
R = [NomPrrequis] [NomCours = JAVA]
PREREQUIS
Pour pouvoir faire la division on renomme la colonne
NomPrrequis en NomCours :
[ NomPrrequis : NomCours ] R
13
7
B. EL HATIMI
68
Division - Exemple
Les lves pouvant sinscrire dans JAVA sont :
S = [CNE, NomCours] OBTENU / R
Un seul lve vrifie cette condition.
CNE
22332233
13
8
13
9
B. EL HATIMI
69
Relation universelle
On appelle relation universelle toute relation
unique compose de lunion de tous les
attributs des relations constituant la base de
donnes.
Exemple : Soit la relation universelle
suivante : ETUDIANT (CNE, Nom, Adresse,
CodeModule, NomModule, Note)
14
0
Redondance de donnes
Redondance de donnes
CNE
Nom
Adresse
TPR
..
..
14
1409 CCC Rabat
1
B. EL HATIMI
..
TPR
NomModule
Techniques de
programmation
Techniques de
programmation
Rseaux 1
..
Techniques de
programmation
Note
12,5
8,5
10,5
..
14
70
1.
2.
3.
14
2
Anomalies dinsertion
1.
2.
14
3
B. EL HATIMI
71
Anomalies dinsertion
CNE
Nom
Adresse
CodeModule
NomModule
Note
1000
AAA
Casablanca
TPR
Techniques de
programmation
12,5
1130
BBB
Agadir
TPR
Techniques de
programmation
8,5
1000
AAA
Casablanca
RES1
Rseaux 1
10,5
1130
BBB
Agadir
BD1
Databases 1
16
1000
AAA
Casablanca
BD1
Bases de donnes 1 15
..
..
14
4 1409
CCC
..
Rabat
..
TPR
..
Techniques de
programmation
..
14
Anomalies de suppression
Supposons quon veuille supprimer les notes
concernant le module Rseaux 1 .
Pour cela il faudra supprimer tous les
enregistrements concernant ce module.
Aprs la suppression, nous aurons supprim
toutes les notes concernes mais aussi les
informations concernant le module
Rseaux 1 lui-mme
Perte
dinformations.
14
5
B. EL HATIMI
72
Anomalies de modification
Supposons quon veuille modifier le nom du
module Rseaux 1 en Rseaux et
Tlcoms 1 .
Pour cela il faudra rpter la modification
autant de fois quil y a dlves inscrits dans
ce module. Donc, autant de risques derreur
de saisie entranant une incohrence de la
base.
14
6
Anomalies de modification
CNE
B. EL HATIMI
Nom
Adresse
CodeModule
NomModule
Note
1000
AAA
Casablanca
TPR
Techniques de
programmation
12,5
1130
BBB
Agadir
TPR
Techniques de
programmation
8,5
1000
AAA
Casablanca
RES1
Rseaux et
tlcoms 1
10,5
1130
BBB
Agadir
BD1
Bases de donnes 1 16
1000
AAA
Casablanca
BD1
Bases de donnes 1 15
14 ..
7 1409
..
CCC
..
Rabat
..
RES1
..
Rseaux Tlcoms
..
14
73
14
8
B. EL HATIMI
74
15
0
CNE
Nom
Fil
NomFil
22201
XXX
GI
Gnie Info.
21996
AAA
GI
Gnie Info.
22203
BBB
SIG
21998
YYY
SIG
22204
CCC
SIG
Question
Comment construire une base de donnes
sans anomalies de mise jour ?
15
1
B. EL HATIMI
75
Solution
1.
2.
3.
15
2
15
3
B. EL HATIMI
76
15
4
B. EL HATIMI
77
Dcomposition
1.
2.
15
6
15
7
B. EL HATIMI
78
15
8
1.
2.
15
9
B. EL HATIMI
79
16
0
16
1
B. EL HATIMI
80
16
2
DF lmentaire
Une DF, X
A, est dite lmentaire si A est une
information unique, et si X est un ensemble minimum
dinformations, cest dire que X est soit une
information unique soit quil nexiste pas de sousensemble X de X tel que X
A.
Rfrence article
Nom article : lmentaire
(Numro facture, Rfrence article )
Quantit
facture : lmentaire
(Numro facture, Rfrence article )
Nom article :
Non lmentaire car nous avons la DF Rfrence article
Nom article
16
3
B. EL HATIMI
81
1.
2.
3.
16
4
1.
2.
3.
16
5
B. EL HATIMI
82
Donne 1
Donne 3
Donne 2
Exemple :
16
6
Numro facture
Numro reprsentant
Numro reprsentant
Nom reprsentant
Numro facture
Nom reprsentant cette DF nest pas
directe
16
7
B. EL HATIMI
83
NP : Numro du produit
NF : Numro du fournisseur
Date : Date de livraison
Qt : Quantit livre
NF : Numro du fournisseur
Adr son adresse et Tl son tlphone
16
9
B. EL HATIMI
NF
Adr et NF
Tl (quon peut noter NF
Tl)
NomProduit + NF
Prix
Adr,
84
17
0
B. EL HATIMI
85
17
2
17
3
B. EL HATIMI
NP
Poids
NomP
Couleur
86
17
4
NP
Poids
NomP
Couleur
17
5
B. EL HATIMI
NP
Poids
NomP
Couleur
87
17
6
R (A, B, C, D, E, F, G)
(A,B)
C, D, E, F
B
C
D
E, F
G
A
17
7
B. EL HATIMI
88
17
8
17
9
B. EL HATIMI
89
18
0
B. EL HATIMI
90
1.
2.
18
2
1.
2.
B. EL HATIMI
91
Thorme de Heath
Thorme : Toute relation R(X,Y,Z) est
dcomposable sans perte dinformation en
R1 = [X,Y] R et R2 = [X,Z] R sil y a dans
R une DF de X vers Y (X Y).
18
4
Thorme de Heath
18
5
B. EL HATIMI
Dmonstration :
R1*R2 contient au moins tous les tuples de R, puisque
tout tuple xyz de R cre un tuple xy dans R1 et un
tuple xz dans R2, qui sont concatns par jointure
naturelle en xyz.
R1*R2 ne peut pas contenir de tuples en plus de ceux
de R. Ceci est dmontr par l'absurde.
Soit xyz un tuple de R1*R2, qui n'appartient pas R.
xyz provient de deux tuples de R: xyz' et xy'z. Etant
donn que xyz n'appartient pas R, on a: z'z et y'y,
ce qui est contraire la DF XY.
92
Thorme de Heath
1.
2.
18
6
1.
2.
3.
4.
5.
6.
18
7
B. EL HATIMI
93
18
9
B. EL HATIMI
94
19
0
19
1
B. EL HATIMI
95
19
2
19
3
B. EL HATIMI
96
19
5
B. EL HATIMI
97
19
6
B. EL HATIMI
98
19
8
5.
19
9
B. EL HATIMI
99
20
1
B. EL HATIMI
Solution :
EMPLOYE est en 1FN car elle nest pas en
2FN puisque NEmp NomEmp, adresse
En appliquant deux fois le thorme de
HEATH on obtient le schma quivalent
suivant qui est la 3FN
EMPLOYE2 (NEmp, NomEmp, adresse)
PROJET (NProj, NomProj)
ELP (NEmp, NLab, NProj)
100
20
2
20
3
B. EL HATIMI
101
20
4
20
5
B. EL HATIMI
102
20
6
20
7
B. EL HATIMI
103
20
8
20
9
B. EL HATIMI
104
21
0
21
1
B. EL HATIMI
105
Dpendances multivalues
Soit la relation PRO_EMPL (Typrod, Nuprod,
Codemp)
Typrod est le type de produits. Chaque type
de produit englobe plusieurs produits
identifis par Nuprod. Un employ Codemp
gre un ou plusieurs types de produits (et
donc tous les produits qui en font partie).
La cl est compos de lensemble des
attributs.
21
2
Dpendances multivalues
21
3
B. EL HATIMI
Typrod
NuProd
Codemp
A
A
A
A
A
3
4
6
3
4
009
009
009
023
023
A
B
B
6
2
13
023
009
009
B
B
2
13
067
067
106
Dpendances multivalues
21
4
Typrod
NuProd
Codemp
A
A
A
A
3
4
6
3
009
009
009
023
A
A
B
4
6
2
023
023
009
B
B
B
3
2
3
009
067
067
Dpendances multivalues
Dfinition :
Soit la relation R (A1, A2, An), et X et Y
des sous-ensembles de A1, A2, An. On dit
que X multi-dtermine Y et on note X
Y
si, tant donnes des valeurs de X, il y a un
ensemble de valeurs de Y associes et cet
ensemble est indpendant des autres
attributs Z = R (X, Y) de la relation R.
21
5
B. EL HATIMI
107
Dpendances multivalues
En analysant les anomalies dues aux
dpendances multivalues, CODD a dfini
les quatrime (4FN) et cinquime (5FN)
formes normales pour les liminer.
21
6
21
7
B. EL HATIMI
Dfinition :
La DM X
Y de la relation R est une
DM non-triviale si et seulement si X nest pas
un sous-ensemble de Y et si X U Y R.
Exemple : dans la relation PRO_EMPL
(Typrod, Nuprod, Codemp), la DM Typrod
Nuprod est non triviale : cest une
DMNT.
108
21
8
21
9
B. EL HATIMI
109
2
3
Typrod Codemp
A
009
A
023
B
009
B
067
22 A sans redondances.
0
B. EL HATIMI
110