Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
SQL Structured Query Language
SGBD-R SQL Structured Query Language 24/04/2019 Halim M'SILTI
2
Partie I SQL : Définition 24/04/2019 Halim M'SILTI
3
SQL : définition Langage standard et structuré de consultation et manipulation de bases de données relationnelles Possède des commandes interactives ensemblistes qui opèrent sur des tables entières (ensembles logiques de données appelés relations) Offre des opérateurs pour manipuler les tables Son domaine de prédilection est l'extraction des données. 24/04/2019 Halim M'SILTI
4
Partie II SQL en pratique 24/04/2019 Halim M'SILTI
5
SELECT < colonne1, colonne2,..., colonneN >
La structure de base d'une expression SQL (requête) comporte trois clauses : SELECT < colonne1, colonne2,..., colonneN > FROM < table(s) > [ WHERE <condition(s)> ] … Les crochets et les parenthèses angulaires ne font pas partie de la syntaxe. Ils indiquent respectivement une clause facultative et les éléments qui doivent être saisis. 24/04/2019 Halim M'SILTI
6
Syntaxe complète d’une commande SQL
Les clauses doivent être énumérées selon un ordre précis : SELECT [ DISTINCT ] < ... > [ INTO < ... > ] FROM < ... > [ WHERE < ... > ] [ GROUP BY < ... > ] [ HAVING < ... > ] [ UNION sous-sélection ] [ ORDER BY < ... > / FOR UPDATE OF < ... > ] [ … ] 24/04/2019 Halim M'SILTI
7
Consultation typique SQL
SELECT A1, A2, ..., An FROM r1, r2, ..., rn WHERE P Les Ai représentent les attributs Les rk représentent les tables P représente le prédicat La liste des attributs peut être remplacée par une astérisque pour indiquer que l’on sélectionne tous les attributs d’une relation 24/04/2019 Halim M'SILTI
8
Résultat d’une commande SELECT
Table résultante. Cette dernière ne ressemble pas aux autres tables. Elle n'est pas enregistrée et on ne peut pas la consulter une fois l'exécution de SELECT achevée. Il est possible d'utiliser une clause particulière afin de sauvegarder la table résultante dans une table SQL temporaire. Elle pourra alors être réutilisée pendant la session en cours. On peut aussi la sauvegarder en tant que table d'une base de données avec une option spéciale. 24/04/2019 Halim M'SILTI
9
Syntaxe des Commandes SQL
Partie III Syntaxe des Commandes SQL 24/04/2019 Halim M'SILTI
10
CREATE TABLE <nom de la table>
( < colonne1 > < type de données >, < colonne 2 > < type de données >, ... < colonne n > < type de données > ) 24/04/2019 Halim M'SILTI
11
INSERT INTO < nom de la table >
[ ( < liste de colonnes > ) ] VALUES ( < liste de valeurs > ) 24/04/2019 Halim M'SILTI
12
UPDATE < table > / < vue >
SET < colonne > = ( < expression > ), < colonne > = ( < expression > ), … [ WHERE < condition(s) > ] La commande UPDATE permet de modifier les valeurs d'une ou plusieurs lignes d'une table 24/04/2019 Halim M'SILTI
13
ALTER TABLE <table>
ADD ( <colonne> <type de données>, <colonne> <type de données>, ... <colonne> <type de données>) La commande ALTER TABLE permet de modifier la structure d'une table 24/04/2019 Halim M'SILTI
14
DELETE FROM <table> WHERE (< condition(s)>)
La commande DELETE TABLE permet de supprimer une ou plusieurs lignes d'une table 24/04/2019 Halim M'SILTI
15
(<colonne> [ASC/DESC], ... <colonne> [ASC/DESC])
CREATE [UNIQUE] INDEX <nom du fichier index> ON <table> (<colonne> [ASC/DESC], ... <colonne> [ASC/DESC]) 24/04/2019 Halim M'SILTI
16
Exemples de commandes SQL
Partie IV Exemples de commandes SQL 24/04/2019 Halim M'SILTI
17
(SELECT agence, client FROM depot) UNION FROM credit) 24/04/2019
CREATE VIEW fichier_client AS (SELECT agence, client FROM depot) UNION FROM credit) 24/04/2019 Halim M'SILTI
18
VALUES (‘Wagram’, ‘9732’, ‘Martin’, 1200)
INSERT INTO depot VALUES (‘Wagram’, ‘9732’, ‘Martin’, 1200) INSERT INTO depot ( SELECT agence, pret, client, 200 FROM credit WHERE agence = ‘Wagram’ ) 24/04/2019 Halim M'SILTI
19
SELECT SUM (montant) FROM Credit 24/04/2019 Halim M'SILTI
20
SQL : Opérateurs & Fonctions statistiques
Partie V SQL : Opérateurs & Fonctions statistiques 24/04/2019 Halim M'SILTI
21
SQL : opérateurs SQL dispose de plusieurs opérateurs pour définir des conditions de recherche Opérateurs logiques : NOT AND OR Opérateurs arithmétiques : ** ^ * / Opérateurs de comparaison : = < > $ # <> ! L'opérateur ! représente la négation des opérateurs de comparaison. On peut écrire, par exemple != ou !<. 24/04/2019 Halim M'SILTI
22
COUNT ( * / [ DISTINCT ] <colonne> )
Dénombre les lignes sélectionnées SUM([ ALL / [ DISTINCT ] < colonne > ) Additionne les valeurs d'une colonne numérique MIN( [ ALL / DISTINCT ] <colonne>) Trouve la valeur minimale d'une colonne de type caractère ou numérique. MAX( [ ALL / DISTINCT ] <colonne>) Trouve la valeur maximale d'une colonne de type caractère ou numérique. AVG( [ ALL / DISTINCT ] <colonne>) Calcule la moyenne des valeurs d'une colonne numérique. 24/04/2019 Halim M'SILTI
23
Les fonctions statistiques peuvent traiter l'ensemble des valeurs d'une colonne (ou toutes les colonnes) d'une table, d'une vue ou d'une table intermédiaire, ou encore des ensembles de valeurs d'un groupe de lignes définies par une clause GROUP BY ou HAVING Seules les expressions comprenant un nom de colonne peuvent être utilisées comme arguments des fonctions SQL. 24/04/2019 Halim M'SILTI
24
Les fonctions statistiques traitent les valeurs des colonnes de toutes les lignes d'une table résultante ou de toutes celles d'un groupe. IL EST IMPOSSIBLE DE REGROUPER DES FONCTIONS STATISTIQUES ET DES NOMS DE COLONNES DANS LA CLAUSE SELECT, SAUF LORSQUE LA CLAUSE GROUP BY L'Y AUTORISE. 24/04/2019 Halim M'SILTI
25
L'utilisation de la clause GROUP BY est soumise à quelques restrictions
Chaque nom de colonne figurant dans SELECT doit également être inclus dans GROUP BY et réciproquement Vous ne pouvez spécifier une colonne dérivée dans une clause GROUP BY à l'exception des noms de colonnes utilisées dans les fonctions statistiques de la clause SELECT. 24/04/2019 Halim M'SILTI
26
SQL : Principales caractéristiques
Partie VI SQL : Principales caractéristiques 24/04/2019 Halim M'SILTI
27
Les commandes SQL spécifient les données à extraire des tables, et non la procédure employée pour accéder à ces données. C'est le système qui détermine la méthode optimale d'extraction. Cette approche est qualifiée de non procédurale. Cela signifie qu'il est inutile de décrire l'organisation des données sur disque ou en mémoire et donc de spécifier l'accès à une procédure. 24/04/2019 Halim M'SILTI
28
Une seule commande SQL peut remplacer plusieurs commandes d'un langage classique pour effectuer un même travail. Gain de temps appréciable pour le traitement de gros volumes d'informations. Cette particularité, est due au fait qu'une commande en langage SQL agit sur les enregistrements en les prenant un à un ou en groupe. 24/04/2019 Halim M'SILTI
29
Définition des données et des index correspondants
Extraction des données Manipulation des données stockées Ajout Modification Suppression 24/04/2019 Halim M'SILTI
30
Contrôle des accès utilisateur Contrôle de l'intégrité des données
Partage des données Contrôle des accès utilisateur Contrôle de l'intégrité des données Possibilité d'élaborer des procédures de sécurisation des données 24/04/2019 Halim M'SILTI
31
Accès à des bases de données distantes (sur gros système)
Accès à des bases de données réparties ou distribuée sur un réseau La base de données se trouve sur un ou plusieurs serveurs Seule les requêtes et les données résultantes circulent sur le réseau. Respect des implémentations de type Client/Serveur 24/04/2019 Halim M'SILTI
32
SQL ne définit aucune opération d'entrée-sortie (clavier, écran, imprimante). Il doit être utilisé avec un autre langage pour gérer les entrées-sorties. Un programme SQL peut être "encapsulé" dans un autre programme écrit en langage C, Pascal, Fortran, …, pour construire des applications fonctionnant sur micro-ordinateurs ou gros systèmes. Ne prend pas en compte le réglage des performances et les outils d’amélioration de la productivité 24/04/2019 Halim M'SILTI
33
On peut utiliser les commandes SQL :
soit, en mode interactif Les commandes sont exécutées une à une soit, en mode intégré Les commandes peuvent être intégrées dans un programme d’application 24/04/2019 Halim M'SILTI
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.