Upload
benoite-james
View
114
Download
1
Embed Size (px)
Citation preview
Langage de manipulation de données
Ensemble de commandes permettant :– modifier la base : ajout, modification et suppression– interroger la base
• ex : donner le nom des personnes qui habitent à Paris
Trois grandes classes de LMD relationnels :– Les langages algébriques : – Les langages issus de l’algèbre relationnelle de
Codd :SQL (Structured Query Language)
• ex : select NOM from PERSONNEL where VILLE=‘ PARIS’
– Langages prédicatifs :Systèmes Ingres QUEL (QUEry Language)Access QBE (Query By Example)
Opérateurs d’extraction de donnéesSélection d’un sous ensemble d’attributs :
projectionSélection de n-uplets vérifiant un critère :
sélectionAssociation de plusieurs relations : jointureCombinaison de relations de même schéma :
booléensConstruction de toutes les combinaisons de n-
uplets entre deux relations : produitExtraction des … : division
La projection
La projection d’une relations P1 de schéma R1(A1..An) sur les attributs Ai1,Ai2,…Aip (avec ij ≠ik et p<n) est une relation P2 de schéma R2(Ai1..Aip) dont on a supprimé les tuples en double.
Opérateur d’algèbre relationnelle :µ Ai1..Ain
Symbole graphique :Remarque :
– Filtrages des colonnes– Utilisé pour supprimer les tuples en double (par
exemple après une union)
Exemple de projectionRequête type :
– Quels sont les villes de résidence des personnes de la table P1
VILLE
P2 = µville(P1)
LyonLyonDupontDupont34573457
ParisParisDurandDurand34253425
ParisParisDupondDupond21402140
VILLEVILLENOMNOMIDID
P1
LyonLyon
ParisParis
VILLEVILLE
P2
La restriction ou sélection
La restriction d’une relations P1 de schéma R1 par une qualification Q est une relation P2 de même schéma dont les tuples sont ceux satisfaisant Q.
Opérateur d’algèbre relationnelle : Symbole graphique : Remarque :
– Filtrage des données– Critères Q :
• Égalité entre un attribut et une valeur données VILLE="Paris".• Égalité entre deux attributs de la table VILLE1 = VILLE2.• Inégalité Age<20, Somme>=150.• Différence.
Exemple de sélectionRequête type :
– Sélectionner tous les individus habitant à Paris.
P1ID NOM VILLE
2140 DUPONT PARIS3425 DURAND PARIS3457 PIERRE ORLY
VILLE=‘PARIS’
P2 = VILLE=‘PARIS’(P1)P2
ID NOM VILLE2140 DUPONT PARIS3425 DURAND PARIS
Opérateur booléen UNIONL’union de deux relations P1 et P2 de même
schéma R est une relation de même schéma R contenant tous les tuples appartenant à P1, à P2 ou aux deux.
P1ID NOM VILLE
2140 DUPONT PARIS3425 DUPONT CHAMPS3457 PIERRE ORLY
P2ID NOM VILLE
1123 DURAND PARIS3425 DUPONT CHAMPS4286 DUBOIS NOISY
P3ID NOM VILLE
2140 DUPONT PARIS3457 PIERRE ORLY4286 DUBOIS NOISY1123 DURAND PARIS3425 DUPONT CHAMPS4286 DUBOIS NOISY
U
P3 = P1 U P2
!Les doublons sont éliminés par définition
Opérateur booléen INTERSECTION
L’intersection de deux relations P1 et P2 de même schéma R est une relation de même schéma R contenant tous les tuples appartenant à P1 et à P2.
P1ID NOM VILLE
2140 DUPONT PARIS3425 DUPONT CHAMPS3457 PIERRE ORLY
P2ID NOM VILLE
1123 DURAND PARIS3425 DUPONT CHAMPS4286 DUBOIS NOISY
P3ID NOM VILLE
3425 DUPONT CHAMPS
P3 = P1 P2
/
Opérateurs booléen DIFFERENCE
La différence de deux relations P1 et P2 de même schéma R est une relation de même schéma R contenant tous les tuples appartenant à P1 et n’appartenant pas à P2.
P1ID NOM VILLE
2140 DUPONT PARIS3425 DUPONT CHAMPS3457 PIERRE ORLY
P2ID NOM VILLE
1123 DURAND PARIS3425 DUPONT CHAMPS4286 DUBOIS NOISY
P3ID NOM VILLE
2140DUPONT PARIS3457PIERRE ORLY
P3 = P1 / P2
P1 / P2 P2 / P1!