Benoît Piranda Équipe SISAR Université de Marne La Vallée Bases de données Algèbre relationnelle, opérations Requêtes SQL.

Slides:



Advertisements
Présentations similaires
REFERENTIEL DE LA SERIE STG
Advertisements

Etudes de cas A vous de faire Bases de données DRES – B. TALON.
Bases de Données Avancées: Bases de Données Relationnelles
Langage de manipulation de données Ensemble de commandes permettant : – modifier la base : ajout, modification et suppression – interroger la base ex :
Rappels. Les Systèmes de Gestion de Bases de Données (SGBD) L'algèbre relationnelle.
Informatique appliquée à la gestion Bases de données www. labri
Bases de données : modèlisation et SGBD
Le langage de requêtes SPARQL SPARQL Protocol And RDF Query Language
Le langage de requêtes SPARQL SPARQL Protocol And RDF Query Language
Fonctionnalités des SGBD
Algèbre relationnelle
Techniques dindexation Implémentation du modèle relationnel ~ LIF10: Fondements des bases de données relationnelles.
Formation au référentiel 1 STG (Sciences et technologie de la gestion)
Les requêtes Manière de dialoguer avec une base de donnée pour :
Optimisation de Requêtes
Le modèle relationnel Des transparents issus de ceux de Ph Rigaux, J Ullman (Stanford), Barry (Bath et Amiens), Godin (UQAM)
Année universitaire Système dinformation Le SQL (Structured Query Language) langage dinterrogation dune base de données.
Développement d’applications web
AYARI Mejdi Formation 2121 * ISD * 1 tructured uery Anguage 2006.
Contrôles d'accès aux données
Eléments d ’algèbre relationnelle
L’utilisation des bases de données
Rappel sur les bases de données et le vocabulaire
Systèmes d Information : 10b Michel de Rougemont Université Paris II Les Bases de Données : Access.
Le langage SQL.
LE LANGAGE SQL Langage de manipulation de données (LMD)
LANGAGES LIES AU MODELE RELATIONNEL
Les bases de données Cours assuré par: Mlle Smii imen
Bases de données et SGBD relationnels
Les bases de donnÉes I DÉFINITION Ensemble structuré d’informations
Les requêtes Les requêtes permettent dinterroger une base de données suivant 3 opérateurs : La projection Affiche le contenu dun champ complet En langage.
L’utilisation des bases de données
Algèbre relationnelle et SQL
Algèbre relationnelle
Staf 2x Cours de bases de données
Cours de Base de Données & Langage SQL
Cours N°2 Base de Données & Langage SQL
Les concepts et les méthodes des bases de données
Initiation aux bases de données et à la programmation événementielle
Initiation aux bases de données et à la programmation événementielle
Michel Tollenaere SQL et relationnel 1 Cours MSI-2A filière ICL version 1.1 du 2 novembre 2010 Cours de Management des Systèmes dInformation
Michel Tollenaere SQL et relationnel ENSGI Cours MSI 2A Relationnel et SQL version 1.4 du 25 septembre 2007 (ajout jointures) 1 Modèle relationnel Historique.
Cours 4b: Introduction au SQL, le langage des SGBD Relationnels
Chapitre 5 : Le langage SQL
SQL Partie 1.
Cours n°4M2. ESCE (S. Sidhom) Séminaire ( 6-12 Février 2007 ) Promo. M2 ESCE-Tunis 2006/07 Conception d’un système d'information sur Internet Architecture.
JDBC L'API JDBC est utilisée pour utilisée pour intéragir avec une base de données.
Optimisation de requêtes
1 PHP 5 Notions fondamentales (cours #5) Formation continue – Cégep de Sainte-Foy.
Sélection de colonnes (la projection)
Le Langage SQL Introduction. 2 Historique du Langage SQL E. F. CODD : premiers articles dans les années 70 IBM crée le langage SEQUEL (Structured English.
1 Initiation aux bases de données et à la programmation événementielle Responsable : Souheib BAARIR. (le sujet de votre .
Quinio1 Bases de données : modèlisation et SGBD Séance 3 B Quinio.
 Le langage SQL Introduction SQL : Strutured Query Language, est un langage de requête, que l'on retrouve dans divers SGBDR (Access de Microsoft, MySQL,
Cours n°4M1.ist-ie (S. Sidhom) UE 203 Promo. M1 IST-IE 2006/07 Conception d’un système d'information sur Internet Architecture trois-tiers : technologies.
Langage Relationnel Graphe de Requêtes
Bases de données avancées
Séance /10/2004 SGBD - Approches & Principes.
Introduction aux Bases de Données et au langage SQL
INTRODUCTION AUX BASES DE DONNEES Algèbre relationnelle
Cours n°2 Implémentation et exploitation
INTRODUCTION AUX BASES DE DONNEES Algèbre relationnelle Exercices Université Panthéon-Assas Paris 2 L2 Economie-Gestion.
Bases de données – Cours 3
Le Langage de Manipulation de Données LMD Module 6.
Le langage SQL LA Plan 1. Introduction Rappels sur le modèle relationnel Les caractéristiques du langage SQL 2. Le Langage d'Interrogation des.
SQL Partie 2. SQL est un langage de manipulation de données SQL est un langage de manipulation de données (LMD), cela signifie qu'il permet de sélectionner,
Modélisation et utilisation Aurélien Marion1 Aurélien Marion
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 4 Support de cours rédigé par Bernard COFFIN Université.
SQL LID – INTERROGATIN DES DONNEES
Transcription de la présentation:

Benoît Piranda Équipe SISAR Université de Marne La Vallée Bases de données Algèbre relationnelle, opérations Requêtes SQL

Langage de manipulation de données

Langage de manipulation de données Ensemble de commandes permettant : Ensemble de commandes permettant : –modifier la base : ajout, modification et suppression –interroger la base ex : donner le nom des personnes qui habitent à Parisex : donner le nom des personnes qui habitent à Paris Trois grandes classes de LMD relationnels : 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= PARISex : 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 dun sous ensemble dattributs : projection Sélection de n-uplets vérifiant un critère : sélection Sélection de n-uplets vérifiant un critère : sélection Association de plusieurs relations : jointure Association de plusieurs relations : jointure Combinaison de relations de même schéma : booléens Combinaison de relations de même schéma : booléens Construction de toutes les combinaisons de n- uplets entre deux relations : produit Construction de toutes les combinaisons de n- uplets entre deux relations : produit Extraction des … : division 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. 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 Opérateur dalgèbre relationnelle : Ai1..Ain Symbole graphique : Symbole graphique : Remarque Remarque –Filtrages des colonnes –Utilisé pour supprimer les tuples en double (par exemple après une union)

Exemple de projection Requête type : 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. 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 : Q Opérateur dalgèbre relationnelle : Q Symbole graphique : Symbole graphique : Remarque : Remarque : –Filtrage des données –Critères Q : Égalité entre un attribut et une valeur données VILLE="Paris".Égalité entre un attribut et une valeur données VILLE="Paris". Égalité entre deux attributs de la table VILLE1 = VILLE2.Égalité entre deux attributs de la table VILLE1 = VILLE2. Inégalité Age =150.Inégalité Age =150. Différence.Différence.

Exemple de sélection Requête type : 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. 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. 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. 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 !

Produit Cartésien Le produit cartésien de deux relations P1 et P2 de schéma R1 et R2 est une relation ayant pour attribut la concaténation des attributs de R1 et de R2 et dont les tuples sont toutes les concaténations possibles dun tuple de P1 à un tuple de P2. Le produit cartésien de deux relations P1 et P2 de schéma R1 et R2 est une relation ayant pour attribut la concaténation des attributs de R1 et de R2 et dont les tuples sont toutes les concaténations possibles dun tuple de P1 à un tuple de P2.

Exemple de produit cartésien X P 3 = P 1 X P 2

Jointure La jointure de deux relations P1 et P2 de schéma R1 et R2 selon une qualification Q est lensemble des tuples du produit cartésien P1 X P2 qui satisfont Q. La jointure de deux relations P1 et P2 de schéma R1 et R2 selon une qualification Q est lensemble des tuples du produit cartésien P1 X P2 qui satisfont Q. Équivalente à un produit cartésien suivit dune sélection.Équivalente à un produit cartésien suivit dune sélection.

Equi-jointure Léqui-jointure de deux relations P1 et P2 de schéma R1 et R2 sur les attributs Ai de R1 et Bj de R2 est la jointure selon Q = (Ai=Bj). Léqui-jointure de deux relations P1 et P2 de schéma R1 et R2 sur les attributs Ai de R1 et Bj de R2 est la jointure selon Q = (Ai=Bj).

Exemple déqui-jointure P 3 = P 1 ID=CODE P 2 = ID=CODE (P 1 X P 2 ) ID=CODE

Exemple de produit-sélection / jointure X P 4 = P 1 X P 2 ID=CODE P 3 = P 1 P 2 ID=CODE

Jointure naturelle La jointure naturelle de deux relations P1 et P2 de schéma R1 et R2 est léqui-jointure sur tous les attributs de même nom, suivie dune élimination des doublons. La jointure naturelle de deux relations P1 et P2 de schéma R1 et R2 est léqui-jointure sur tous les attributs de même nom, suivie dune élimination des doublons. P 3 = P 1 P 2

Client No m = Dur and N°Cli ent Achat N°Prod. Produit N ° P ro d. CodeCode Coule ur Nom prod. Question : Couleur et nom des produits acheté par le client Durand ?

Question : Couleur et nom des produits acheté pas le client Durand ? Plusieurs solutions : Tailles de tables intermédiaires différentes. Durées de traitement différents Durées de traitement différents !

La division Soit deux relations, une binaire R 1 (A 1,A 2 ) et lautre unaire R 2 (A 1 ) La division de R1 par R2 est une relation R (A 2 ) consistant en toutes les valeurs de R 1 (A 2 ) qui sunifient avec toutes les valeurs de la relation unaire. Soit deux relations, une binaire R 1 (A 1,A 2 ) et lautre unaire R 2 (A 1 ) La division de R1 par R2 est une relation R (A 2 ) consistant en toutes les valeurs de R 1 (A 2 ) qui sunifient avec toutes les valeurs de la relation unaire. YC XB ZA YA XAA2A1 Y XA2 AA1

Exemple de division Quels sont les usines qui fabriquent tous les type de pièces ? Quels sont les usines qui fabriquent tous les type de pièces ? Quels sont les étudiants qui assistent à tous les cours ? Quels sont les étudiants qui assistent à tous les cours ? Quels sont les logiciels utilisés dans tous les projets ? Quels sont les logiciels utilisés dans tous les projets ?