SYSTÈME DE GESTION DE BASES DE DONNÉES 2 SOMMAIRE 1. Traduire les opérations de
SYSTÈME DE GESTION DE BASES DE DONNÉES 2 SOMMAIRE 1. Traduire les opérations de l’algèbre Relationnelle en requêtes SQL. 2. Exploiter l'environnement du SGBDR pour interroger une base de données. 3. Exploiter les commandes de description de données. 4. Exploiter les commandes de manipulation des données. 5. Gérer des transactions. 6. Utiliser les différents types d’objets sur une base de données. 7. Sécuriser les données. 3 4 1. Traduire les opérations de l’algèbre Relationnelle en requêtes SQL L’algèbre relationnelle Le langage SQL Utiliser L’ordre SELECT Base de données exemple : Groupe(codeg,nomg) stagiaire(cin,nom,prénom,adresse,dn,ln,sexe, nb,codeg) 5 L’algèbre relationnelle L'algèbre relationnelle est à l'origine du langage SQL (Structured Query Language) d'IBM, langage d'interrogation et de manipulation de tous les SGBDR actuels (Oracle, PostgreSQL, MySQL, MS SQLServer, MS Access et tous les autres). Une bonne maîtrise de l'algèbre relationnelle permet de concevoir n'importe quelle requête aussi complexe soit elle avant de la mettre en œuvre à l'aide du langage SQL Les opérations de base Projection Sélection Jointure Les opérations ensemblistes Union Intersection Différence Produit cartésien 6 La projection Opération qui consiste à extraire toutes lignes d’une table pour un sous ensemble de colonnes Exemple : Liste des nom,prénom des stagiaires Select nom,prénom from stagiaire nom prénom ln dn Amrani Med Sefrou 30/12/1987 Saadi Maha Fes 12/10/1988 Ayachi Rachida Fes 11/08/1986 SELECT nom, prénom FROM stagiaire nom prénom Amrani Med Saadi Maha Ayachi Rachida 7 La sélection Permet de retenir les lignes répondant à une condition de sélection La condition est exprimée à l'aide des opérateurs =, >, <, >=, <=, <>, opérateurs logiques de base ET, OU, NON et éventuellement des parenthèses Exemple : SELECT * FROM stagiaire WHERE ln=‘FES’ nom prénom ln dn Amrani Med Sefrou 30/12/1987 Saadi Maha Fes 12/10/1988 Ayachi Rachida Fes 11/08/1986 SELECT nom, prénom FROM stagiaire Where ln=‘Fes’ nom prénom ln dn Saadi Maha Fes 12/10/1988 Ayachi Rachida Fes 11/08/1986 8 La jointure Cet opérateur porte sur 2 tables qui doivent avoir au moins un attribut défini dans le même domaine La condition de jointure peut porter sur l'égalité d'un ou de plusieurs attributs définis dans le même domaine nom prénom ln dn codeg Amrani Med Sefrou 30/12/1987 TDI1B Saadi Maha Fes 12/10/1988 TDI1A Ayachi Rachida Fes 11/08/1986 TDI1C codeg nomg TDI1A Groupe A TDI1B Groupe B TDI1C Groupe C SELECT * FROM stagiaire,groupe WHERE stagiaire.codeg = groupe.codeg nom prénom ln dn codeg codeg nomg Amrani Med Sefrou 30/12/1987 TDI1B TDI1B Groupe B Saadi Maha Fes 12/10/1988 TDI1A TDI1A Groupe A Ayachi Rachida Fes 11/08/1986 TDI1C TDI1C Groupe C 9 Union (OU) Cet opérateur porte sur deux tables qui doivent avoir le même nombre d'attributs définis dans le même domaine. On parle de tables ayant le même schéma. La table résultat possède les attributs des tables d'origine et les lignes de chacune, avec ou sans élimination des doublons éventuels. 10 Intersection (ET) Cet opérateur porte sur deux tables de même schéma La table résultat possède les attributs des tables d'origine et les lignes communes à chacune. 11 Différence Cet opérateur porte sur deux tables de même schéma La table résultat contient les lignes de la première table qui n'appartiennent pas à la deuxième 12 Produit cartésien Cet opérateur porte sur deux tables La table résultat est formé par la concaténation de chaque ligne de la première table avec l'ensemble des lignes de la deuxième 13 TP01 : Création de la BD (30mn) Dans cet exercice vous allez utiliser SQL Server pour créer la base de données EFP comprenant les deux tables : groupe et stagiaire. Démarrer SQL Enterprise manager Enregistrer votre serveur Créer la base de données Créer les tables Créer le schéma de la base de données Utiliser l’analyseur de requêtes pour interroger la BD 14 Le langage SQL En 1970, SQL (Standard Query Language, en français langage de requêtes structurées ) est né à la suite des travaux mathématiques de Codd (Directeur de recherche du centre IBM à San-José) , travaux qui ont fondé les bases de données relationnelles Suite à ces recherches plusieurs langages sont apparus : •IBM Sequel (Structured English Query Language) en 1977 •IBM Sequel/2 •IBM System/R •IBM DB2 En 1982, SQL fut lancé commercialement par IBM. SQL a subit 3 normalisations : •SQL1 en 1986 (version minimale) •SQL1 en 1989 (+ intégrité) •SQL2 en 1992 •SQL3 en 1999 Aujourd'hui SQL constitue le point d'entrée obligatoire sur une Base de Donnée relationnelle. 15 Utiliser l’ordre SELECT SELECT [DISTINCT] */liste d’attributs FROM nom(s) de table(s) WHERE condition de sélection GROUP BY nom de l’attribut de regroupement HAVING condition de regroupement ORDER BY critère(s) de tri [ UNION | INTERSECT | MINUS SELECT ….. ] 16 DISTINCT Le résultat d’un SELECT étant un ensemble, il peut y avoir des doublons Le mot clé DISTINCT permet de préciser que l’on ne veut qu’un seul exemplaire de ces enregistrements Remarque : le résultat est une liste triée Exemple : liste des prénom des stagiaires SELECT prénom FROM stagiaire SELECT DISTINCT prénom FROM stagiaire 17 Opérateurs Arithmétiques Vous pouvez utiliser les opérateurs arithmétiques * / + - pour effectuer des calculs Priorité des opérateurs : * et / sont prioritaires sur + et – Vous pouvez utiliser les parenthèses Exemple : SELECT nom, 2*nb FROM stagiaire 18 Les Valeurs NULL Une valeur NULL est une valeur non disponible, non affectée, inconnue ou inapplicable. Une valeur NULL est différente du zéro ou de l'espace. Le zéro est un chiffre et l'espace est un caractère Exemple : SELECT * FROM stagiaire WHERE nb IS NULL 19 Alias de Colonne Renomme l’en-tête de colonne Est utile dans les calculs Suit immédiatement le nom de la colonne avec le mot-clé AS Doit obligatoirement être inclus entre guillemets s’il contient des espaces, des caractères spéciaux ou si il faut tenir compte des majuscules/minuscules Exemple : SELECT nom, 2*nb AS note FROM stagiaire 20 Opérateur de Concaténation L'opérateur de concaténation (+) permet de concaténer des colonnes à d'autres colonnes, à des expressions arithmétiques ou à des valeurs constantes Exemple : SELECT nom + ’ ‘ + prénom AS NP FROM stagiaire 21 TP02 : Utiliser SELECT (20mn) Écrire les requêtes qui permettent : Afficher la liste de tous les stagiaires Afficher la liste des villes de naissance sans doublons Afficher une liste qui comprend deux colonnes : une pour le nom et prénom concaténés et une autre pour l’adresse Afficher la liste des lieux et dates de naissance en définissant des aléas pour ces deux colonnes 22 la Clause WHERE Dans la clause WHERE, les chaînes alphanumériques et les dates doivent être incluses entre simples quottes Opérateurs de Comparaison Opérateur = > >= < <= <> Signification Egal à Supérieur à Supérieur ou égal à Inférieur à Inférieur ou égal à Différent de 23 L'Opérateur BETWEEN L'opérateur BETWEEN permet d'afficher des lignes en fonction d'un intervalle de valeurs Vous spécifiez un intervalle comprenant une limite inférieure et une limite supérieure Exemple : SELECT * FROM stagiaire WHERE nb BETWEEN 12 AND 13 24 Opérateur IN Permet de comparer une expression avec une liste de valeurs, utilisez l'opérateur IN Opérateur d’appartenance à un ensemble de valeurs Exemple : SELECT * FROM stagiaire WHERE ln IN (‘taza’,’sefrou ‘,’rabat’) 25 Opérateur LIKE L'opérateur LIKE permet d’effectuer une comparaison partielle Il est surtout employé avec les colonnes contenant des données de type alphanumériques Il utilise les jokers % et _ (‘pour cent’ et ‘blanc souligné’). Le joker % remplace n'importe quelle chaîne de caractères, y compris la chaîne vide. Le blanc souligné remplace un et un seul caractère. Exemple : SELECT * FROM stagiaire WHERE nom LIKE ‘%BA%’ 26 Opérateurs Logiques Un opérateur logique combine le résultat de deux conditions pour produire un résultat unique ou inverse le résultat d'une condition unique. SQL inclut trois opérateurs logiques : AND Intersection OR Union NOT négation 27 L’opérateur AND = intersection sexe=‘M’ AND AND ln=‘Fes’ 28 L’opérateur OR = Union sexe = ‘M’ OR OR ln=‘Fes’ 29 Le tri ORDER BY ORDER BY colonne1 | 1 [ASC ou DESC ] [, colonne2 | 2 [ASC ou DESC ] ... La clause ORDER BY sert à trier les lignes ASC (ascending) classe les lignes en ordre croissant. C'est l'ordre par défaut. DESC (descending) classe les lignes en ordre décroissant. Exemple : SELECT * FROM stagiaire ORDER BY sexe, nb DESC 30 La clause TOP La clause TOP n permet d’afficher les n premières lignes de la requête Exemple : SELECT TOP 5 * FROM stagiaires ORDER BY nb DESC 31 TP03 : la clause WHERE (30mn) Développer les requêtes suivantes : Liste des stagiaires ayant une note du bac supérieure à 12 Liste des stagiaires de sexe féminin puis celle des stagiaires masculins Liste des stagiaires né à Taza puis ceux qui ne sont pas nés à Fes Liste des stagiaires qui portent les prénoms : Fatima, Meryem ou Ahmed Les stagiaires qui habitent le quartier Benslimane Les stagiaires de sexe masculin ayant plus de 12 uploads/Industriel/2015-04-19-sql.pdf
Documents similaires
-
19
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Nov 01, 2021
- Catégorie Industry / Industr...
- Langue French
- Taille du fichier 0.5118MB