Vous êtes sur la page 1sur 6

ENSSA Tlemcen @ Dpartement Informatique

I- Dfinition
Comme dj vue dans le chapitre prcdent, le modle logique
de donne relationnel MLDR est une reprsentation du monde
rel en utilisant les notions de tables ou relations. Cependant, un
modle efficace doit non seulement comporter des objets
(relation) mais aussi les oprations sur ces objets.
La structure fondamentale (relation) du MLDR ressemble
beaucoup plus un ensemble (de tuples), ce qui fait que les
oprations vont tre des oprations sur ensemble (union,
intersection ).
On distingue deux types doprations : les oprations actives
(permettent de modifier la base de donnes insertion,
suppression, modifier) et les oprations passives (permettent la
drivation de donnes par la recherche et lassociation de
plusieurs donnes partir de quelques relations slection,
union ).
Algbre relationnel est un algbre portant sur le deuxime type
doprations (passives).
IIReprsentation dune relation
Avant de dfinir les oprations de lalgbre relationnel, il faut
reprsentait la relation dune manire algbrique.
Une relation R est reprsenter algbriquement par:
R={rk=< , , , >}
Avec n le nombre dattribut (colonne) on lappel degr.
k le nombre de tuple (lignes) on lappel Cardinalit.
Exemple : la relation module
ID
MODULES
E10 Mathematics
E12 Electronics
E14 Programming
Cette relation sera reprsenter algbriquement par :
Module{<E10,Mathematics>,<E12,Electronics>,<E14,Program
ming>} la cardinalit de cette relation est 3 et le degr est 2.
IIIOprations dalgbre relationnel
On distingue 10 oprations :
UNION
Binaire
Oprations sur
DIFFERENCE
Binaire
INTERSECTION Binaire
ensembles classiques
PRODUIT
Binaire
PROJECTION
Unaire
RESTTRICTION
Unaire
Oprations
SELECTION
Unaire
complmentaires
JOINTURE
Binaire
DIVISION
Binaire
RENOMMER
Unaire
1- Union
Soit les deux relations R={rk= < 1 , 2 , , >}
et

S={si=< 1 , 2 , ,
>}. La relation Q= = {rk} {si}
est dite une union de R et S ssi R et S sont compatible union
c..dire : n=m et pour chaque attribut il y a un attribut tel
que et possdent le mme domaine.
Si une mme occurrence existe dans R et S, elle napparat
quune seule fois dans le rsultat de lunion Q.
2- Diffrence
Soit les deux relations R={rk= < 1 , 2 , , >}
et

S={si=< 1 , 2 , ,
>}. La relation Q=\ = {rk}\ {si} est
dite diffrence entre R et S ssi R et S sont compatible union.
Module : Base de donnes

2016-2017 Semestre II
3- Intersection
Soit les deux relations R={rk= < 1 , 2 , , >}
et

S={si=< 1 , 2 , ,
>}. La relation Q= = {rk} {si}
est dite intersection de R et S ssi R et S sont compatible union.
Exemples : Soit les deux relations suivantes :
Etudiant
Instructeur
Nom
Prenom
Nom
Prenom
BENALI
Zoubir
KARA
Ahmed
AMRANE
Toufik
BALI
Omar
BOUZIANE
Hmida
BENALI
Zoubir
OUMELLAL ALI
KORSO
Henia
AIT IDIR
Houria
AMRANE
Toufik
RAHMANI
FATNA
OUELD ALI
EL BATOUL
Etudiant Instructeur
Etudiant Instructeur
Nom
Prenom
Nom
Prenom
BENALI
Zoubir
BENALI
Zoubir
AMRANE
Toufik
AMRANE Toufik
BOUZIANE
Hmida
OUMELLAL ALI
AIT IDIR
Houria
RAHMANI
FATNA
OUELD ALI
EL BATOUL
KARA
Ahmed
BALI
Omar
KORSO
Henia
Etudiant \ Instructeur
Instructeur \ Etudiant
Nom
Prenom
Nom
Prenom
BOUZIANE
Hmida
KARA
Ahmed
OUMELLAL ALI
BALI
Omar
AIT IDIR
Houria
KORSO Henia
RAHMANI
FATNA
OUELD ALI
EL BATOUL
4- Produit
Soit les deux relations R={rk= < 1 , 2 , , >}
et

S={si= < 1 , 2 , ,
>} . La relation Q= = {rk= <

1 , 2 , , , 1 , 2 , ,
>} est dite produit de R et S.
Dune manire : cest la concatnation des attributs.
Exemples : Soit les deux relations suivantes :
Personne
Cadeau
nom
prenom
article
Prix
OUMMI Lahbiba
Livre
450
BABA
Laziz
Sac
1000
Montre
1500
Personne Cadeau
nom
prenom
OUMMI Lahbiba
OUMMI Lahbiba
OUMMI Lahbiba
BABA
Laziz
BABA
Laziz
BABA
Laziz

article
Livre
Sac
Montre
Livre
Sac
Montre

Prix
450
1000
1500
450
1000
1500

Ce produit permet de gnrer toutes les


dassociation entre un cadeau et une personne.

Chap3 : Algbre relationnel

A.BEKADDOUR

possibilits

page 1

ENSSA Tlemcen @ Dpartement Informatique


5- Projection
Soit la relation R={ri=< 1 , 2 , , >} et soit X lensemble
des attributs de R et T un sous-ensemble de X. On appel
projection de R sur T dfinit par :
Project R(T)= {rk(T) : r R }, k i
Remarque : une autre notation de la projection existe aussi :

()
Exemple : soit la relation suivante :
PERSONNE
idPersonne
nom
prenom
5
Kouider
Ezzedam
1
Kadour
El vint quatre
12
Moh
Bab el ouad
3
Hacen
Tero
Project PERSONNE(nom,prenom) ou encore
( , )
nom
prenom
Kouider
Ezzedam
Kadour
El vint quatre
Moh
Bab el ouad
Hacen
Tero
Cette projection permet de lister tous les noms et prnoms de
toutes les personnes personnes.
6- Restriction
Soit la relation R={ri=< 1 , 2 , , >} on appel restriction de
R sur les attributs rp et rq dfinit par :
Restrict R(comparer(rp,rq))={rk : comparer(rp,rq) est vraie et rk
R}, k {1 .. i} et p,q {1 .. n}.
Exemple : soit la relation :
AUCTION
REF
Achat
Cout Vente
Prix
R005
17-Mar-84 25.00 23-Sep-86 12.50
R020
02-Dec-43 4.00
17-Oct-88 145.50
R022
09-Nov-79 7.50
21-Nov-88 3.25
R048
15-May-68 3.50
16-Mar-89 8.50
R049
15-May-68 3.50
16-Mar-89 8.50
R073
27-Aut-76 18.50 25-Mar-89 9.25
Restrict Auction(Prix>Cout)
REF
Achat
Cout Vente
Prix
R020
02-Dec-43 4.00
17-Oct-88 145.50
R048
15-May-68 3.50
16-Mar-89 8.50
R049
15-May-68 3.50
16-Mar-89 8.50
Cette restriction permet de restreindre toutes les Enchres
ceux ayant le cout infrieur au prix de vente.
7- Slection
Soit la relation R={ri=< 1 , 2 , , >} on appel slection de

R sur la condition ( , +1
, , ) dfinit par :

Select R()={rk : ( , +1
, , ) est vraie et rk R}, k {1 ..
i} et p, q {1 .. n}.

( , +1
, , ) est une condition compose de comparateurs
logiques (et ou non) et de comparateurs relationnels (< > =
).
Remarque : une autre notation de la slection existe aussi :

2016-2017 Semestre II
Select PERSONNE(idPersonne5) ou encore
(idPersonne 5)
idPersonne
nom
prenom
5
Kouider
Ezzedam
12
Moh
Bab el ouad
Cette slection permet de lister les personnes dont lidentifiant
est suprieur ou gale 5.
8- Jointure
Soit les deux relations R={rk=< 1 , 2 , , >} et

S={si=< 1 , 2 , ,
>}. La jointure de la relation R sur
lattribut rp avec la relation S sur lattribut sq est la relation Q
qui concatne les paires r et s.
Q=Join(R,S [(rp,sq)])= {rk=< 1 , 2 , , , 1 , 2 , ,

> , }
Remarque : une autre notation de la jointure existe aussi :

( , )
On fait, la jointure nest quun produit cartsien suivi dune
slection: ()
Exemple : Soit les deux relations suivantes :
PERSONNE
CADEAU
nom
OUMMI
BABA
DJEDI

prenom
Lahbiba
Laziz
Lakbir

Age
46
52
69

Agec
99
46
55
10

Module : Base de donnes

Prix
450
1000
1500
400

Join(PERSONNE,CADEAU [ Age Agec ^ prix 1000])


Ou encore PERSONNE Age Agec ^ prix 1000 CADEAU
Ou encore (Age Agec ^ prix 1000) PERSONNECADEAU
nom
OUMMI
OUMMI
BABA
DJEDI

prenom
Lahbiba
Lahbiba
Laziz
Lakbir

Age
46
46
52
69

Agec
99
46
99
99

article
Livre
Sac
Livre
Livre

Prix
450
1000
450
450

Cette jointure permet de gnrer toutes les possibilits


dassociation entre un cadeau et une personne en respectant
lge maximum conseill pour un cadeau et la somme de 50DA
ne pas dpasser.
On distingue trois types de jointure (en vrit il y on a cinq) :
- Thta-jointure : cest une jointure dans laquelle la condition
est une comparaison entre des attributs de la premire relation
avec des attributs de la deuxime relation. Lexemple prcdent
Join(PERSONNE,CADEAU : Age Agec ^ prix 50) est une
thta-jointure.
- Equi-jointure : cest une Thta-jointure dans laquelle la
condition est un test dgalit.
Soit toujours lexemple prcdent :
PERSONNE
CADEAU
nom
OUMMI
BABA
DJEDI

prenom
Lahbiba
Laziz
Lakbir

Age
46
52
69

Agec
99
46
55
10

()
Exemple : soit la relation suivante :
idPersonne
nom
prenom
5
Kouider
Ezzedam
1
Kadour
El vint quatre
12
Moh
Bab el ouad
3
Hacen
Tero

article
Livre
Sac
Montre
dguisement

article
Livre
Sac
Montre
dguisement

Prix
450
1000
1500
400

Join(PERSONNE,CADEAU : Age = Agec)


ou encore PERSONNEAge = Agec CADEAU
Ou encore (Age = Agec ) PERSONNECADEAU
nom
OUMMI

Chap3 : Algbre relationnel

prenom
Lahbiba

Age
46

Agec
46

A.BEKADDOUR

article
Sac

Prix
1000

page 2

ENSSA Tlemcen @ Dpartement Informatique


- Nature-jointure : cest une jointure dans laquelle la condition
est un test dgalit entre des attributs portant le mme nom.
Dans la relation rsultat, ces attributs ne sont pas dupliqus,
mais fusionns en une seule colonne par couple dattributs.
Exemple : Soit les deux relations suivantes :
PERSONNE
CADEAU
nom
OUMMI
BABA
DJEDI

prenom
Lahbiba
Laziz
Lakbir

Age
46
52
69

Agec
69
46
52
10

article
Livre
Sac
Montre
dguisement

Prix
450
1000
1500
400

2016-2017 Semestre II
RENOMMER(R[prenom/prnom]) ou encore
/
PERSONNE
nom
OUMMI
BABA
DJEDI

prenom
Lahbiba
Laziz
Lakbir

Age
46
52
69

-Rsum :

Join(PERSONNE,CADEAU : Age)
Ou encore PERSONNEAge CADEAU
Ou encore (Age ) PERSONNECADEAU
nom
OUMMI
BABA
DJEDI

prenom
Lahbiba
Laziz
Lakbir

Age
46
52
69

article
Sac
Montre
Livre

Prix
1000
1500
450

9- Division

Soit les deux relations R={rk=< 1 , 2 , ,


, 1 , 2 , , >
} et soit X lensemble de tous les attributs-x et Y lensemble de
tous les attributs-y de R. Donc :

rj(X)=< 1 , 2 , , > et rj(Y)=< 1 , 2 , , >


i
l
Soit S={s =< 1 , 2 , , >}. Donc s (Z)=< 1 , 2 , , >.
R est dite une relation de dividende et peut tre crite R={X, Y}
et S est une relation unaire et peut tre crite S= {Z}.
La division de R sur Y par S sur Z est dfinit par :
Diviser(R,S :[Y|Z])={ rq(X): r R et S(Z) rq} sachant que Y
et Z sont compatible union.
Exemple : soit les deux relations suivantes :
ENSEIGNANT
ETUDIANT
Nom
Prenom
Nom
BENALI
Zoubir
Zoubir
AMRANE
Toufik
Toufik
BOUZIANE
Zoubir
Z
BENALI
Toufik
AMRANE
Zoubir
BENALI
FATNA
BOUZIANE
FATNA
X

Diviser(ENSEIGNENT,ETUDIANT :[ENSEIGNENT.nom|ET
UDIANT.nom])
ou encore ENSEIGNENT / ETUDIANT
Nom
BENALI
AMRANE
10- RENOMMER
Soit la relation R={ri=< 1 , 2 , , >} . On appelle
RENOMMER(R[nouveau/r])=R en renommant r par nouveau.
Exemple : soit la relation
PERSONNE
nom
OUMMI
BABA
DJEDI

prnom
Lahbiba
Laziz
Lakbir

Module : Base de donnes

Age
46
52
69

Chap3 : Algbre relationnel

A.BEKADDOUR

page 3

ENSSA Tlemcen @ Dpartement Informatique

2016-2017 Semestre II
R3= Join (R2,MARCHANDISE:[R2.producer= MARCHANDISE.
producer ^ R2.ProductCode= MARCHANDISE.ProductCode ])

ou R3=..
R4= Project R3(Producer,ProductCode,Description)

Ou R4=
Notation graphique :
Producer,ProductCode,Description

R2.producer=MARCHANDISE
.producer ^ R2.ProductCode=
MARCHANDISE.ProductCode

MARCHANDISE
R1.#branch=LIVRAISON.#branch ^
R1.#stock=LIVRAISON.#stock

LIVRAISON

DateIn=DateOut

STOCK
IVExpression algbrique relationnelle
Afin dappliquer les oprations dalgbre relationnel en
pratique, on utilise les expressions algbriques.
Une expression algbrique relationnelle est une combinaison
doprations dalgbre relationnel. On distingue deux types
dcriture de ces expressions : requte et notation graphiques :

: Slection ou restriction
: Jointure
: Projection

VNormalisation
La normalisation est une technique permettant de produire de
nouvelles relations tables) partir dun ensemble de relations
initiales et ceci dans le but dviter :
Les anomalies dinsertion
Prenant lexemple de la base de donnes des magasins de Les anomalies de suppression
vtement de mode MVM. Cette base contient des informations Les anomalies de modification
sur diverses marchandises livres un certain nombre de Prenant lexemple de la relation enregistrement_cours suivante :
branches MVM.
#Id_Etudiant #Module Nom_Etu Adress
Nom_Mod
S21
8049
Hmida
Tlemcen Base Donne
MARCHANDISE (Producteur, Code_produit, Description)
S21
8030
Hmida
Tlemcen Algorithm
LIVRAISON (Producteur, Coe_produit, #Branch, #Stock)
S34
8049
Ali
Mila
Base Donne
STOCK (#Branch, #Stock, Taille, Couleur, Prix_V, Prix_A, DateE,
Cette relation permet denregistrer les dtails de chaque tudiant
DateS)
prenant des cours particulires.
MARCHANDISE
La cl primaire de cette relation est compose :
Producteur
Code_produit
Description
(#Id_Etudiant, #Module)
Boss
J162
Jeans
On remarque que pour la mme valeur de #Id_Etudiant les
Boss
K443
T-shirt
valeurs de Nom_Etu, Adress ne change pas, on dit alors que
Mediya
V612
Veste cuire
#Id_Etudiant dtermine Nom_Etu et Adress (ou encore il y a
LIVRAISON
une dpendance fonctionnelle #Id_Etudiant Nom_Etu) et
Producteur
Code_produit
#Branche
#stock
on crit :
Boss
J162
TLM
1003
#Id_Etudiant Nom_Etu
Boss
J162
ALG
1003
#Id_Etudiant Adress
Mediya
V612
TLM
1010
On remarque aussi que:
STOCK
#Module Nom_Mod
#Branche #stock Taille Couleur Prix_V Prix_A DateE DateS
(#Id_Etudiant, #Module) Nom_Etu
1003
M
Bleu
15.50
15.50
2/5/99 2/5/99
TLM
(#Id_Etudiant, #Module) Adress
1004
S
Bleu
15.50
15.50
2/5/99 8/5/99
TLM
1003
L
Blanc
5.50
4.00
3/4/00 Stock
(#Id_Etudiant, #Module) Nom_Mod
ALG
1045
L
Rouge
17.45
7.85
5/4/00 2/5/00
Si on note X lensemble des attributs de la relation:
ALG
1020
L
Bleu
17.45
7.85
4/5/00 Stock
ALG
X={#Id_Etudiant, #Module, Nom_Etu, Adress, Nom_Mod }
ORN
1004
M
Vert
21.30
12.45
6/7/00 8/8/00
Et X1, X2,X3,X4,X5,X6 des sous-ensemble de X avec:
- On dsir trouver tous les marchandises vendue le mme jour arrivant X1={#Id_Etudiant, #Module }
nimporte quelle branche.
X2={#Id_Etudiant,}
Requte :
X3={#Module }
R1=restrict STOCK (DateE=DateS)
X4={ Nom_Etu }
Ou R1=
X5={Adress}
R2= Join (R1,LIVRAISON:[R1.#branch=LIVRAISON.#branch ^
X6={
Nom_Mod }
R1.#stock=LIVRAISON.#stock ])
Alors,
on dit que la relation enregistrement_cours possde les
Ou R2=.
dpendances fonctionnelles suivantes :
Module : Base de donnes
Chap3 : Algbre relationnel
A.BEKADDOUR
page 4

ENSSA Tlemcen @ Dpartement Informatique


X1 X4
X1 X5
X1 X6
X2 X4
X2 X5
X3 X6
Dune manire gnrale :
Soit R={ri=< 1 , 2 , , >} et soit X lensemble de tous les
attributs de R et Y,Z deux sous-ensemble de X.
On dit quil y a une dpendance fonctionnelle Y Z dans R ssi
les attributs de Y dterminent les attributs de Z.
Si on revient maintenant a notre exemple et on veut insrer un
tudiant qui na pas encore t enregistrer pour un cours. Par
exemple (S33,NULL ,benali,Tlemcen,NULL). On dit alors quil
y a une anomalie dinsertion puisquon va violer le principe
dintgrit des donnes (On va ajouter un tudiant quon ne
connat pas le module quil va prendre la base de donnes
devient non cohrente). De mme, on ne peut pas ajouter un
nouveau module (NULL, 8755,NULL,NULL,chimie) si aucun
tudiant ne la pris.
Nouveau
Etudiant
Nouveau
Module

S33

bbbbb

bbbbb 8755

Benali
bbbbb

Tlemcen
bbbbb

bbbbb

#Nom_Art
El Onka
Deriassa
Djelloul
Abu Almajd
Lotfi DK

Genre
Chaabi
Nation
Inchad mod
Inchad
Rap

#Album1
Lehmam
Djazairi
Ya Rabi
Al Ain
style

Date1
10/01/80
25/05/05
12/12/11
03/11/12
02/11/13

#Album2
NULL
NULL
NULL
Phalastini
Denya

Date2
NULL
NULL
NULL
16/07/06
10/01/05

- ajouter une nouvelle relation.


Relation artiste
Nom_Art
El Onka
Deriassa
Djelloul
Abu Almajd
Lotfi DK

Genre
Chaabi
Nation
Inchad mod
Inchad
Rap

Relation album
Album Date
Lehmam
Djazairi
Ya Rabi
Al Ain
Phalastini
style
Denya

10/01/80
25/05/05
12/12/11
03/11/12
16/07/06
02/11/13
10/01/05

#Nom_Art
El Onka
Deriassa
Djelloul
Abu Almajd
Abu Almajd
Lotfi DK
Lotfi DK

chimie

Si maintenant, on veut supprimer ltudiant N S21, alors on


perdra tous les dtails du module dans lequel il est enregistr.
On dit quil y a une anomalie de suppression.
S21 8030 Hmida Tlemcen Algorithm
Si on veut maintenant modifier la valeur de ladresse de benali
car il a dmnag vers Oran par exemple, alors on doit
modifier tous les lignes contenant Hmida comme NomEtu. On
dit quil y a une anomalie de mise jour.
Une relation peut tre normalise sous 4 formes :
1- 1NF (premire forme normal)
Une relation est dite en 1NF ssi chaque relation possde une cl
primaire (elle peut tre compose) et chaque attribut doit avoir
une seule valeur et non pas un ensemble de valeur. Dune autre
manire une relation est en 1NF si elle ne contient pas de
groupes rpts. Un groupe rpt est une donne ayant des
valeurs multiples pour un certain attribut.
-exemple : table artiste.
Nom_Art
Genre
Nom_Album Date_Album
El Onka
Chaabi
Lehmam
10/01/80
Deriassa
Nation
Djazairi
25/05/05
Djelloul
Inchad mod Ya Rabi
12/12/11
Abu Almajd Inchad
Al Ain
03/11/12
Phalastini
16/07/06
Lotfi DK
Rap
style
02/11/13
Denya
10/01/05
Groupe rpt
On remarque que pour le premier artiste il y a un seul album et
par consquent une seule date de sortie, alors que le quatrime
et le cinquime ont deux albums et on ne peut pas garantir
quelle date de sortie appartient quel album (elle nest pas en
1NF). Pour la rendre en 1NF il y a deux possibilits :
- Ajouter de nouveaux attributs pour manipuler tous les albums.

Module : Base de donnes

2016-2017 Semestre II
Relation artiste

Il fau faire attention pour la deuxime solution (les deux


relations doivent tre lies travers une cl trangre).
2- 2NF (deuxime forme normal)
Une relation est dite en 2NF ssi :
- elle est en 1NF
- Tous les attributs non cl primaire ont une dpendance
fonctionnelle avec toute la cl primaire.
Exemple : soit la relation artiste en 1NF
Nom_Art
El Onka
Deriassa
Djelloul
Abu Almajd
Abu Almajd
Lotfi DK
Lotfi DK

Genre
Chaabi
Nation
Inchad mod
Inchad
Madih
Rap
Rap remix

Date_sign
10/01/80
25/05/05
12/12/11
03/11/12
02/11/13
10/01/80
25/05/05

Agent
ONCI
ONCI
Djelloul
Cherouk
Cherouk
Lotfi
Lotfi

Ag_Tel1
555-1234
555-1234
555-1234
555-1111
555-1111
555-4213
555-4231

Ag_Tel2
NULL
NULL
555-0000
NULL
NULL
555-9999
555-9999

La cl primaire est compos (nom et genre de lartiste). Le


problme ici est que lagent dpond de lartiste et non pas du
genre donc lattribut agent na pas de dpendance fonctionnelle
avec le genre et par consquent avec toute la cl primaire (il y a
une dpendance partielle). Une solution possible est de diviser
la relation en deux relations :
artiste
#Nom_Art
El Onka
Deriassa
Djelloul
Abu Almajd
Abu Almajd
Lotfi DK
Lotfi DK

Genre
Chaabi
Nation
Inchad mod
Inchad
Madih
Rap
Rap remix

Date_sign
10/01/80
25/05/05
12/12/11
03/11/12
02/11/13
10/01/80
25/05/05

agents
Agent
ONCI
ONCI
Djelloul
Cherouk
Lotfi

Chap3 : Algbre relationnel

Nom_Art
El Onka
Deriassa
Djelloul
Abu Almajd
Lotfi DK

Ag_Tel1
555-1234
555-1234
555-1234
555-1111
555-4213

A.BEKADDOUR

Ag_Tel2
NULL
NULL
555-0000
NULL
555-9999

page 5

ENSSA Tlemcen @ Dpartement Informatique


3- 3NF (troisime forme normal)
Une relation est dite en 3NF ssi :
- elle est en 2NF
- elle limine les dpendances transitives
Une dpendance transitive est une dpendance qui survient
partir dun attribut non cl primaire dtermin par un autre
attribut non cl primaire qui est dtermin par la cl primaire.
Dans lexemple prcdent on na pas seulement cr une
relation en 2NF mais aussi en 3NF. Le premier numro de
tlphone et le deuxime numro de tlphone sont des attributs
de lagent et non pas de lartiste ; lorsquils ont t stock dans
la table artiste au dbut ils ont cre une dpendance transitive
(nom_Art Agent NtelAGENT1, NtelAGENT2).
Une solution est dajouter une troisime relation acte en plus
des deux relations artiste et agent.
artiste
#Nom_Art
El Onka
Deriassa
Djelloul
Abu Almajd
Abu Almajd
Lotfi DK
Lotfi DK

Genre
Chaabi
Nation
Inchad mod
Inchad
Madih
Rap
Rap remix

2016-2017 Semestre II

Date_sign
10/01/80
25/05/05
12/12/11
03/11/12
02/11/13
10/01/80
25/05/05

agents
Agent
ONCI
Djelloul
Cherouk
Lotfi

Ag_Tel1
555-1234
555-1234
555-1111
555-4213

Ag_Tel2
NULL
555-0000
NULL
555-9999

acte
#Agent
ONCI
ONCI
Djelloul
Cherouk
Lotfi

#Nom_Art
El Onka
Deriassa
Djelloul
Abu Almajd
Lotfi DK

Pour se rappeler des 3 formes normales on fait intervenir la


fameuse phrase :
The key, the whole key, and nothing but the key
1NF 2NF 3NF
4- BCNF ( forme normal de BOYCE CODD)
Une relation est dite en 3NF ssi :
- elle est en 3NF
- Si une relation a plus d'une cl primaire possible, elle doit tre
divise en plusieurs relations pour sparer les attributs de cl
primaire.
Dans la majorit des bases de donnes, si on rsout le problme
de la 3NF on rsout le problme de la BCNF car la dpendance
transitive rvle les attributs candidats la cl primaire de la
nouvelle relation cre. Toujours dans lexemple prcdent,
lattribut agent est une cl primaire de la relation agent.
proprement parler, la dfinition originale 3NF ne prcise pas
cette exigence, alors BCNF a t dfinit pour assurer cette
exigence.
A noter quil existe dautre forme normal 4NF, 5NF et 6NF.

Module : Base de donnes

Chap3 : Algbre relationnel

A.BEKADDOUR

page 6

Vous aimerez peut-être aussi