Le langage SQL LDD : Langage de Définition de Données

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 :
Jeudi 24/09 Correction TP du mardi 22/09
4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE.
Les requêtes Manière de dialoguer avec une base de donnée pour :
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
Optimisation de Requêtes
Les Requêtes S.Q.L « Structured Query Language)
Les fonctions.
Année universitaire Système dinformation Le SQL (Structured Query Language) langage dinterrogation dune base de données.
LE LANGAGE SQL : LDD La création de tables L’ordre CREATE CREATE TABLE nom_de_table (Nom_colonne Type_colonne, Nom_colonne Type_colonne,
LMD: Langage de Manipulation de Données
Le Langage d’Interrogation de Données LID Multi-table Jointures
AYARI Mejdi Formation 2121 * ISD * 1 tructured uery Anguage 2006.
BASE DE DONNEES RELATIONNELLES
Regrouper les Données avec les Fonctions de Groupe
LE LANGAGE SQL Langage de manipulation de données (LMD)
2 Ils associent les rangées de 2 requêtes UNION [ALL] INTERSECT MINUS.
SELECT {* | Expression [Alias] [,...] } FROM Table [WHERE Condition] [ORDER BY { Expression | Alias } [ ASC | DESC ] [NULLS FIRST | NULLS LAST ] [,...]
L’utilisation des bases de données
SQL Partie 3 : (LID : Langage d'interrogation de données)
Cours N°2 Base de Données & Langage SQL
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é.
SQL partie3: Langage de définition des données
Manipulation des données Requêtes simples
Initiation aux bases de données et à la programmation événementielle
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
SQL partie 3. SQL est un langage de définition de données SQL est un langage de définition de données (LDD), c'est-à-dire qu'il permet de créer des tables.
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,
 CREATE TABLE  DROP TABLE  ALTER TABLE  INSERT  UPDATE  DELETE  SELECT interrogation 2 Instruction de mise à jour structure.
Partie2: Introduction à SQL LANGAGE DE REQUETES RELATIONNEL CHAPITRE 4: INTERROGATION DES BASES DE DONNÉES.
Traduction des opérations sous MySQL
JDBC L'API JDBC est utilisée pour utilisée pour intéragir avec une base de données.
SQL (deuxième partie) Langage de manipulation de données (LMD) Chap 4.6 p 107.
1 PHP 5 Notions fondamentales (cours #5) Formation continue – Cégep de Sainte-Foy.
Module 7 : Utilisation de requêtes élaborées
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
Cours n°2 Implémentation et exploitation
Le Langage d ’ Interrogation des donn é es (LID) Module 2.
Le Langage de Manipulation de Données LMD Module 6.
Base de données Magasins.accdb
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
De Arnault Chazareix :
Bases de données : modèlisation et SGBD Séance 3.
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 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)
Structured Query Language
SQL LID – INTERROGATIN DES DONNEES
Manipulation D’Une Base De Données
5 Copyright © 2004, Oracle. Tous droits réservés. Afficher des données de plusieurs tables.
Transcription de la présentation:

Le langage SQL LDD : Langage de Définition de Données création, modification et suppression d’objets de base de données (Tables, champs, contraintes …) LMD : Langage de Manipulation de Données Extraction de données Regroupement et synthèse de données Jointure des tables Modification de données (mise à jour et suppression) LMD : Langage de Contrôle de Données Gestion des utilisateurs (connexionx, droits d’accès, mots de passe…)

Le langage SQL 1. Extraction de données SELECT champ [, champ2]… FROM table WHERE condition ORDER BY champ [ASC | DESC] Utilisation de la clause SELECT Exemple: 1- SELECT CodeFact, DateFact, Montant * 1.2 FROM Facture ORDER BY DateFact 2- SELECT *

Le langage SQL Utilisation de la clause WHERE Exemple: SELECT CodeFact, DateFact, Montant * 1.2 FROM Facture WHERE Montant > 10 000 And DateFact < # 31/12/2005 # ORDER BY DateFact Opérateurs: = < > <= >= <> Between a And b And Or Xor Not IN Like

Le langage SQL Utilisation de la clause WHERE Exemple: SELECT Personnes.Nom, Personnes.Prénom FROM Personnes WHERE Personnes.Nom Like "c*" * : designe 0 ou plusieurs caractères ? : Désigne un caractère Question : Personnes dont le nom est composé de 5 caractère ? SELECT Personnes.Nom, Personnes.Prénom FROM Personnes WHERE Personnes.Nom Like "?????" Au moins 5 caractère : Like "?????*" Contient la lettre b : Like "*b*" Ne contient pas la lettre b : Not Like "*b*"

Le langage SQL Élimination des doublons : (DISTINCT) SELECT Distinct Type FROM Produit Limitation de nombre de lignes renvoyées par une requête : SELECT TOP 10 nomProduit FROM Produit Question : nom des 3 étudiants les mieux classés ainsi que leurs moyennes? SELECT TOP 3 nom, moyenne FROM Resultat ORDER BY moyenne DESC Question : nom et moyenne du dernier de la classe ? SELECT TOP 1 nom, moyenne FROM Resultat ORDER BY moyenne

Le langage SQL 2. Regroupement et synthèse de données Fonctions d’agrégation : SUM : somme AVG : moyenne MIN : minimum Max : maximum COUNT : nombre de lignes SELECT MAX(moyenne) ( ou MAX(DISTINCT(moyenne) ) ) FROM Resultat SELECT COUNT(*) FROM Employe (nombre d’employés dans l’entreprise) SELECT SUM(Salaire) FROM Employe (masse salariale)

Le langage SQL - Regroupement avec GROUP BY SELECT Type, MAX(Prix), MIN(Prix) FROM Produits GROUP BY Type ORDER BY Type Important : tout champ qui n’est pas contenu dans une fonction d’agrégation doit figurer dans la clause GROUP BY Question : types de produits dont le prix maximum dépasse 1000 DH? SELECT Type, MAX(Prix) HAVING MAX(Prix) > 1000 Important : la clause WHERE exprime des conditions sur les champs (application avant regroupement) alors que la clause HAVING exprime des condition sur le groupe (application après regroupement)

3. Jointure des tables: jointures internes Pere Fils numPere Nom prenom 1 Salmi Mohamed 2 Bahi Rida 3 Alami Khalil 4 Rizki Rachid numPere prenom 1 Slimane salima 3 Laila SELECT Pere.Nom, Fils.Prenom FROM Pere Join Fils On Pere.numPere = Fils.numPere Nom prenom Salmi Slimane salima Alami Laila La requête retourne uniquement les enregistrements qui respectent la condition, on parle de Jointure interne

3. Jointure des tables: jointures externes Question : Liste de tous les pères (nom et prenom) ainsi que le prénom du fils pour ceux qui en ont SELECT p.Nom, p.Prenom, f.Prenom As "Prenom fils" FROM Pere p Left Join Fils f On p.numPere = f.numPere Nom prenom Prenom fils Salmi Mohamed Slimane salima Bahi Rida NULL Alami Khalil Laila Rizki Rachid 1- La requête retourne tous les enregistrements de la table de gauche ainsi que les enregistrements de la table de droite qui respectent la condition 2- L’usage des alias (p, f) permet de réduire le code et le rendre plus lisible. Dans le cas où les tables jointes possèdent des noms de champs identiques, cette recommandation devient obligatoire

3. Jointure des tables: jointures externes Remarque : On dispose également de jointure externes à droite: Right Join. Le principe est le même, il suffit d’inverser l’ordre des tables SELECT p.Nom, p.Prenom, f.Prenom FROM Fils f Right Join Pere p On p.numPere = f.numPere Nom prenom Prenom fils Salmi Mohamed Slimane salima Bahi Rida NULL Alami Khalil Laila Rizki Rachid Question: Résultats de la requête suivante ? Nom prenom Prenom fils Salmi Mohamed Slimane salima Alami Khalil Laila SELECT p.Nom, p.Prenom, f.Prenom FROM Fils f Left Join Pere p On p.numPere = f.numPere

3. Jointure des tables: jointures externes Employe Service nume Nom nums 1 Salmi 20 2 Bahi 10 3 Alami 4 Rafik nums nomService ville 10 Rehcerche Rabat 20 Vente Kénitra 30 Achat Fès Question : noms de tous les employés aisni que le nom du service où ils travaillent ? Nom nomService Salmi Vente Bahi Recherche Alami Rafik SELECT e.Nom, s.nomService FROM Empoye e Left Join Service s On e.nums = s.nums

3. Jointure des tables: jointures externes Employe Service nume Nom nums 1 Salmi 20 2 Bahi 10 3 Alami 4 Rafik nums nomService ville 10 Rehcerche Rabat 20 Vente Kénitra 30 Achat Fès Question : nombre d’employés par service ? nomService nbrEmploye Recherche 1 Vente 2 Achat SELECT s.nomService, COUNT(e.nume) As "nbrEmploye" FROM Service s Left Join Empoye e On e.nums = s.nums GROUP BY s.nomService

4. Ajout de données: INSERT [ INTO ] INSERT Etudiant (nom, prenom, note) VALUES ("Carlos", "Santana", 14) INSERT Etudiant VALUES ( Liste valeurs dans l’ordre des champs de la table) 5. Modification de données: UPDATE UPDATE Etudiant SET note = note+2 WHERE Classe = 3 And Option = "Actuariat" Remarque : La clause WHERE est utilisée de la même manière qu’avec la clause SELECT

6. Suppression de données: DELETE Supprimer l’étudiant Carlos DELETE Etudiant WHERE nom = "Carlos" Vider la table Etudiant :