Cours BDD 1 L3 2016 2017 P2 algèbre relationnelle .pdf



Nom original: Cours BDD 1 - L3 2016-2017 P2 algèbre relationnelle.pdf
Titre: Conception Orientée Objet
Auteur: Bougueroua

Ce document au format PDF 1.5 a été généré par Microsoft® PowerPoint® 2016, et a été envoyé sur fichier-pdf.fr le 05/10/2016 à 18:30, depuis l'adresse IP 78.194.x.x. La présente page de téléchargement du fichier a été vue 354 fois.
Taille du document: 1 Mo (29 pages).
Confidentialité: fichier public



Aperçu du document


BASES DE DONNÉES
TI128
L3 – 2016/2017
PHD Lamine BOUGUEROUA
lamine.bougueroua@groupe-efrei.fr

Algèbre relationnelle





Introduction
Opérateurs ensemblistes
Opérateurs spécifiques
Représentation graphique

2

Algèbre relationnelle : Introduction
 L’algèbre relationnelle a été inventée par CODD comme une collection
d’opérations qui agit sur des relations et qui produit des relations en
résultats
 Le langage algébrique est un langage formel qui offre une base
théorique solide au modèle relationnel
 L’algèbre relationnelle est à l’origine du langage SQL (section suivante)
 Le résultat d'une opération est une table
 CODD a défini huit opérations, dont certaines peuvent être composées
à partir des autres.
 Ces opérations peuvent être regroupées en deux types d'opérateurs :
 Les opérateurs ensemblistes :
– union
– intersection
– différence
– produit / division

 Les opérateurs relationnels spécifiques :
– restriction
– projection
– jointure

3

Algèbre relationnelle : Introduction
 Algèbre relationnelle : les huit opérateurs de base

Restriction

Projection

Division
A
A
A
B
C

X
Y
Z
Y
Y

X
Y

Union

A

X
Y

Différence

Jointure

Produit
A
B
C

Intersection

A
A
B
B
C
C

X
Y
X
Y
X
Y

a x
b x
c y

x 1
y 2
z 3

a x 1
b x 1
c y 2

4

Algèbre relationnelle : Opérateurs ensemblistes
 Opérateurs ensemblistes - Union ():
 L'union de deux relations R1 et R2 de même schéma est une relation
R3 contenant des Tuples appartenant à R1 et R2 notée :
R3 = (R1  R2)
La notation graphique
R3


R1

R2

 Plusieurs notations ont été introduites pour cette opération :
Exemple : UNION (R1,R2), R1  R2, APPEND(R1,R2) …

5

Algèbre relationnelle : Opérateurs ensemblistes
 Opérateurs ensemblistes - Union ():

 Exemple :
Patient1

Patient2

nss

nom

adresse

1807514511

Dupond

Avon

2909112000

Smith

Paris

2873914536

Pierre

Lyon

nss

nom

adresse

1807514511

Dupond

Avon

2909112888

Bernard

Paris

2909112899

Eric

Reims

2987812899

Boon

Lille

2873914536

Pierre

Lyon

Patient1  patient2
nss

nom

adresse

1807514511

Dupond

Avon

2909112000

Smith

Paris

2873914536

Pierre

Lyon

2909112888

Bernard

Paris

2909112899

Eric

Reims

2987812899

Boon

Lille

6

Algèbre relationnelle : Opérateurs ensemblistes
 Opérateurs ensemblistes - Intersection ():
 L‘intersection de deux relations R1 et R2 de même schéma est une
relation R3 contenant des Tuples communs appartenant à R1 et R2
notée : R3 = (R1  R2)
La notation graphique
R3


R1

R2

 Plusieurs notations ont été introduites pour cette opération :
Exemple : INTERSECT (R1,R2), R1  R2, AND(R1,R2) …

7

Algèbre relationnelle : Opérateurs ensemblistes
 Opérateurs ensemblistes - Union ():

 Exemple :
Patient1  patient2
Patient1

Patient2

nss

nom

adresse

nss

nom

adresse

1807514511

Dupond

Avon

1807514511

Dupond

Avon

2909112000

Smith

Paris

2873914536

Pierre

Lyon

2873914536

Pierre

Lyon

nss

nom

adresse

1807514511

Dupond

Avon

2909112888

Bernard

Paris

2909112899

Eric

Reims

2987812899

Boon

Lille

2873914536

Pierre

Lyon

8

Algèbre relationnelle : Opérateurs ensemblistes
 Opérateurs ensemblistes - Différence (-):
 La différence de deux relations R1 et R2 de même schéma est une
relation R3 contenant des Tuples appartenant à R1 et n’appartenant
pas à R2, notée :
R3 = (R1 - R2)
La notation graphique
R3

R1

R2

 Plusieurs notations ont été introduites pour cette opération :
Exemple : Différence (R1,R2), R1 - R2, MINUS (R1,R2),…
9

Algèbre relationnelle : Opérateurs ensemblistes
 Opérateurs ensemblistes - Différence (-):
 Exemple :

Patient1

Patient2

nss

nom

adresse

1807514511

Dupond

Avon

2909112000

Smith

Paris

2873914536

Pierre

Lyon

Patient2 – patient1
nss

nom

adresse

2909112888

Bernard

Paris

nss

nom

adresse

2909112899

Eric

Reims

1807514511

Dupond

Avon

2987812899

Boon

Lille

2909112888

Bernard

Paris

2909112899

Eric

Reims

2987812899

Boon

Lille

2873914536

Pierre

Lyon

10

Algèbre relationnelle : Opérateurs ensemblistes
 Opérateurs ensemblistes – produit cartésien ():
 Le produit cartésien de deux relations R1 et R2 de schéma quelconque
est une relation R3 ayant pour attribut la concaténation des attributs
des deux relations, et dont les Tuples sont constitués de toutes les
concaténations d’un Tuple de R1 à un Tuple de R2 , noté : R3 = (R1 
R2)

La notation graphique
R3

R1

R2

 Plusieurs notations ont été introduites pour cette opération :
Exemple : Product (R1,R2), R1  R2, Times (R1,R2),…
11

Algèbre relationnelle : Opérateurs ensemblistes
 Opérateurs ensemblistes – produit cartésien ():

 Exemple :
Patient  Médecin

Patient
nss

Nom_P

adresse

nss

Nom_P

adresse

N° médecin

Nom_M

service

1807514511

Dupond

Avon

1807514511

Dupond

Avon

4125

House

Urgence

2909112000

Smith

Paris

1807514511

Dupond

Avon

5223

Bruno

génécologie

2873914536

Pierre

Lyon

2909112000

Smith

Paris

4125

House

Urgence

2909112000

Smith

Paris

5223

Bruno

génécologie

2873914536

Pierre

Lyon

4125

House

Urgence

2873914536

Pierre

Lyon

5223

Bruno

génécologie

Médecin
N° médecin

Nom_M

service

4125

House

Urgence

5223

Bruno

génécologie

12

Algèbre relationnelle : Opérateurs ensemblistes
 Opérateurs ensemblistes – Division (−: ):
 La division de deux relations R1 et R2, telles que le schéma de R2 est
strictement inclus dans celui de R1, est une relation R3 regroupant
toutes les parties d’occurrences de la relation R1 qui sont associées à
toutes les occurrences de la relation R2, noté : R3 = (R1 −: R2)
La notation graphique
R3

−:
R1

R2

 Plusieurs notations ont été introduites pour cette opération :
Exemple : Division(R1,R2), R1 −: R2
13

Algèbre relationnelle : Opérateurs ensemblistes
 Opérateurs ensemblistes – Division (−: ):
 Exemple :
Patient

Consultation
nss

Nom_P

adresse

N° médecin

Nom_M

service

nss

Nom_P

adresse

1807514511

Dupond

Avon

4125

House

Urgence

1807514511

Dupond

Avon

1807514511

Dupond

Avon

5223

Bruno

génécologie

2909112000

Smith

Paris

2909112000

Smith

Paris

4125

House

Urgence

2873914536

Pierre

Lyon

2909112000

Smith

Paris

5223

Bruno

génécologie

2873914536

Pierre

Lyon

4125

House

Urgence

2873914536

Pierre

Lyon

4125

Wilson

Urgence

2873914536

Pierre

Lyon

5223

Bruno

génécologie

Consultation

−: Patient

Exemple de division :
La relation résultat contient donc tous les médecins de
la relation Consultation qui auscultent tous les patients
de la relation Patient

N° médecin

Nom_M

service

4125

House

Urgence

5223

Bruno

génécologie

14

Algèbre relationnelle : Opérateurs spécifiques
 Opérateurs spécifiques - restriction ():
 La restriction (ou sélection) de la relation R par une qualification Q est
une relation R' de même schéma dont les Tuples sont ceux de R
satisfaisant la qualification Q
 La qualification Q peut être exprimée à l'aide de constantes,
comparateurs arithmétiques (>,>= , < ,>= , =,  ) et des opérateurs
logiques (,, )
 notée :  Condition(R)
R2
La notation graphique

Condition

R1
 Plusieurs notations ont été introduites pour cette opération :
Exemple : RESTRICT(R1, Condition)
15

Algèbre relationnelle : Opérateurs spécifiques
 Opérateurs spécifiques - restriction ():

 Exemple :
Patient

nss

nom

adresse

1807514511

Dupond

Avon

2909112888

Bernard

Paris

2909112899

Eric

Paris

2987812899

Boon

Paris

2873914536

Pierre

Lyon

Patient-Paris = Patient[adresse=”Paris”]
Patient-Paris
nss

nom

adresse

2909112888

Bernard

Paris

2909112899

Eric

Paris

2987812899

Boon

Paris

16

Algèbre relationnelle : Opérateurs spécifiques
 Opérateurs spécifiques - projection ():
 La projection d'une relation R sur les attributs Ai.est une relation R',
dont les Tuples sont obtenus par élimination des attributs de R autre
que Ai et par suppression des doublons. notée :  Ai(R)
La notation graphique

R2
Ai

R1
 Plusieurs notations ont été introduites pour cette opération :
Exemple : PROJECT(R, liste des attributs), R[liste des attributs]
17

Algèbre relationnelle : Opérateurs spécifiques
 Opérateurs spécifiques - projection ():

 Exemple :
Patient

nss

nom

adresse

1807514511

Dupond

Avon

2909112888

Bernard

Paris

2909112899

Eric

Paris

2987812899

Boon

Paris

adresse

2873914536

Pierre

Lyon

Avon

adresse = Patient[adresse]
adresse

Paris
Lyon

18

Algèbre relationnelle : Opérateurs spécifiques
 Opérateurs spécifiques - Jointure (

):

 La jointure de deux relations R1 et R2 selon une qualification Q est
l'ensemble du produit cartésien R1 x R2 satisfaisant la qualification Q
(condition de rapprochement)
 Notation : R3= R1 R2
 Dans le cas de la jointure naturelle la condition est simplement omise
La notation graphique
R3
condition

R1

R2

 Plusieurs notations ont été introduites pour cette opération :
Exemple : JOIN(R1,R2, condition)
19

Algèbre relationnelle : Opérateurs spécifiques
 Opérateurs spécifiques - Jointure (

):

 Exemple jointure naturelle (sans condition):
Patient

Médecin

nss

Nom_P

N° médecin

adresse

N° médecin

Nom_M

service

1807514511

Dupond

4125

Avon

4125

House

Urgence

2909112000

Smith

5223

Paris

5223

Bruno

génécologie

2873914536

Pierre

4125

Lyon

R = JOIN(Patient, Médecin)
R

nss

Nom_P

adresse

N° médecin

Nom_M

service

1807514511

Dupond

Avon

4125

House

Urgence

2909112000

Smith

Paris

5223

Bruno

génécologie

2873914536

Pierre

Lyon

4125

House

Urgence
20

Algèbre relationnelle : Opérateurs spécifiques
 Opérateurs spécifiques - Jointure (

) - suite:

 La condition de rapprochement peut être exprimée à l'aide de
constantes, comparateurs arithmétiques (>,>= , < ,>= , =,  ) et des
opérateurs logiques (,,  )
 Selon le type d’opérateur nous distinguons :
– L’équijointure dans le cas ou l’opérateur est l’égalité,
– L’inéqui-jointure dans le cas ou l’opérateur est l’un des opérateur
suivant { <,,>, , }
 Auto jointure : est une jointure d'une table avec elle-même(tout se
passe comme si on avait deux copies différentes de la même table)
 Jointure externe (
) : identique à la jointure mais en complétant les
attributs vide par des nulles
21

Algèbre relationnelle : Opérateurs spécifiques
 Opérateurs spécifiques - Jointure (

):

 Exemple inéqui-jointure :
Patient

Médecin

nss

Nom_P

N° médecin

adresse

N° médecin

Nom_M

service

1807514511

Dupond

4125

Avon

4125

House

Urgence

2909112000

Smith

5223

Paris

5223

Bruno

génécologie

2873914536

Pierre

4125

Lyon

R = JOIN(Patient, Médecin)
Condition : nss >2000000000
R

nss

Nom_P

adresse

N° médecin

Nom_M

service

2909112000

Smith

Paris

5223

Bruno

génécologie

2873914536

Pierre

Lyon

4125

House

Urgence

22

Algèbre relationnelle : Opérateurs spécifiques
 Opérateurs spécifiques - Jointure externe (

):

 Exemple jointure externe (outer joint) :
Patient

Médecin

nss

Nom_P

N° médecin

adresse

N° médecin

Nom_M

service

1807514511

Dupond

4125

Avon

4125

House

Urgence

2909112000

Smith

5223

Paris

2321

Wilson

Urgence

2873914536

Pierre

4100

Lyon

5223

Bruno

génécologie

R = Ext-JOIN(Patient, Médecin)
R

nss

Nom_P

adresse

N° médecin

Nom_M

service

1807514511

Dupond

Avon

4125

House

Urgence

2909112000

Smith

Paris

5223

Bruno

génécologie

2873914536

Pierre

Lyon

4100

-

-

-

-

-

2321

Wilson

Urgence

23

Algèbre relationnelle : Opérateurs de bases
 Opérateurs de bases
 Les six opérations fondamentales sont : l'union, la différence, le produit,
la restriction, la projection et la jointure.
 Les autres opérations peuvent se déduire aisément à partir de ces
opérations fondamentales


Exemple :
R1

R2

condition

R1  R2

  condition (R1  R2)
 R1 - (R1 - R2)

24

Algèbre relationnelle : représentation graphique
 Composition d’opérateurs :
 Un programme d’opérations de l’algèbre relationnelle peut être
représentée par un arbre ou les nœuds correspondent aux
représentations graphiques des opérations

25

Algèbre relationnelle : représentation graphique
 Composition d’opérateurs :
 Exemple 1





Produit (np, désignation, prixU)
Client(nc, nomc, prenomc, mail, adresse)
Fournisseur(nf, nomf, prenomf, mail, adresse, tel)
Commande (#np, #nc, #nf, date, qte)

Questions :
• Donner les noms des clients qui ont commandé au moins un
produit de prix supérieure à 100 euros?
• Donner le nom, prénom et mail des fournisseurs du client num 15 ?

26

Algèbre relationnelle : représentation graphique
 Composition d’opérateurs :

RESULTAT

Projection

nomc

Jointure
nc

np

=

np

nc

Client

=

Commande
np

Restriction
prixU>100

Question : Donner les noms des
clients qui ont commandé au moins
un produit de prix supérieure à 100
euros

Produit

27

Algèbre relationnelle : représentation graphique
 Composition d’opérateurs :


Exemple 2 : donner les Noms et Adresses des buveurs ayant bu plus
de 10 bouteilles de CHABLIS 1976 et le degré de ce vin
Buveur(idBuveur, Nom, Prénom, Adresse)
Vin(idVin, Cru, Millésime, Qualité, Quantité, Degré)
Abus(idBuveur, idVin, Date, Quantité)

28

Algèbre relationnelle : représentation graphique
 Composition d’opérateurs :

Question : donner les Noms et
Adresses des buveurs ayant bu plus
de 10 bouteilles de CHABLIS 1976
et le degré de ce vin

RESULTAT

NOM
ADRESSE
DEGRE

Jointure

NB

Projection

=

NB

NB

BUVEURS

DEGRE

Intersection
NV

NV
=



Restriction
QUANTITE>10

ABUS

CRU=CHABLIS

VINS

MILL=1996

VINS
29



Télécharger le fichier (PDF)










Documents similaires


cours bdd 1 l3 2016 2017 p2 algebre relationnelle
formation sgbd cours sgbd
fiche sos
seance4 modelerel
chapitre 2 structures algebriques fondamentales st
mi algebre structures algebriques

Sur le même sujet..