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

Slides:



Advertisements
Présentations similaires
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.
Advertisements

Bases de Données Avancées: Bases de Données Relationnelles
Manipulation des données dans SQL
Langage de manipulation de données Ensemble de commandes permettant : – modifier la base : ajout, modification et suppression – interroger la base ex :
Benoît Piranda Équipe SISAR Université de Marne La Vallée Bases de données Algèbre relationnelle, opérations Requêtes SQL.
Rappels. Les Systèmes de Gestion de Bases de Données (SGBD) L'algèbre relationnelle.
Programme Introduction aux BD et aux SGBD Le modèle relationnel
SQL - Subtilités.
Fonctionnalités des SGBD
Les requêtes Manière de dialoguer avec une base de donnée pour :

Optimisation de Requêtes
LE MODELE RELATIONNEL INVENTE PAR T. CODD (IBM SAN-JOSE)
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
AYARI Mejdi Formation 2121 * ISD * 1 tructured uery Anguage 2006.
Contrôles d'accès aux données
BASE DE DONNEES RELATIONNELLES
Le langage SQL.
LANGAGES LIES AU MODELE RELATIONNEL
Bases de données et SGBD relationnels
SELECT {* | Expression [Alias] [,...] } FROM Table [WHERE Condition] [ORDER BY { Expression | Alias } [ ASC | DESC ] [NULLS FIRST | NULLS LAST ] [,...]
SQL Partie 3 : (LID : Langage d'interrogation de données)
Algèbre relationnelle
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 SQL PHILIPPE BANCQUART.
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
Cours N°2 Base de Données & Langage SQL
Inventé par T. Codd (IBM Recherche)
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
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
SIO SLAM1: Exploitation d’un schéma de données
Traduction des opérations sous MySQL
Le langage de requêtes SQL
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.
1 PHP 5 Notions fondamentales (cours #5) Formation continue – Cégep de Sainte-Foy.
DEFINITION DES DONNEES : schéma conceptuel. Schéma conceptuel instructiondescription CREATE TABLEcréation d'une relation ALTER TABLEmodification de la.
Sélection de colonnes (la projection)
Le modèle relationnel Plan 1. Concepts descriptifs
1 J. PHILIPP d'après G. Gardarin SGBDR : la gestion des vues l 1. Contexte l 2. Vues externes l 3. Interrogation des vues l 4. Mises à jour des vues l.
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 d ’ Interrogation des donn é es (LID) Module 2.
Le Langage de Manipulation de Données LMD Module 6.
CONCEPTS BD - Synthèse journée 1 :
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,
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)
Manipulation D’Une Base De Données
Transcription de la présentation:

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

Notations Mots clés en majuscule GRAS Paramètres entre chevrons (ex: ) 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 linterrogation SELECT FROM [ WHERE ] Rappel SELECT A 1,…, A n FROM T 1,…, T m WHERE ; est équivalent en algèbre relationnelle à A1,…, An ( (T 1 … T m ))

Insertion de n-uplets dans une relation Insertion d'un seul n-uplet (a)INSERTINTOVINS VALUES (100, 'Jurançon', 1979, 12); (b)INSERTINTOVINS (NV, CRU) VALUES(200, 'Gamay'); Insertion d'un ensemble de n-uplets –CREATETABLEBORDEAUX (NV NUMBER, MIL NUMBER, DEG NUMBER); –INSERTINTOBORDEAUX (SELECTNV, MIL, DEG FROMVINS WHERECRU = 'BORDEAUX);

Suppression de n-uplets dune relation Suppression de tous les n-uplets DELETEFROM VINS Suppression selon une condition de sélection sur une relation DELETEFROM VINS WHEREDEG 12 Suppression selon une condition de sélection sur plusieurs relations DELETEFROMCOMMANDES WHERENBIN (SELECT NBFROM BUVEURS WHERE NOM = 'Dupond' )

Modification de n-uplets d'une relation Modification de tous les n-uplets dune relation UPDATECOMMANDES SETQTE = QTE + 10 Modification selon une condition de sélection sur une relation UPDATEVITICULTEUR SETVILLE = 'Bordeaux' WHERENVT = 150 Modification selon une condition de sélection sur plusieurs relations UPDATECOMMANDES SETQTE = QTE + 10 WHERENBIN (SELECTNB FROMBUVEURS WHERENOM = 'Dupond' )

Syntaxe complète de linterrogation SELECT {[ALL | DISTINCT] [AS ]} | * FROM [WHERE ] [GROUP BY [HAVING ] ] [{UNION | INTERSECT | MINUS} (SELECT …)] [ORDER BY ]

Ligne SELECT SELECT {[ALL | DISTINCT] [AS ]} | * 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] [AS ]} | * 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 dune colonne, COUNT (compte les n-uplets)) soit la combinaison des expressions, fonctions simples et agrégats (ex: MIN, MAX dune 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 : –soit un nom de table, –soit un nom de table préfixé du compte du propriétaire var1 : variable (alias) attribuée à table1 durant la requête

Ligne WHERE (Optionnelle) [WHERE ] condition : expression logique de prédicats colonne comparateur { valeur | colonne | sous-requête} où le comparateur est lun des suivants : =, !=, >, =, |<|…} {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 [HAVING ] ] 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}

Ligne ORDER BY (optionnelle) [ORDER BY ] ordonne le résultat de la requête dans lordre croissant (ASC) ou décroissant (DESC) des valeurs de la colonne1…