Vous êtes sur la page 1sur 26

1

Initiation aux bases de donnes et


la programmation vnementielle
Cours N1 :
Introduction.
Support de cours de Soheib BAARIR*.

Page web : pagesperso-systeme.lip6.fr/Souheib.Baarir/bdvba/support.htm
E-mail : souheib.baarir@u-paris10.fr

Universit Paris Ouest Nanterre la Dfense.
2009-2010.

* Adapt du cours de B. COFFIN.
Reproduction interdite sans autorisation crite de lauteur.
2
Contexte gnral :
introduction
laborer le systme dinformation dun
organisme.

Un Systme dInformation (SI):
ensemble des moyens humains et informatiques
permettant,
le stockage, la transformation et la restitution de
linformation,
de lorganisme tudi.
3 3
Systme dInformation


(Mmoire + Capacit de traitement)


(Base de Donnes (BD) + Programmation)
Contexte gnral :
systme dinformation
4
Base de Donnes
Ensemble dinformations complexes.
Respecte les caractristiques :
1. Structuration.
2. Non redondance.
3. Cohrence.
4. Indpendance aux programmes.
5. Scurit.
Plusieurs modles (types) de BD :
les BD hirarchiques,
les BD en rseau,
les BD relationnelles,
les BD objet.
SGBD
+
Outils et
langages de
Programmation
SGBD : ACCESS
Systme de Gestion de Base de Donnes (SGBD) :
Logiciel(s) assurant,
structuration,
stockage,
maintenance,
mise jour et,
consultation,
des donnes dune BD.


Microsoft ACCESS : est un logiciel intgrant,
SGBD Relationnel :
BD Relationnelle, diteur graphique , SQL,
Des langages de programmation vnementielle :
Visuel Basic pour Application (VBA),
des interfaces de visualisation :
Formulaires, tats.
ACCESS : une architecture trs
simplifi
6
6
BDR
Requtes
SQL
diteur
Graphique
Interfaces de
visualisation
Programmes
VBA
Moteur de
BD
Moteurs
dInterprtation
SGBD Traitements
Le cours concerne
Premire partie du cours
Deuxime partie du cours
7
BD Relationnelles
Trs rpandues en pratique.

Reposent sur les concepts de lalgbre relationnelle.
Fait partie de la thorie des ensembles.
Domaines, Relations, Oprateurs relationnelsetc.

Manipules (interroges et mises jour) par un
langage dclaratif :
Structured Query Language (SQL).
On dcrit ce quon veut obtenir, la machine fait le reste.
8
Algbre relationnelle :
introduction
Un ensemble peut tre :
Infini : N, ensemble des nombres entiers
Vide : |
On appelle cardinal dun ensemble fini le nombre
de ses lments : |A| = 5.
Dfinition dun ensemble (suffisante pour nous) :
cest une collection dlments.

Fini : A ={1, 3, 24, 20, 0}
9
Algbre relationnelle :
domaine et relation
Une relation est un sous-ensemble (fini) du
produit Cartsien dune liste de domaines.
Un domaine est un ensemble dont les lments
sont des valeurs atomiques.
A = {vert, jaune, rouge} , B = {allum, teint} , C= {(vert,allum), (jaune,teint)}

{ } i i n 1 n 1 A a i, ) a , , (a A A R = - - = Produit Cartsien :
Cardinal dun produit Cartsien : n 1 n 1 A A A A - - = - -
Sous-ensemble dun produit Cartsien :
n 1 A A B - - _
Schma dune relation : ) A , , A ( R n 1
Un lment dune relation est appel n-uplet
Attributs.
10
A = {vert, jaune, rouge} B = {allum, teint}
R1 = A B = { (vert, allum), (vert, teint), (jaune, allum),
(jaune, teint), (rouge, allum), (rouge, teint)}.
|R1|=|A B| = | A | x | B | = 3 x 2 = 6
Exemples
R2 = A | = A 1 domaine Relation unaire.

R3 = {(vert, teint), (jaune, allum)} 2 domaines Relation binaire.

R4 = R1 R2 Trois domaines Relation ternaire.

N domaines Relation n-aire.
Le produit Cartsien de A et B ?
Dautres relations

11
Algbre relationnelle :
oprations
Pour dfinir une Algbre sur des ensembles, il faut dfinir des
oprateurs. Nos ensembles sont des relations
Oprateurs entre les relations.

Proprit de fermeture : oprateurs entre relations pour
produire de nouvelle relations.

Catgories doprateurs relationnels :
Oprateurs unaires : restriction, projection, affectation

Oprateurs binaires :
Sur un mme schma : union, intersection, diffrence.

Sur des schmas diffrents : produit cartsien, jointure, division.
12
Oprateurs unaires :
Restriction
Supprime des n-uplets de une relation R qui ne
satisfont pas une condition C.
R RESTRICTION
C
(R)
C est une expression boolenne construite partir :
dexpression simples,
attribut
R
op constante
A4 > 5, A7 = "Dupont "
attribut
R
op attribut
R

A6 < A8,
de connecteurs logique (et, ou, non) sur des expressions
simples,
(A4 > 5) et (A6 < A8).
R(A1,,A8)
op={=,>,<,}
13
Oprateurs unaires :
Exemple de Restriction
A = {vert, jaune, rouge} B = {allum, teint}
R = A B =
{ (vert, allum), (vert, teint),(jaune, allum),
(jaune, teint), (rouge, allum), (rouge, teint)}.
R = RESTRICTION
A=rouge
(R) ?
R = {(rouge, allum),(rouge, teint)}.
R = RESTRICTION
A=vert et B=allum
(R) ?
R = {(vert, allum)}.
14
Oprateurs unaires :
Projection
Supprime des attributs dune relation R.
R PROJECTION
(A1, , An)
(R)
R est la relation de schma R(A1,,An),
ayant comme n-uplets ceux de R mais,
restreints au sous-schma (A1,,An).

15
Oprateurs unaires :
Exemple de Projection
Soit le schma de relation : R(Nclient, nom, prenom,ville).


R = {(100,Paper,Luc,Reims), (101,Gloglo,Thomas,Reims) ,
(102,Machin,Jean,Epernay), (103,Trico,Bob,Paris),
(104,Zoeo,Paulo,Paris), (106,Toc,Pablo,Pantin)}


R = PROJECTION
(nom, prenom)
(R) ?


R = {(Paper,Luc),(Gloglo,Thomas),(Machin,Jean),
(Trico,Bob),(Zoeo,Paulo),(Toc,Pablo)}
16
Oprateurs binaires :
union
Fusionne deux relations ayant les mmes
attributs en une seule relation.
R UNION(R,S)
R est une relation ayant le mme schma que R,
dont les n-uplets sont ceux de R et de S,
les doublons sont supprims.
17
Soit :
R(NClient, nom, prenom,ville).
R= {(100,Paper,Luc,Reims), (101,Gloglo,Thomas,Reims)}


Soit :
S(NClient, nom, prenom,ville).
S={(102,Machin,Jean,Epernay), (103,Trico,Bob,Paris)}


R = UNION(R,S) ?
R= R U S =
{(100,Paper,Luc,Reims), (101,Gloglo,Thomas,Reims),
(102,Machin,Jean,Epernay), (103,Trico,Bob,Paris)}

Oprateurs binaires :
exemple dunion
18
Oprateurs binaires :
Intersection
Fournit n-uplets prsents dans les deux
relations la fois.
R INTERSECTION(R,S)
R est une relation de schma gal au schma de R,
ayant les n-uplets prsents dans R et dans S.
19
Soit :
R(NClient, nom, prenom,ville).
R= {(100,Paper,Luc,Reims), (101,Gloglo,Thomas,Reims)}


Soit :
S(NClient, nom, prenom,ville).
S={(102,Machin,Jean,Epernay), (101,Gloglo,Thomas,Reims)}


R = INTERSECTION(R,S) ?
R= RS = {(101,Gloglo,Thomas,Reims)}

Oprateurs binaires :
exemple dintersection
20
Oprateurs binaires :
Diffrence
Fournit les n-uplets d une relation qui
n appartiennent pas une autre relation
R DIFFERENCE(R, S)
R est une relation de schma R,
contenant les n-uplets de R qui ne sont pas dans S.
Attention : DIFFERENCE(R,S) DIFFERENCE(S,R)
21
Oprateurs binaires :
Exemple de Diffrence
Soit :
Etudiant(N tudiant, Nom, Anne)
Etudiant = {(20,Dupont, 2009), (27,Durand,2008)
(40,Thomas,2001)}

Soit :
Etudiant2001= RESTRICTION
Anne=2001
(Etudiant)
Etudiant2001= {(40,Thomas,2001)}


R = DIFFERENCE(Etudiant,Etudiant2001) ?
R=Etudiant-Etudiant2001 = {(20,Dupont, 2009),
(27,Durand,2008)}
22
Oprateurs binaires :
Produit Cartsien
R PRODUIT(R, S)
Le produit cartsien deux relations R et S de
schmas quelconque est une relation R,

ayant pour attributs la concatnation des
attributs de R et de S et,

dont les n-uples sont constitus de toutes les
concatnations dun n-uplet de R un n-uplet
de S.
23
Oprateurs binaires :
Jointure
R et S deux relations dfinies sur des schmas
diffrents, avec
des attributs de mme domaine.
R est une relation dont le schma est construit par lunion des
schmas de R et de S,
dont les n-uplets sont la concatnation des n-uplets de R et de S,
si et seulement si,
ils ont la mme valeur pour les attributs communs (de mme
domaine) Cette jointure est appele qui-jointure ou naturelle.
R JOINTURE
C
(R,S)
O C est de la forme (attribut
R
= attribut
S
)
+

24
Oprateurs binaires :
Exemple de Jointure
Soit :
Etudiant(N tudiant, Nom tudiant, Code rgion)
Etudiant = {(20,Dupont, 75), (27,Durand,94)
(40,Thomas,92)}

Soit :
Rgion(N rgion, Nom rgion)
Rgion= {(75,Paris), (94,Val de Marne), (92,Nanterre)}


R = JOINTURE
(Code rgion = N rgion)
(Etudiant,Rgion) ?
R(N tudiant, Nom tudiant, Code rgion, N rgion, Nom rgion)
R = {(20,Dupont, 75,75, Paris),(27,Durand,94,94, Val de Marne),
(40,Thomas,92,92,Nanterre)}
25
Oprateurs binaires :
Division
Soit R, dfinie sur un schma compos des
ensembles dattributs X et Y (XY)
S est dfinie sur un schma compos de Y
R DIVISION(R,S)
R est une relation dont le schma est X ((XY) / Y),
qui comprend tous les n-uplets dont,
le produit cartsien avec les n-uplets de S sont dans R.
26
Oprateurs binaires :
Exemple de Division
Soit :
Participe(Nom Athlte , Epreuve)
R = {(Dupont,200 m), (Dupont,400 m), (Dupont,110 m)
(Machin,400 m), (Martin 110 m)}

Soit :
Epreuve (Epreuve)
S= {(200 m),(400 m), (110 m)}

R = DIVISION (Participe, Epreuve) ?
R(Nom Athlte)
R = {(Dupont)}