Langage de manipulation de données (LMD)

Slides:



Advertisements
Présentations similaires
Bases de Données Avancées: Bases de Données Relationnelles
Advertisements

Manipulation des données dans SQL
Programme Introduction aux BD et aux SGBD Le modèle relationnel

Georges Gardarin 1 LE LANGAGE DE REQUETES SQL l Origines et Evolutions l SQL1 86: la base l SQL1 89: l'intégrité l SQL2 92: la nouvelle norme l SQL3 98:
Programme Introduction aux BD et aux SGBD Le modèle relationnel
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 Langage de manipulation de données (LMD)
SELECT {* | Expression [Alias] [,...] } FROM Table [WHERE Condition] [ORDER BY { Expression | Alias } [ ASC | DESC ] [NULLS FIRST | NULLS LAST ] [,...]
1 LE LANGAGE DE REQUETES SQL Origines et Evolutions SQL1 86: la base SQL1 89: l'intégrité.
1 SQL: Requêtes, Programmation et Triggers Chapitre 5, Sections
1 SQL: Requêtes, Programmation et Triggers Chapitre 5, Sections
Manipulation des données Requêtes simples
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,
Le langage SQL LDD : Langage de Définition de Données
Le langage de requêtes SQL
Optimisation de requêtes
Sélection de colonnes (la projection)
Quinio1 Bases de données : modèlisation et SGBD Séance 3 B Quinio.
Structured Query Language 1/34. SQL Types de données Langage de Définition de Données (LDD) Langage de Manipulation de Données (LDM) Langage de Contrôle.
Le Langage de Manipulation de Données LMD. 2 Les ordres SQL de manipulation INSERT –Insertion (ajout) de ligne(s) dans une table –Utiliser SQL*LOAD pour.
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.
Le Langage de Manipulation de Données LMD Module 6.
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,
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.
1- Introduction 1ère partie Le langage SQL 2- Connexion 3- Structure & Contenu 4- Requêtes.
SQL query - 1 / D. Berrabah SQL : interrogation de BD Requêtes d'interrogation simples Requêtes complexes Agrégats et groupement.
SQL query - 1 UPMC - UFR 919 Ingéniérie - Cours Bases de données (BD-L3) SQL : interrogation de BD Requêtes d'interrogation simples Requêtes complexes.
Intégration web & Base de données 1 Intégration Web & Base de DonnéesMariem Farhat Intérêt des bases de données pour le Web Cours préparé par : Mariem.
ملخص Initiation à la sgbdr
Intégration du P7 dans l’épreuve E41
Initiation aux bases de données et à la programmation événementielle
LE LANGAGE DE REQUETES SQL
Structured Query Language
Généralité sur les bases de données
Langage de Manipulation des Données LMD
Langage d’interrogation des Données LID
SQL LID – INTERROGATIN DES DONNEES
Maria Berger - Maîtrise d'AES Algèbre relationnelle.
SQL LMD FICHE 4.6.
Manipulation D’Une Base De Données
Langage d’interrogation des Données LID
SQL Structured Query Language
Cours de bases de données
1 Copyright © 2004, Oracle. Tous droits réservés. Extraire des données à l'aide de l'instruction SQL SELECT.
2 Copyright © 2004, Oracle. Tous droits réservés. Restreindre et trier les données.
Bases de données sous Access. Initiation aux bases de données  Structure d’une base de données.
4 Copyright © 2004, Oracle. Tous droits réservés. Afficher des données agrégées à l'aide des fonctions de groupe.
6 Copyright © 2004, Oracle. Tous droits réservés. Utiliser des sous-interrogations pour résoudre des interrogations.
7 Copyright © 2004, Oracle. Tous droits réservés. Utiliser les opérateurs ensemblistes.
Préface Introduction Objectifs du chapitre I-2 Objectifs du cours I-3 Oracle10g I-4 Oracle Database 10g I-6 Oracle Application Server 10g I-7 Oracle Enterprise.
Remarque : Un nombre ou une lettre en gras fait référence à un chapitre entier ou à une annexe entière. A Affichage des dates par défaut 02-06, Ajouter.
Langage d’interrogation des Données Les fonctions de groupes
Algèbre relationnelle
3. LE LANGAGE SQL DML (2) Version 2 - Janvier 2012
© Robert Godin. Tous droits réservés.
SQL InfoBanque 16/11/2018 Halim M'SILTI.
2. LE LANGAGE SQL DML (1) Version 2 - Janvier 2012
Les Requêtes S.Q.L « Structured Query Language). SQL Historique.
SQL Structured Query Language
Langage SQL ENCG-Tanger Le Langage SQL (1) INTRODUCTION
Systèmes d’Information et Application
Opérateurs Ensemblistes
Transcription de la présentation:

Langage de manipulation de données (LMD) LE LANGAGE SQL Langage de manipulation de données (LMD)

Notations Mots clés ® en majuscule GRAS Paramètres ® entre chevrons (ex: <table>) Optionnel ® entre crochets (ex: [a]) Alternatives de syntaxes ® entre accolades séparés par des barres (ex: { a | b })

Schéma de la base de données exemple Base exemple : BD COOPÉRATIVE VINS (NV,CRU,MIL, DEG) VITICULTEURS (NVT,NOM,PRENOM,VILLE) PRODUCTIONS (NV,NVT) BUVEURS (NB,NOM,PRENOM,VILLE) COMMANDES (NC,DATE,NV,QTE,NB) EXPEDITIONS (NC,DATE,QTE)

Interrogation des données (syntaxe partielle) Syntaxe partielle de l’interrogation SELECT <liste d'attributs dont on cherche la valeur> FROM <liste de relations dont on fait le produit> [ WHERE <condition de sélection> ] Rappel SELECT A1,…, An FROM T1,…, Tm WHERE ; est équivalent en algèbre relationnelle à A1,…, An ( (T1  …  Tm ))

Insertion de n-uplets dans une relation Insertion d'un seul tuple (a) INSERT INTO VINS VALUES (100, 'Jurançon', 1979, 12); (b)INSERT INTO VINS (NV, CRU) VALUES (200, 'Gamay'); Insertion d'un ensemble de tuples CREATE TABLE BORDEAUX (NV NUMBER, MIL NUMBER, DEG NUMBER); INSERT INTO BORDEAUX (SELECT NV, MIL, DEG FROM VINS WHERE CRU = 'BORDEAUX‘);

Suppression de n-uplets d’une relation Suppression de tous les n-uplets DELETE FROM VINS Suppression selon une condition de sélection sur une relation WHERE DEG < 9 AND DEG > 12 Suppression selon une condition de sélection sur plusieurs relations DELETE FROM COMMANDES WHERE NB IN ( SELECT NB FROM BUVEURS WHERE NOM = 'Dupond' )

Modification de n-uplets d'une relation Modification de tous les n-uplets d’une relation UPDATE COMMANDES SET QTE = QTE + 10 Modification selon une condition de sélection sur une relation UPDATE VITICULTEUR SET VILLE = 'Bordeaux' WHERE NVT = 150 Modification selon une condition de sélection sur plusieurs relations WHERE NB IN ( SELECT NB FROM BUVEURS WHERE NOM = 'Dupond' )

Syntaxe complète de l’interrogation SELECT {[ALL | DISTINCT] <colonne et/ou calculs> [AS <alias>]} | * FROM <table1 [var1], table2 [var2] …> [WHERE < condition de sélection >] [GROUP BY <colonne1 , colonne2…> [HAVING <critères_regroupement>] ] [{UNION | INTERSECT | MINUS} (SELECT …)] [ORDER BY <colonne1 [ASC | DESC], …>]

Ligne SELECT ALL : sans élimination des doublons (mode par défaut) SELECT {[ALL | DISTINCT] <colonne et/ou calculs> [AS <alias>]} | * ALL : sans élimination des doublons (mode par défaut) DISTINCT : avec élimination des doublons colonne : soit nom_att (si pas d'ambiguïté sur ce nom), soit nom_table.nom_att, soit var_table.nom_att, soit * (toutes les colonnes), soit nom_tab.* soit var_tab.*

Ligne SELECT SELECT {[ALL | DISTINCT] <colonne et/ou calculs> [AS <alias>]} | * calcul : soit expression sur des colonnes avec des opérateurs : +, -, *, / éventuellement avec (), ou || (concaténation de chaînes de caractères) soit des fonctions simples sur une valeur ou agrégats sur un ensemble de valeurs (ex: SUM (somme), AVG (moyenne) des valeurs d‘une colonne, COUNT (compte les n-uplets)) soit la combinaison des expressions, fonctions simples et agrégats (ex: MIN, MAX d‘une expression sur des colonnes) alias : si mentionné, alias est le nom de la colonne dans le résultat de la requête.

Ligne FROM FROM <table1 [var1], table2 [var2] …> table1 : soit un nom de table, soit un nom de table préfixé du compte du propriétaire Soit une sous-requête var1 : variable (alias) attribuée à table1 durant la requête

Ligne WHERE (Optionnelle) [WHERE <condition de sélection>] condition : expression logique de prédicats colonne comparateur { valeur | colonne | sous-requête} où le comparateur est l’un des suivants : =, !=, >, <, >=, <=, LIKE, {>|<|…} {ALL| ANY} colonne {IN | NOT IN} { (valeur1, valeur2,…) | sous-requête} colonne BETWEEN valeur1 AND valeur2 {EXISTS | NOT EXISTS} sous_requête colonne IS NULL condition {AND|OR} condition, NOT condition

Ligne GROUP BY (Optionnelle) [GROUP BY <colonne1 , colonne2…> [HAVING <critères_regroupement>] ] colonnes : attributs de regroupement objectif : partitioner horizontalement la relation selon les valeurs de certaines colonnes, appliquer ensuite une fonction agrégat (sur d'autres colonnes) aux partitions • Ligne HAVING (Optionnelle après regroupement) critère_regroupement : fonction_agrégat([DISTINCT] colonne) comparateur {valeur |sous-requête}

Opérations ensemblistes UNION : effectue l’union des n-uplets de deux relations INTERSECT : effectue l’intersection des n-uplets de deux relations MINUS : effectue la différence ensembliste entre deux relations Remarque : les attributs des lignes SELECT doivent être les mêmes pour pouvoir appliquer ces opérations entre deux requêtes

Ligne ORDER BY (optionnelle) [ORDER BY <colonne1 [ASC | DESC], …>] ordonne le résultat de la requête dans l’ordre croissant (ASC) ou décroissant (DESC) des valeurs de la colonne1…