Vous êtes sur la page 1sur 19

Plan Introduction Opration ensembliste Oprations spcifiques Oprations drive

Introduction
Invente par Edgar Codd en 1970 Ensemble dOprations. Chacune delle est unaire ou binaire et retourne une relation en sortie. Trois types doprations : Oprations Ensemblistes Oprations Spcifiques Oprations drives

http://drisshazzaf.typepad.com/oracle/

Opration ensembliste
Ce sont les oprations usuelles sur les ensembles : UNION : Porte sur deux relations (R1 et R2) ayant le mme schma, et retourne comme rsultat une relation R3 de mme schma ayant pour tuples ceux de R1 et R2. DIFFERENCE : Porte sur deux relations R1 et R2 ayant le mme schma, la diffrence R1 R2 retourne comme rsultat une relation R3 ayant pour tuples ceux appartenant R1 et nappartenant pas R2 ( Lordre est trs important ) . PRODUIT CARTESIEN : Porte sur deux relations R1 et R2, construit une relation R3 ayant pour schma la concatnation des schmas de R1 et R2, et pour tuples toutes les combinaisons des tuples de R1 et R2
http://drisshazzaf.typepad.com/oracle/ 3

Union
Lunion est une opration qui porte sur deux relations R1 et R2 ayant le mme schma. La relation rsultat a le mme schma, et possde la totalit des tuples de R1 et de R2 R1

Le symbole de l'union est : U

R1 U R2

R2

http://drisshazzaf.typepad.com/oracle/

Diffrence
Porte sur deux relations R1 et R2 ayant le mme schma et retourne comme rsultat une relation R3 ayant pour tuples ceux appartenant R1 et nappartenant pas R2 ( Lordre est trs important ) . R1 Le symbole de la difference est : R1-R2 R2

http://drisshazzaf.typepad.com/oracle/

Produit cartsien
Porte sur deux relations R1 et R2, construit une relation R3 ayant pour schma la concatnation des schmas de R1 et R2, et pour tuples toutes les combinaisons des tuples de R1 et R2

Le symbole du produit cartesien est : X

R1 X R2 R1

R2

http://drisshazzaf.typepad.com/oracle/

Oprations spcifiques
PROJECTION : Agit sur une relation, et retourne une relation en enlevant tous les attributs non mentionns. SELECTION : Agit sur une relation, et retourne une relation du mme schma, mais comportant les tuples vrifiant la condition prcise dans lopration.

http://drisshazzaf.typepad.com/oracle/

Projection
PROJECTION : Agit sur une relation, et retourne une relation en enlevant tous les attributs non mentionns. R1 Le symbole de la projection : a2,a3,a4,a6(R1)

Nom,Prenom(EMPLOYE) est une relation qui ne contient que les attributs Nom et Prenom des employs
http://drisshazzaf.typepad.com/oracle/ 8

Slection
Agit sur une relation, et retourne une relation du mme schma, mais comportant les tuples vrifiant la condition prcise dans lopration. R1 critreR 1

Le symbole de la selection est :

salaire > 1500(EMPLOYE) est une relation qui ne contient que les tuples employs ayant un salaire suprieur 1500.
http://drisshazzaf.typepad.com/oracle/ 9

Oprations drives
Ce sont des oprations qui peuvent tre dduites des autres oprations. Parmi les oprations drives : Intersection Division Complment Jointure
http://drisshazzaf.typepad.com/oracle/ 10

Intersection
Cest une opration qui porte sur deux relations R1 et R2 ayant le mme schma. La relation rsultat a le mme schma, et possde les tuples communs entre R1 et R2. R1 Le symbole de l'intersection est : R2

R1 R2

http://drisshazzaf.typepad.com/oracle/

11

Division
Considrons les R1(A,B) et R2(B), le schma de R2 est un sous-schma de R1 : Construire le quotient de la relation A1 Ap . An ) par la relation (Ap+1 An) dont les tuples sont ceux concatns tout tuple de R2 donnent un tuple de R1.

R1(A,B) / R2(B) = A (R1) - A (A (R1) X R2 ) R1)

http://drisshazzaf.typepad.com/oracle/

12

Complment
Ensemble de tuples du produit cartsien des domaines des attributs dune relation nappartenant pas cette relation. Exemple : Considrant la relation R1(Marque, couleur) ayant les tuples (Peugeot, noire) et (Renault, grise), les tuples (Renault, noire) et (Peugeot, grise) appartiennent au complment, car il font partie du produit cartsien mais nappartiennent pas la relation.

http://drisshazzaf.typepad.com/oracle/

13

Jointure
Consiste rapprocher selon un critre de jointure les tuples de deux relations : Le schma de la relation rsultat est le mme que celui du produit cartsien. Les tuples du rsultat est un sous ensemble des tuples du produit cartsien qui vrifient un prdicat. Le prdicat dpend de la nature de la jointure. Si le critre de jointure est = la jointure est appele equijointure Le symbole de la jointure est

http://drisshazzaf.typepad.com/oracle/

14

Jointure naturelle
Il sagit de rapprocher les tuples de deux relations ayant mmes valeurs pour les attributs de mmes noms. ceci permet dviter des duplications de valeurs des attributs qui sont gaux. Jointure naturel est une qui-jointure Les attributs de la jointure ne sont repris quune seule fois dans la relation rsultat.

http://drisshazzaf.typepad.com/oracle/

15

Jointure externe
Gnrer une relation R3 partir de deux relations R1 et R2 par jointure entre les deux relations et ajout des tuples de R1 ne participant pas la jointure, avec des valeurs nulles pour les attributs de lautre relation ( R2 ). Exemple: Considrons les relations Client et adresses_client, le rsultat de la jointure externe entre client et adresses_client a en plus des tuples dune qui-jointure les tuples de client qui nont pas dadresses

http://drisshazzaf.typepad.com/oracle/

16

Semi-jointure
Opration entre R1 et R2, donnant en rsultat les tuples de R1 participant la jointure. La semi-jointure peut tre dduite dune slection et une jointure. Le symbole de la semi-jointure est : R1 R2 est la semi jointure entre R1 et R2, et ne renvoi que les attributs de R1 participant la jointure avec R2 Remarque : Ceci correspond aussi une slection o la condition de slection est dfinie par le biais dune autre relation.

http://drisshazzaf.typepad.com/oracle/

17

Exercices
Soit le modle relationnel suivant :
EMPLOYE CP Numro FONCTION CP Code_fonction Titre Niveau_hirarchique

Nom Prnom Salaire Date_entre CE1 Code_fonction

1.Les diffrents codes fonctions dans la relation EMPLOYE. 2.Nom et Prnom des DBA qui ont un salaire suprieur 3000 dans la relation EMPLOYE. Pour chaque employ, son Nom, son Prnom de la relation EMPLOYE, et le titre de sa fonction de la relation FONCTION.

http://drisshazzaf.typepad.com/oracle/

18

Exercices (Solutions)
Solution: Code_fonction ( EMPLOYE) Solution:
Nom , Prnom ( Salaire > 3000 CODE_FONCTION = DBA (EMPLOYE))

Solution: Nom, Prnom, Titre (EMPLOYE FONCTION )

http://drisshazzaf.typepad.com/oracle/

19