Traduction des opérations sous MySQL

Slides:



Advertisements
Présentations similaires
REFERENTIEL DE LA SERIE STG
Advertisements

26/ 04/ 2007 Auto-Jointure : SELECT * FROM Nom_relation R1 INNER JOIN Nom_relation R2 ON Condition_de_jointure; Problèmes Si des attributs de même nom.
Bases de Données Avancées: Bases de Données Relationnelles
Optimisation des requêtes
Cours Bases de Données Chu Min Li. Exemple de questions Quels sont les clients qui ont acheté Renault Scénic? Quels sont les clients qui ont acheté le.
SQL - Subtilités.
STS2 - Révision des requêtes de sélection2/9/2003 Forme d'une requête de Sélection nSELECT nFROM nWHERE nGROUP BY nHAVING nORDER BY.
Algèbre relationnelle
Optimisation algébrique de requêtes relationnelles
Les requêtes Manière de dialoguer avec une base de donnée pour :

Optimisation de Requêtes
Année universitaire Système dinformation Le SQL (Structured Query Language) langage dinterrogation dune base de données.
LMD: Langage de Manipulation de Données
Contrôles d'accès aux données
BASE DE DONNEES RELATIONNELLES
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
Chap 4 Les bases de données et le modèle relationnel
Bases de données et SGBD relationnels
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
SQL Partie 3 : (LID : Langage d'interrogation de données)
Cours N°2 Base de Données & Langage SQL
1 SQL: Requêtes, Programmation et Triggers Chapitre 5, Sections
SQL: Contraintes et Triggers
Optimisation des Requêtes Relationnelles
1 SQL: Requêtes, Programmation et Triggers Chapitre 5, Sections
Cours N°2 Base de Données & Langage SQL
1 SQL Avancé 2010 Witold Litwin 2 Quoi & Pourquoi ? n Possibilités Etendues de Manipulation de BDs relationnelles n Fondamentales pour lexploration approfondie.
1 SQL Manipulations Avancées (08-09) Witold Litwin.
Manipulation des données Requêtes simples
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 SQL: Requêtes, Programmation et Triggers Chapitre 5, Sections
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.
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 SQL jointure PHILIPPE BANCQUART.
Limiter et trier des données
Introduction Le SQL (Structured  Query Language) est un langage universel de gestion des bases de données. Il a une triple fonction : LDD Langage de Définition.
Cours 4b: Introduction au SQL, le langage des SGBD Relationnels
Chapitre 5 : Le langage SQL
Modèle Relationnel (de Codd) et Professeur Serge Miranda
Algèbre Relationnelle : Implémentation
MySQL.
JDBC L'API JDBC est utilisée pour utilisée pour intéragir avec une base de données.
Rédigez le modèle relationnel à la source des tables de biblio.mdb.
Optimisation de requêtes
1 G. Gardarin Optimisation de Requêtes  1. Introduction  2. Arbres relationnels  3. Restructuration algébrique  4. Modèle de coût  5. Choix du meilleur.
Sélection de colonnes (la projection)
Quinio1 Bases de données : modèlisation et SGBD Séance 3 B Quinio.
MySQL. Valérie Gay– MySQL - page MySQL MySQL (``Maille Ess Ku Ell'' ) est un langage rapide, multi-threaded, multi- utilisateur, c'est aussi.
SIO1 – SI3 Manipulation des données2015 Travailler avec plusieurs tables Repérer la colonne charnière : elle contient la même donnée dans les 2 tables.
Introduction aux Bases de Données et au langage SQL
Initiation aux bases de données et à la programmation événementielle Cours N°2 : langage d’interrogation de données. (Les requêtes statistiques et autres).
Complément sous-requêtes
Op é rateurs ensemblistes Module 4. 2 La clause GROUP BY La clause GROUP BY est nécessaire dès que l'on utilise des fonctions de calculs statistiques.
Cours n°2 Implémentation et exploitation
Le Langage d ’ Interrogation des donn é es (LID) Module 2.
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é.
1 Les bases de données Séance 5 -- Le Langage de Définition de Données ou la manœuvre de la structure de la base -- Le Langage de Manœuvre de Données.
1 Les bases de données Séance 6 L ’extraction de données Le SELECT.
SQL query - 1 / D. Berrabah SQL : interrogation de BD Requêtes d'interrogation simples Requêtes complexes Agrégats et groupement.
Langage de manipulation de données (LMD)
5 Copyright © 2004, Oracle. Tous droits réservés. Afficher des données de plusieurs tables.
Algèbre relationnelle
Transcription de la présentation:

Traduction des opérations sous MySQL Projection Ex : Select noetud, nometud From Etudiant; Sélection ou restriction From Etudiant Where age < 18 and nometud=‘Martin’; Noetud,nometud Etudiant age < 18 et nometud=‘Martin’ Etudiant …

Rappels Tri Union - Syntaxe SQL2 implémentée : Ex : SELECT nometud FROM Etudiant ORDER BY nometud, age DESC Union - Syntaxe SQL2 implémentée : select ... from R1 where ... Union select ... From R2 where ... … Nometud , age Etudiant R1 R2 U

Rappel : Intersection Syntaxe SQL2 pas implémentée : select … from pilote INTERSECT select … from vol Remplacée par requête imbriquée en SQL de base : ex : select plnom from pilote where nopil in (select nopil from vol) … Pilote Vol U nopil

Rappel : Différence Syntaxe SQL2 pas implémentée : select ... From pilote where ... EXCEPT (ou MINUS) select ... from vol where ... Remplacée par requête imbriquée en SQL de base avec NOT IN : ex : select plnom from pilote where nopil NOT IN (select nopil from vol) … pilote vol _ nopil

Expression d’une jointure … vol.nopil=pilote.nopil pilote vol Dans une requête principale : Ex: SELECT plnom FROM vol, pilote WHERE vol.nopil=pilote.nopil; Avec une requête imbriquée : Ex: SELECT plnom FROM pilote WHERE nopil in (select nopil from vol); Ou avec une nouvelle syntaxe : Ex: SELECT plnom FROM pilote INNER JOIN vol ON pilote.nopil=vol.nopil;

Différents types de jointure (1/2) Équijointure : Jointure avec un test d’égalité (Vol.nopil = Pilote.nopil) Autojointure : Jointure d’une table avec elle-même Thêta-jointure : Jointure avec un opérateur différent de l’égalité (Avion1.capacité > Avion2.capacité) Jointure interne : Contient que les tuples qui "joignent" c-à-d ceux ayant au moins un correspondant dans l’autre table

Différents types de jointure (2/2) Jointure externe : Mécanisme qui permet de conserver les tuples n’ayant pas de correspondant dans l’autre table Jointure externe gauche (LEFT OUTER JOIN) SELECT avion.noav, avnom FROM avion LEFT JOIN vol ON avion.noav=vol.noav; Jointure externe droite (RIGHT OUTER JOIN) SELECT avion.noav, avnom FROM avion RIGHT JOIN vol ON avion.noav=vol.noav; Voir syntaxe Oracle dans le support de cours

Expression d’un produit cartésien Lorsque la clause WHERE est oubliée Ex: SELECT * FROM vol, pilote; Lorsque la jointure s’effectue entre deux champs non clés de même type Ex: SELECT * FROM pilote, avion WHERE plville = loc; pilote pilote X vol vol Nombre total de n-uplets = nbr de n-uplets de Vol X nbr de n-uplets de Pilote pilote pilote X avion avion plville=loc

Regroupement ou Agrégat Calcul répétitif sur des groupes de lignes Ex : SELECT date_com, COUNT(*) FROM commande GROUP BY date_com Règle : Tous les attributs du SELECT qui ne sont pas dans une fonction de groupe doivent être dans le Group by Conseils : Repérer les expressions "pour chaque" ou "par" qui introduisent un traitement répétitif En cas de requête complexe, se représenter le résultat et étudier comment on procèderait manuellement au calcul … Count(*) Date_com commande