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 lalgè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 dextraction de données Sélection dun sous ensemble dattributs : projection Sélection de n-uplets vérifiant un critère : sélection Association de plusieurs relations : jointure Combinaison de relations de même schéma : booléens Construction de toutes les combinaisons de n- uplets entre deux relations : produit Extraction des … : division
La projection La projection dune relations P 1 de schéma R 1 (A 1..A n ) sur les attributs A i1,A i2,…A ip (avec i j i k et p<n) est une relation P 2 de schéma R 2 (A i1..A ip ) dont on a supprimé les tuples en double. Opérateur dalgè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 projection Requête type : – Quels sont les villes de résidence des personnes de la table P 1 VILLE P 2 = µ ville (P 1 ) LyonDupont3457 ParisDurand3425 ParisDupond2140VILLENOMID P1P1 Lyon ParisVILLE P2P2
La restriction ou sélection La restriction dune relations P 1 de schéma R 1 par une qualification Q est une relation P 2 de même schéma dont les tuples sont ceux satisfaisant Q. Opérateur dalgè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 =150. Différence.
Exemple de sélection Requête type : – Sélectionner tous les individus habitant à Paris. VILLE=PARIS P 2 = VILLE=PARIS (P1)
Opérateur booléen UNION Lunion 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. U P 3 = P 1 U P 2 ! Les doublons sont éliminés par définition
Opérateur booléen INTERSECTION Lintersection 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. P 3 = P 1 P 2
/ 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 nappartenant pas à P2. P 3 = P 1 / P 2 P1 / P2 P2 / P1 !