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. 1

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. 2

1
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. 3

Services attendus dun SGBD


SGF : Systme de gestion de
fichier.
LM
LDD D LDD : Langage de dfinition de
donne.
SGF
STOCKAG
IN T

LMD : Langage de Manipulation de


donnes.
Disque LCD : Langage de Contrle de
donnes (gestion utilisateur et droit
E
SEC

daccs)
STOCKAGE : enregistrement
UP
CO
NF ACK BACKUP : Sauvegarde.
B
CONF : Configuration
SEC : Scurit
DRIOUCH B. 4
INT : Interactif

2
Modle hirarchique
Liaison entre les objets
Client
Client
de type 1 n
Client
Client
Modle arborescent
dont le parcours se fait
Commandes
Commandes
Commandes
Commandes
Commandes
Commandes
du pre vers le fils
laide de pointeurs
Lignes Lignes Lignes
Lignes
Lignes
Commande
Commande
Lignes
Commande
Commande
Lignes
Lignes
Commande
Commande
Commande
Lignes
Commande
Lignes
Commande
Lignes
Commande
Commande
Complexit importante
Systme DL1 / IBM
DRIOUCH B. Annes 60 5

Modle rseau
Liaison entre les objets de
Client
Client

Client
type n n
Client

Modle dont le parcours se


fait laide de pointeurs
Commandes Commandes
Commandes
Commandes
Commandes
Commandes
Commandes
Articles mais en tous sens
Paternit multiple
Lignes
Lignes
Lignes
Commande
Lignes
Commande
Commande
Commande
Systme IDS2 de Bull
1968 (Bachman 62)
DRIOUCH B. 6

3
Modle relationnel
Bas sur le modle Entit
Client Commande
Relation driv de la
PK IdClient PK IdCommande thorie des ensembles et de
FK1 IdClient la logique des prdicats
Grande indpendance entre
Article
CommandeArticle
vue externe et stockage
PK,FK1 IdCommande
PK IdArticle
PK,FK2 IdArticle interne
Simplicit - Evolutivit
Thorie : Codd 1972
DRIOUCH B. 7
IBM System R 1979 et DB2 1982

Modle relationnel
SGBDR Client / Serveur
 DB2 - IBM
UDB (Universal Data Base Tous Systmes)
DB2 400 (AS 400)
 Oracle
 SQL Server Microsoft
 Informix (Rachat par IBM)
 MYSQL (Open Source)
Minimiser les changes / rseau
Programmation de la logique de MAJ
DRIOUCH B.
ct serveur 8

4
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. 9

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

5
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 uni-
uni-compatibles, cest dire
ayant le mme nombre dattributs et des
attributs respectifs dfinis sur le mme
domaine.
DRIOUCH B. 12

6
Oprateurs ensemblistes
 Exemple:
R1 : relation Vols
Paris--Nice
Paris

R2 : relation Vols
Brive--Marseille
Brive

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

DRIOUCH B. 13

Oprateurs ensemblistes
Intersection

R1 R1 R2
R2

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

7
Oprateurs ensemblistes
 Exemple :

DRIOUCH B. 15

Oprateurs ensemblistes
 Diffrence

R1 R2 R1 - R2

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

DRIOUCH B. 16

8
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

9
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 Vol
#av #vo
Marque Avian
Typeavion Pilote AffectationVol
Capacite Villedepart Passager
localisation Villearrive Vol
Heuredepart Datevol
heurarrive Numplace
Prix
Pilote
#pil
Nom
Codepostal
Ville Passager
Datenaissance #pas
Datedebutactivite Nom
Datefinactivite Prenom
salairebrut ville
DRIOUCH B. 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, nom-
Auditeur(no- nom-auditeur)
Examen(no--examen, salle, date)
Examen(no
Passe--Examen(no-
Passe Examen(no-auditeur, no-
no-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.no-
auditeur.no-auditeur=R1.no-
auditeur=R1.no-
auditeur)
R3  Projection(R2, nom-
nom-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, Code-
Code-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

Vous aimerez peut-être aussi