Vous êtes sur la page 1sur 14

M19 : SGBD 1

Algbre Relationnel
Formateur : Driouch

(cfmoti.driouch@gmail.com)

Etablissement : OFPPT/CFMOTI 28/09/2011


http://www.ista--ntic.net/
http://www.ista

DRIOUCH B.

Plan


Historique SGBD

Dfinition
Model hirarchique
Model Rseau
Model Objet
Model Relationnel

Algbre Relationnel

Oprateurs ensemblistes
Oprateurs unaires relationnel
Oprateurs binaires relationnel
Arbre algbrique

DRIOUCH B.

Quelques dfinitions
Base de Donnes : Ensemble de donnes structures,
sres, cohrentes et partageables
simultanment.

SGBD : Ensemble (logiciels) des programmes qui


permet la structuration, le stockage et
la manipulation des donnes.
DRIOUCH B.

Services attendus dun SGBD


SGF : Systme de gestion de
fichier.
LM
D

LDD

IN T

E
STOCKAG

SGF

Disque
SEC

CO
NF

LDD : Langage de dfinition de


donne.

UP
CK
A
B

LMD : Langage de Manipulation de


donnes.
LCD : Langage de Contrle de
donnes (gestion utilisateur et droit
daccs)
STOCKAGE : enregistrement
BACKUP : Sauvegarde.
CONF : Configuration
SEC : Scurit

DRIOUCH B.

INT : Interactif

Modle hirarchique
Liaison entre les objets
de type 1 n

Client
Client
Client

Client

Commandes
Commandes
Commandes
Commandes

Lignes
Lignes
Lignes
Commande
Commande
Lignes
Commande
Commande

Commandes
Commandes

Lignes
Lignes
Lignes
Commande
Commande
Commande

Lignes
Lignes
Commande
Lignes
Commande
Lignes
Commande
Commande

Modle arborescent
dont le parcours se fait
du pre vers le fils
laide de pointeurs
Complexit importante
Systme DL1 / IBM
Annes 60

DRIOUCH B.

Modle rseau
Liaison entre les objets de
type n n

Client
Client
Client

Client

Commandes
Commandes
Commandes
Commandes

Commandes
Commandes
Commandes
Articles

Modle dont le parcours se


fait laide de pointeurs
mais en tous sens
Paternit multiple

Lignes
Lignes
Lignes
Commande
Lignes
Commande
Commande
Commande

DRIOUCH B.

Systme IDS2 de Bull


1968 (Bachman 62)
6

Modle relationnel
Client
PK

Commande

IdClient

IdCommande

FK1

IdClient

CommandeArticle

Article
PK

PK

PK,FK1
PK,FK2

IdArticle

IdCommande
IdArticle

Bas sur le modle Entit


Relation driv de la
thorie des ensembles et de
la logique des prdicats
Grande indpendance entre
vue externe et stockage
interne
Simplicit - Evolutivit
Thorie : Codd 1972

DRIOUCH B.

IBM System R 1979 et DB2 1982

Modle relationnel
SGBDR Client / Serveur


DB2 - IBM
UDB (Universal Data Base Tous Systmes)
DB2 400 (AS 400)






DRIOUCH B.

Oracle
SQL Server Microsoft
Informix (Rachat par IBM)
MYSQL (Open Source)

Minimiser les changes / rseau


Programmation de la logique de MAJ
ct serveur

Modle relationnel
SGBDR Fichier




Access
Paradox
FoxPro

Les donnes sont modifies


localement / poste client
Trafic important sur le rseau
Bonnes performances sur poste de
travail
DRIOUCH B.

Modle objet mort n ?


Projet O2 dvelopp par Altair
 Commercialis par O2 technologies,
Rachet par Ardent Software puis
par Informix et retir du march en
2000
ODMG dissout en 2001
Nouvelle norme en cours de SQL 3

DRIOUCH B.

10

Algbre Relationnel


L'algbre relationnelle est un concept mathmatique de


relation de la thorie des ensembles.
ensembles.
L'algbre relationnelle a t invente en 1970 par Edgar
Frank Codd,
Codd, le directeur de recherche du centre IBM de San
Jos.. Elle est constitue d'un ensemble d'oprations
Jos
formelles sur les relations.
relations. Les oprations relationnelles
permettent de crer une nouvelle relation (table) partir
d'oprations lmentaires sur d'autres tables (par exemple
l'union, l'intersection, ou encore la diffrence).
diffrence).
Les principes de l'algbre relationnelle sont mis en uvre
de nos jours par les SGBD Relationnels dont ils constituent
les fondements thoriques.
thoriques.

DRIOUCH B.

11

Oprateurs ensemblistes
Union
R1

R2

R1 R2

Lunion est utilise pour relier 2


relations uniuni-compatibles, cest dire
ayant le mme nombre dattributs et des
attributs respectifs dfinis sur le mme
domaine.
DRIOUCH B.

12

Oprateurs ensemblistes


Exemple:

R1 : relation Vols
Paris--Nice
Paris

R2 : relation Vols
Brive--Marseille
Brive

R1 R2 : liste des
Vols ParisParis-Nice et
Brive--Marseille
Brive

DRIOUCH B.

13

Oprateurs ensemblistes
Intersection

R1

R2

R1 R2

R1 R2
Lintersection est utilise pour relier 2
relations uniuni-compatibles, cest dire
ayant le mme nombre dattributs et
des attributs respectifs dfinis sur le
mme domaine.
DRIOUCH B.

14

Oprateurs ensemblistes


Exemple :

DRIOUCH B.

15

Oprateurs ensemblistes


Diffrence

R1

R2

R1 - R2

R1 - R2
La diffrence est utilise pour relier 2 relations uniunicompatibles, cest dire ayant le mme nombre
dattributs et des attributs respectifs dfinis sur le
mme domaine.


DRIOUCH B.

16

Oprateurs ensemblistes


Exemple :

DRIOUCH B.

17

Oprateurs unaires relationnels


Les oprateurs unaires sont les oprateurs qui ne font
intervenir quune seule relation.

Slection
La slection opre un dcoupage horizontal de la table.
On obtient tous les attributs pour les enregistrements
slectionns.

Exemples :
liste des vols pour Nice
R slction
slction(vols,
(vols, villearriv=
villearriv=nice
nice)
)
liste des avions qui ont plus de 200 places
R  Slction
Slction(Avion,
(Avion, Capacit>200)

DRIOUCH B.

18

Oprateurs unaires relationnels


Projection
La projection opre un dcoupage vertical
de la table.
On obtient tous les enregistrements pour les
attributs choisis.

Exemples :
liste des noms des pilotes
R  Projection(pilote, noms)
liste des modles davions
R  Projection(avions, modle)
DRIOUCH B.

19

Oprateurs binaires relationnels


Les oprateurs binaires sont ceux qui font
intervenir deux relations.
Produit cartsien

Le produit cartsien consiste rassembler


deux tables en une seule en reliant chaque
lment de lune avec tous les lments de
lautre.

DRIOUCH B.

20

10

Oprateurs binaires relationnels




Division

La division consiste trouver la liste des valeurs


dun attribut de R1 telles quil existe un lment
dans R1 pour chaque valeur de R2 pour lattribut
correspondant.

Exemples :
liste des pilotes qui conduisent tous les avions
liste des avions qui vont dans toutes les villes
DRIOUCH B.

21

Oprateurs binaires relationnels


Jointure
La jointure consiste rechercher entre deux
tables ayant un attribut commun (mme type et
mme domaine de dfinition) tous les lments
des deux tables pour lesquels ces attributs ont la
mme valeur.
valeur.
La jointure entre les tables VOL et PILOTE
consiste rechercher toutes les informations du
PILOTE de chaque VOL.
VOL. Concrtement elle ralise
la concatnation des tuples (ou n-tuples)
tuples) de VOL
avec PILOTE chaque fois que
VOL..PIL# = PILOTE
VOL
PILOTE..PIL#.
PIL#.


DRIOUCH B.

22

11

Fonction et Agrgats (Regroupement)


Lalgbre relationnelle est insuffisante pour
traiter de vritables applications des bases de
donnes, telles la suivie de production, la gestion
de budget,
budget, il est en effet ncessaire deffectuer
des calculs sur la base pour supporter de telles
applications, cest lobjet de lintroduction des
fonctions de calcul au sein de lalgbre et du
support des agrgats.
agrgats.
 Calcul dans la slction (Somme, produit, )
R1  Slection (R2, Degre*
Degre*Quatite/100
Quatite/100 > 10)
 Support des agrgats(Somme, Moyenne, )
R1  AGREGAT(R2, Attribut1,
Fonction{Attribut2})
DRIOUCH B.

23

Exemple VolAvion
Avion
#av
Marque
Typeavion
Capacite
localisation

Pilote
#pil
Nom
Codepostal
Ville
Datenaissance
Datedebutactivite
Datefinactivite
salairebrut
DRIOUCH B.

Vol
#vo
Avian
Pilote
Villedepart
Villearrive
Heuredepart
heurarrive

AffectationVol
Passager
Vol
Datevol
Numplace
Prix

Passager
#pas
Nom
Prenom
ville
24

12

Arbre Algbrique


La reprsentation
graphique et
beaucoup plus
lisible que les
opration
algbrique avec
plusieurs oprateur

DRIOUCH B.

25

Exemple


Soit le schma relationnel suivant:

Auditeur(no-auditeur, nomAuditeur(nonom-auditeur)
Examen(no--examen, salle, date)
Examen(no
Passe--Examen(noPasse
Examen(no-auditeur, nono-examen, note)


Quels sont les auditeurs qui ont eu la


moyenne leur examen?

R1  Slection(passe
Slection(passe--examen ,note >= 10)
R2  Jointure(Auditeur,R1
Jointure(Auditeur,R1,, auditeur.noauditeur.no-auditeur=R1.noauditeur=R1.noauditeur)
R3  Projection(R2, nomnom-auditeur)


Quels sont les auditeurs qui ont pass leur


examen la salle S10?

DRIOUCH B.

26

13

Arbre algbrique


Arbre algbrique
pour les auditeurs
qui ont eu la
moyenne leur
examen

DRIOUCH B.

27

Exercice
Soit le schma relationnel suivant:
Fournisseur(Num--F, nom, ville)
Fournisseur(Num
Produit (Code
(Code--P, libell, origine, couleur)
Fourniture(Num
Fourniture(
Num--F, CodeCode-P, quantit)
On sait galement que des fournisseurs sont enregistrs dans la BD, mme sils ne
fournissent pas de produits.


Questions:
Construire les arbres algbriques correspondant aux requtes suivantes:
a) Numros des fournisseurs qui me fournissent au moins un produit
b) Numros des fournisseurs qui me fournissent au moins le produit dont le numro
est P6
c) Numros des fournisseurs qui me fournissent quelque chose dautre que le produit
P6
d) Numros et noms des fournisseurs qui ne me fournissent rien.
e) Nom des fournisseurs trouv en c)
f) Numros des fournisseurs qui me fournissent tous les produits originaire de DIJON
g) Noms et villes des fournisseurs qui me fournissent au moins un produit originaire
de leur ville.
h) Numros des fournisseurs qui ne fournissent que des produits verts.
i) Numros, noms fournisseurs et nombre fourni par chaque fournisseur.
j) Numros, libell produits et totale Quantit par produits


DRIOUCH B.

28

14