SQL – Partie I H.Chappert Version 3.0 2 / 46 TABLE DES MATIÈRES I - Introductio

SQL – Partie I H.Chappert Version 3.0 2 / 46 TABLE DES MATIÈRES I - Introduction ............................................................................................................................................................... 4 II - Langage de Déclaration des Données - LDD -. ............................................................................................ 6 A - Création. ..................................................................................................................................................................... 7 1 - Création d'une table. ......................................................................................................................................... 7 2 - Création d'une vue. ............................................................................................................................................ 9 3 - Création d'un index. .......................................................................................................................................... 9 B - Destruction ............................................................................................................................................................. 10 1 - Destruction d'une table. ............................................................................................................................... 10 2 - Destruction d'une vue. .................................................................................................................................. 10 3 - Destruction d'un index. ................................................................................................................................ 10 C - Gestion de la structure. ...................................................................................................................................... 11 1 - Affichage de la structure. ............................................................................................................................. 11 2 - Modification de la structure. ...................................................................................................................... 11 3 - Renommer une table. .................................................................................................................................... 12 III - Langage de Manipulation des Données - LMD -. ................................................................................... 13 A. Généralités. .......................................................................................................................................................... 13 1. Insertion. ......................................................................................................................................................... 13 2. Modification. .................................................................................................................................................. 14 3. Suppression. ................................................................................................................................................... 14 4. La requête de Sélection. ............................................................................................................................ 15 B. compléments. ..................................................................................................................................................... 16 1. Les opérateurs. ............................................................................................................................................. 16 i. - Les opérateurs arithmétiques. ........................................................................................................ 16 ii. - Les opérateurs logiques. .................................................................................................................... 16 iii. Les opérateurs de comparaison classiques et spécifiques. ................................................... 16 iv. L'opérateur de concaténation. ........................................................................................................... 17 2. Les fonctions. ................................................................................................................................................. 18 i. Les fonctions numériques. .................................................................................................................. 18 ii. Les fonctions sur les chaînes. ............................................................................................................. 19 iii. Les fonctions sur les dates. ................................................................................................................. 19 C. Gestion des données avec sElect ................................................................................................................ 20 1. Insertion. ......................................................................................................................................................... 20 SQL – Partie I H.Chappert Version 3.0 3 / 46 2. Modification. .................................................................................................................................................. 20 3. Suppression. ................................................................................................................................................... 21 D. Utilisation de parametres dans les requetes ......................................................................................... 22 E. Approfondissement de la commande SELECT. .................................................................................... 23 1. Généralités. ..................................................................................................................................................... 23 2. Ordonnancement. ........................................................................................................................................ 24 3. Les jointures. ................................................................................................................................................. 25 4. Traitements de groupe. ............................................................................................................................. 26 5. Les requêtes ensemblistes. ...................................................................................................................... 28 i. Union. ........................................................................................................................................................... 28 ii. Intersect. ..................................................................................................................................................... 28 iii. Minus. ........................................................................................................................................................... 28 6. Les requêtes imbriquées........................................................................................................................... 29 i. Non Synchronisées. ................................................................................................................................ 29 ii. Synchronisées. .......................................................................................................................................... 31 IV - Langage de Contrôle des Données - LCD -. .............................................................................................. 32 A. Généralités. ..................................................................................................................................................... 32 B. Gestion des transactions. .......................................................................................................................... 32 C. Gestion des privilèges. ............................................................................................................................... 33 i) Transmission des privilèges. .............................................................................................................. 33 ii) Suppression des privilèges. ................................................................................................................ 34 V - Algèbre relationnelle et SQL. .......................................................................................................................... 36 VI - Annexes. .................................................................................................................................................................... 1 A. Tables utilisées. ............................................................................................................................................... 1 B. Les commandes SQL. ..................................................................................................................................... 2 C. Les mots réservés SQL. ................................................................................................................................. 3 D. Les types de données. ................................................................................................................................... 7 E. Bibliographie & Webographie. .................................................................................................................. 8 SQL – Partie I H.Chappert Version 3.0 4 / 46 S.Q.L. I - INTRODUCTION SLQ : Structured Query Language. {Langage Structuré de Requêtes}. Ce langage permet d’interroger et de manipuler des Bases de Données Relationnelles. Le SQL étant standardisé, il permet de gérer et d’interroger toutes les Bases de Données Relationnelles (BDR). On pourra donc utiliser les mêmes commandes sur une base Access, Sql Server, PostgreSql, MySql, Oracle, etc… Lorsque l’on utilise le QBE avec Access, il est traduit en SQL avant d’être exécuté. Il peut cependant exister de « légères » différences entre les différentes implémentations de SQL par les éditeurs de SGBDR. Le SQL est basé sur le langage SEQUEL, et a été développé en 1974 par Chamberlin et Boyce, chez IBM suivant les spécifications de Codd de 1970. C’est en 1980, que l’on trouve les premières traces de SQL comme langage d’interrogation de données. En 1986, première normalisation SQL par l’Ansi. En 1987, norme SQL-1 de l’ISO. Depuis de nombreux changements sont apportés à SQL et ne figurent pas toujours dans le standard de l’ANSI même si celui-ci prévoit des standards additionnels pour SQL. Les grandes dates de la normalisation du SQL sont : • 1986 Normalisation ANSI • 1987 Normalisation ISO de SQL 1 • 1992 Normalisation ISO de SQL 2 • 1999 Normalisation ISO de SQL 3. • 2003 Normalisation ISO de SQL 2003 • 2008 Normalisation ISO de SQL 2008 Le SQL est composé de 3 sous-ensembles :  Le Langage de Description des Données LDD SQL – Partie I H.Chappert Version 3.0 5 / 46  Le Langage de Manipulation des Données LMD  Le Langage de Contrôle des Données LCD On trouve parfois un découpage du langage de manipulation des données (LMD) en Langage d’Interrogation des Données (LID) qui ne permet aucune modification de la base de données. Les requêtes SQL peuvent être intégrées dans des langages de programmation ou de description (Php, Cobol, C, Pascal, Fortran, PL/I, …). En principe le langage hôte possède un pré-compilateur qui "traduit" les requêtes SQL en commandes du langage. Le programmeur doit donc prévoir des variables qui recevront les résultats des requêtes SQL. Les résultats des requêtes sont des tables. En interactif ou en langage intégré, il faut un caractère de fin d'instruction : c'est généralement le point-virgule (;) mais la norme ANSI ne l'impose pas pour tous les langages et cela dépend aussi de la base de données utilisées. SQL – Partie II H.Chappert Version 3.0 6 / 46 S.Q.L. II - LANGAGE DE DECLARATION DES DONNEES - LDD -. Data Definition Language - DDL - Dans cette sous-partie du langage SQL, on va trouver les ordres permettant de gérer la base de données (Maintenance des tables notamment). On va trouver des commandes pour :  Créer des tables, des index ou des vues  Détruire des tables, des index ou des vues  Afficher ou modifier la structure d’une table  Renommer une table La notation dans le cours est la suivante :  Les ordres SQL sont en majuscules.  Les options sont encadrées avec [ … ].  Les variables sont encadrées avec < … >. SQL – Partie II H.Chappert Version 3.0 7 / 46 A - CREATION. 1 - CREATION D'UNE TABLE.  Chaque table doit posséder un nom unique dans la base.  Chaque champ (colonne) doit posséder un nom unique dans la table.  Lors de la création d'une table, on peut spécifier des contraintes qui seront valables pendant toute la vie de la table. CREATE TABLE <Nom de la table > (<champ 1> <format 1> [<contraintes 1>] , <champ 2> <format 2> [<contraintes 2>] ,…); Ou CREATE TABLE <Nom de la table > [<champ 1>, <champ 2>, …] AS SELECT …; <Nom de la table > Nom de la table (Relation) dans la base <champ i> Nom du champ (Attribut) dans la base <format i> Type et longueur du champs : CHARACTER (longueur) NUMERIC (précision, échelle)* DECIMAL (précision, échelle) INTEGER SMALLINT FLOAT (précision) REAL DOUBLE PRECISION DATE RAW (Binaire) LONG (Champ mémo avec longueur inconnue). [<contrainte i>] Contraintes sur le champ. [NOT] NULL SQL – Partie II H.Chappert Version 3.0 8 / 46 Le champ peut ou non prendre une valeur nulle. UNIQUE Toutes les valeurs doivent être différentes. PRIMARY KEY Le champ est une clé primaire (Unique et Not Null) REFERENCES <Table> (<Champ>) Le champ est une clé étrangère et renvoie à une clé primaire. CHECK (<Condition>) Les valeurs dans le champ doivent vérifier la condition spécifiée. DEFAULT <Valeur> Tout champ « vide » reçoit une valeur par défaut. Exemples :  CREATE TABLE client (nocli CHAR(4) PRIMARY KEY, nomcli CHAR(25) NOT NULL, ville CHAR(20)) ;  CREATE TABLE facture (numfact NUMBER(5) PRIMARY KEY, datefact DATE DEFAULT sysdate, nocli CHAR(4) REFERENCES client, montant NUMBER(8,2) CHECK(montant>0)) ;  CREATE TABLE factc001 AS SELECT * FROM facture WHERE nocli= "C001"; SQL – Partie II H.Chappert Version 3.0 9 / 46 2 - CREATION D'UNE VUE. Dans les grandes bases de données, on préfère manipuler des sous-ensembles des tables, autant pour des raisons de performances que de sécurité. Pour cela, on crée des vues :  Une vue à la même forme et les même caractéristiques qu'une table.  Une vue peut être créée à partir d'une ou plusieurs table.  On peut avoir des privilèges sur une vue et pas sur la ou les tables qui la composent. CREATE VIEW <Nom de la vue > [<champ 1>, <champ 2>, …] As (Select <Champs> FROM <Tables> [Where <Conditions>]) [<options de tests>]; 3 - CREATION D'UN INDEX. Lorsqu'on manipule de grandes bases de données, on peut optimiser les accès par la création d'index placés sur les champs utilisés lors des requêtes de sélection.  Un index n'est pas forcement unique. CREATE [UNIQUE] INDEX <nom de l'index> ON <nom de la relation / vue> (<champ 1> [<Ordre 1>], <champ 2> [<Ordre 2>], …); Exemple :  CREATE INDEX ind_cli ON client (nomcli, pnomcli); SQL – Partie II H.Chappert Version 3.0 10 / 46 B - DESTRUCTION 1 - DESTRUCTION D'UNE TABLE.  Détruit totalement la table ainsi que les liens éventuels. DROP TABLE <nom de la table>; Exemple :  DROP TABLE client ; (Et hop, plus de table client !!!). 2 - DESTRUCTION D'UNE VUE.  Ne détruit que les informations contenues dans la vue, n'altère pas les informations de la table. DROP VIEW <nom de la vue>; 3 - DESTRUCTION D'UN INDEX.  Détruit totalement l'index. DROP INDEX <nom de l'index>; Exemple :  DROP INDEX ind_cli SQL – Partie II H.Chappert Version 3.0 11 / 46 C - GESTION DE LA uploads/Management/ cours-sql-doc-maitre-pdf.pdf

  • 27
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Mai 12, 2021
  • Catégorie Management
  • Langue French
  • Taille du fichier 0.4912MB