Académique Documents
Professionnel Documents
Culture Documents
Thorie
2/16
Dfinitions (1)
Cest le modle le plus utilis par les SGBD actuels. Il
nutilise que le concept de relation. On peut lui associer le
cadre mathmatique de lalgbre relationnelle (non vue ici)
Une relation est une partie dun produit cartsien
densembles. Dans le langage SGBD, les ensembles sont
appels domaine
Larit dune relation est le nombre de ses domaines
Une relation est reprsent par une table o les lignes sont
des uplets et les colonnes des composants (ou attributs).
Exemple :
Numro avocat
Nom
Prnom
Nombre de clients
Lecouturier
Guigui
10
Collard
Bebert
Vergs
Jacquy
100
3/16
Dfinitions (2)
Cette table reprsente un ensemble davocats. Pour facilit
la lisibilit de la table, on nomme les colonnes (nom,
domaine). Exemple (nom, chane de caractres)
Le schma de la relation est la liste de ses attributs
(numro, nom, prnom, nb_clients)
Pour simplifier, on omettra les domaines, ils sont souvent
implicite.
Les notions de cl et de dpendance fonctionnelle seront
aussi utilises. Les attributs constituant la cl dune table
seront souligns.
Si un attribut dune table appartient la cl principale
dautre autre table, il est dit cl externe (ou trangre). On le
mettra en rouge.
4/16
Dfinitions (3)
Le schma de relation donne la signification ou
linterprtation de la relation. Il est dfinit par :
son nom
la liste des attributs
ses cls et cls externes
sa dfinition
la liste des contraintes
5/16
Exemple Complet
Avocats (numro, nom, prnom, nb_clients)
(nom, chane de caractres)
(prnom, chane de caractres)
(numro, entier)
(nb_client, entier)
Important
Avocats (numro, nom, prnom, nb_clients) et le nom ne peut tre
identique au prnom.
crire cette relation correspond :
Numro
Nom
Prnom
Nombre de clients
Lecouturier
Guigui
10
Collard
Bebert
Vergs
Jacquy
100
On fait une abstraction des donnes en ne donnant juste que les noms
des colonnes et les relations entres elles
Numro sera la cl de la relation car elle identifie une ligne de
manire unique : il ne pourra pas y avoir 2 avocat ayant le mme
numro (pas 2 franais ayant le mme numro de scu)
7/16
Exemple 1
(0,n)
Etudiant
N, nom
Etudiant(N, Nom)
Contrle
Note
(0,n)
Livre
ISBN, titre, auteur
(1,n)
(1,1)
Est_un
Matire
N, libell
Matire(Nmatire, libell)
Exemplaire
N, date, tat
Suite exemple 1
Nous aurons donc les tables (relations) suivantes :
Etudiant(N, Nom)
Contrle(Ntudiant, Nmatire, note)
Matire(Nmatire, libell)
Livre(ISBN, titre, auteur)
Exemplaire(N exemplaire, date, tat, ISBN)
Exemple 2
Assurance(N assurance, type)
Assurance
N, type
Vhicule
N immatriculation, type
(1,n)
(0,1)
Assure
Date
Personne
N, nom, prnom
(0,n)
11/16
Suite exemple 2
Nous aurons donc les tables (relations) suivantes :
Vhicule(N immatriculation, type, date, Npersonne, N
assurance )
Assurance(N assurance, type)
Personne(Npersonne, nom, prnom)
12/16
Notion de clture
On part dun ensemble dattribut X dune relation R et lon
veut calculer tous les autres attributs qui dpendent
fonctionnellement de cette ensemble initial (not {X}+)
On parle aussi de fermeture transitive
Dfinition mathmatique : trop dure pour ici
Mthode (algorithme) : On commence avec lensemble de
dpart (initial). Pour chaque dpendance fonctionnelle, on
regarde sils on peut obtenir de nouveaux attributs. Lon
rajoute alors ces nouveaux attributs lensemble prcdent
dattribut. On recommence alors lopration jusqu ne plus
rajouter dattributs
PECA
Proprit : {cl}+=R
La clture minimal est la clture qui est la plus petite et
13/16
qui recouvre le maximal
Algorithme de
+
X de
Mathmatiquement
PECA
A ne lire que que si vous tes laise en maths
Mthode dclaratif :
X+={A R | XA}
(i)
15/16
16/16
Lopration de jointure
17/16
GAVA MCF
26
Paralllisme
HAINS Pr
40
Scurit
HAINS Pr
40
Smantique
GAVA MCF
26
HAINS Pr
40
NOM
COURS
GAVA Paralllisme
HAINS Scurit
HAINS Smantique
18/16
19/16
La jointure
Loprateur que nous allons utiliss est appel
jointure.
+ est un oprateur sur les entiers
Il prend 2 entiers par exemple 2 et 3 en fait la somme
En rsum 2+3 5
Jointure naturelle
Lopration de jointure naturelle permet de composer des
sous-relations pour en obtenir une plus grosse relation :
R1(X,Y)R2(Y,Z)=R(X,Y,Z)
Dans la relation R1 et R2, X et Z correspondent aux
attributs non utiliss (voir exemple)
Cest donc un lien entre plusieurs tables disposant de
colonnes commune smantiquement
Chaque ligne de R est fabrique avec une ligne de R1 et
une ligne de R2 de telle sorte que les valeurs sur les attributs
de Y soient identiques dans les ligne de R1 et de celle de R2
Elle permet donc de recomposer une relation qui avait t
pralablement dcompose ; une dcomposition est dite
sans perte dinformations si les jointures naturelles des
21/16
sous-relations redonne la relation initiale
a,y
b,x
b,y
c,x
Jointure :
c,y
b1,c1
a1,b1,c1
a2,b1
b2,c2
a2,b1,c1
a3,b2
b3,c3
a3,b2,c2
22/16
Prnom
Numro avocat
R1 = Collard
Bebert
Vergs
Jacquy
Numro avocat
Procs
Rsultat
HLM
Perdu
Serial Killer
Gagn
Outreau
Perdu
Du sicle
Gagn
R2 = 1
R1R2 =
Nom
Prnom
Numro avocat
Procs
Rsultat
Collard
Bebert
HLM
Perdu
Vergs
Jacquy
Serial Killer
Gagn
Collard
Bebert
Outreau
Perdu
Vergs
Jacquy
Du sicle
Gagn
23/16
R2 =
A
a1
a2
a3
a4
C
c1
c2
c2
c3
B
b1
b1
b2
b2
D
d1
d1
d2
d3
C
c1
c2
c2
c3
A
a1
a2
a2
a3
a3
a4
B
b1
b1
b1
b2
b2
b2
C
c1
c2
c2
c2
c2
c3
D
d1
d1
d2
d1
d2
d3
24/16
Jointure en gnrale
Dans les jointures naturelles, nous comparions
lgalits des donnes de 2 tables diffrentes sur un
attribut (une colonne)
En fait, on peut gnraliser cette notion, cest--dire
ne plus se limiter et :
utiliser plusieurs tables, parfois plusieurs fois les mmes
utiliser autre chose que le test dgalit, en fait nimporte
quel oprateur tant quil rpond vrai ou faux
infrieur, suprieur pour les entiers, chane de caractre, dates,
etc.
etc.
25/16
Diffrentes jointures
Dfinition : une qui-jointure est une jointure dont
la condition est une comparaison dgalit de 2
colonnes appartenant aux 2 tables
Dfinition : une theta-jointure est est une jointure
dont la condition est une comparaison autres que
lgalit de 2 colonnes appartenant aux 2 tables
Dfinition : une jointure multiple met en relation
plus de 2 tables.
Dfinition : une auto-jointure est une jointure dune
table avec elle-mme
26/16
Bibliographie
C. Date An introduction to database systems , Addison Wesley,
1986
C. Delobel et M. Adiba Bases de donnes et systmes
relationnels , Dunod Informatique, 1982
J. Ullman Principles of database systems , Computer Science
Press, 1982
G. Gardarin Bases de Donnes , Eyrrolles, 1998
Tout pleins dautres livres plus rcent
Site internet :
http://www.commentcamarche.net
http://fr.wikipedia.org/wiki/Base_de_donnes
http://www.culture.gouv.fr/culture/bdd/
http://ceria.dauphine.fr/cours98/BD-wl-98.html
http://www.i3s.unice.fr/~mcollard/BD_L2/
27/16