0% ont trouvé ce document utile (0 vote)
83 vues4 pages

TP Poo

Le langage SQL est conçu pour interagir avec des bases de données relationnelles, permettant de manipuler et gérer des données. Son développement remonte aux années 1970, et il a été standardisé par l'ANSI en 1986. SQL comprend plusieurs sous-ensembles de commandes pour définir, manipuler, contrôler et optimiser les données, tout en garantissant l'intégrité des transactions.

Transféré par

isaacmathieu4
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
83 vues4 pages

TP Poo

Le langage SQL est conçu pour interagir avec des bases de données relationnelles, permettant de manipuler et gérer des données. Son développement remonte aux années 1970, et il a été standardisé par l'ANSI en 1986. SQL comprend plusieurs sous-ensembles de commandes pour définir, manipuler, contrôler et optimiser les données, tout en garantissant l'intégrité des transactions.

Transféré par

isaacmathieu4
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

Le langage SQL (Structured Query Language) est un langage de programmation

spécialement conçu pour interagir avec des bases de données relationnelles. Il est
utilisé pour manipuler, interroger et gérer des données stockées dans des bases de
données. SQL permet aux utilisateurs de créer, lire, mettre à jour et supprimer des
données dans des systèmes de gestion de bases de données (SGBD) comme MySQL,
PostgreSQL, Microsoft SQL Server, et Oracle.

Histoire et évolution de SQL

SQL a été développé dans les années 1970 par Donald D. Chamberlin et Raymond F.
Boyce chez IBM sous le nom de SEQUEL (Structured English Query Language). Il a
été conçu pour interroger et manipuler des bases de données relationnelles, qui sont
basées sur le modèle relationnel introduit par le mathématicien Edgar F. Codd. Après
sa standardisation par l'American National Standards Institute (ANSI) en 1986, SQL
est devenu le langage de facto pour la gestion des bases de données relationnelles.

Les composantes principales du SQL

SQL se compose de plusieurs sous-ensembles de commandes qui permettent de


manipuler les données de manière efficace. Ces commandes peuvent être classées en
cinq catégories principales :

1. Les commandes de définition de données (DDL - Data Definition Language) : Ces


commandes sont utilisées pour définir la structure de la base de données, créer des
tables, des index et des vues. Les principales commandes DDL sont :

CREATE: Crée de nouvelles tables, vues, bases de données ou autres objets.

ALTER: Modifie une structure existante (par exemple, ajouter une colonne à une
table).

DROP: Supprime une table, une vue ou une base de données.

TRUNCATE: Supprime toutes les données d'une table, mais conserve sa structure.

2. Les commandes de manipulation des données (DML - Data Manipulation


Language) : Ces commandes permettent de manipuler les données stockées dans les
tables. Les principales commandes DML sont :

SELECT: Interroge la base de données et récupère des informations.

INSERT: Ajoute de nouvelles lignes dans une table.

UPDATE: Modifie les données existantes dans une table.

DELETE: Supprime des lignes de la table.


3. Les commandes de contrôle des données (DCL - Data Control Language) : Ces
commandes sont utilisées pour gérer les droits d'accès aux données. Les commandes
DCL incluent :

GRANT: Accorde des privilèges à un utilisateur ou à un groupe d'utilisateurs.

REVOKE: Retire des privilèges accordés.

4. Les commandes de contrôle de transaction (TCL - Transaction Control Language) :


Ces commandes permettent de gérer les transactions, assurant l'intégrité des données.
Les principales commandes TCL sont :

COMMIT: Enregistre toutes les modifications effectuées dans une transaction.

ROLLBACK: Annule toutes les modifications depuis la dernière commande


COMMIT.

SAVEPOINT: Définit un point de sauvegarde dans une transaction.

SET TRANSACTION: Définit les propriétés d'une transaction (par exemple,


isolation).

5. Les fonctions et expressions : SQL comprend également un ensemble de fonctions


intégrées qui permettent de traiter des données de manière avancée. Parmi celles-ci,
on trouve des fonctions de calcul (SUM, AVG, COUNT), de manipulation de chaînes
de caractères (CONCAT, SUBSTRING), ou de gestion de dates (NOW, DATEADD).

La syntaxe de base de SQL

SQL est un langage déclaratif, ce qui signifie que l'utilisateur spécifie ce qu'il veut
obtenir sans se soucier de la manière dont le SGBD doit le faire. Par exemple, une
simple requête pour récupérer toutes les informations d'une table clients pourrait être :

SELECT * FROM clients;

Cette requête récupère toutes les colonnes de la table clients. Si l'on souhaite ne
récupérer que certaines colonnes, on peut spécifier ces colonnes dans la requête :

SELECT nom, prenom FROM clients;

Les clauses SQL


Les requêtes SQL peuvent être enrichies par l'utilisation de différentes clauses, qui
permettent de filtrer, trier ou organiser les résultats. Les plus courantes sont :

1. WHERE : Permet de spécifier des conditions pour filtrer les données. Exemple :

SELECT * FROM clients WHERE age > 30;

2. ORDER BY : Permet de trier les résultats selon une ou plusieurs colonnes.


Exemple :

SELECT * FROM clients ORDER BY nom ASC;

3. GROUP BY : Permet de regrouper les résultats par une ou plusieurs colonnes,


souvent utilisé avec des fonctions d'agrégation (comme COUNT, SUM, AVG).
Exemple :

SELECT pays, COUNT(*) FROM clients GROUP BY pays;

4. HAVING : Similaire à WHERE, mais utilisé pour filtrer les résultats après un
regroupement (GROUP BY). Exemple :

SELECT pays, COUNT(*) FROM clients GROUP BY pays HAVING COUNT(*) >
10;

5. JOIN : Permet de combiner plusieurs tables en une seule requête en fonction d'une
relation entre elles. Il existe plusieurs types de jointures : INNER JOIN, LEFT JOIN,
RIGHT JOIN, FULL OUTER JOIN. Exemple :

SELECT clients.nom, commandes.date


FROM clients
INNER JOIN commandes ON clients.id = commandes.client_id;

Les transactions en SQL

Une transaction est un ensemble d'opérations qui doivent être traitées comme une
unité. Les transactions permettent d'assurer l'intégrité des données, en garantissant que
toutes les opérations soient réalisées avec succès, ou qu'aucune opération ne soit
appliquée en cas d'erreur. Les transactions respectent les propriétés ACID (Atomicité,
Cohérence, Isolation, Durabilité).

Exemple de transaction :

BEGIN TRANSACTION;
UPDATE comptes SET solde = solde - 100 WHERE id = 1;
UPDATE comptes SET solde = solde + 100 WHERE id = 2;

COMMIT;

Si l'une des mises à jour échoue, la commande ROLLBACK peut être utilisée pour
annuler toutes les modifications de la transaction.

Optimisation des requêtes SQL

L’optimisation des requêtes SQL est cruciale pour garantir des performances élevées,
surtout lorsque la base de données contient de grandes quantités de données. Les
bonnes pratiques incluent :

L'utilisation d'index pour accélérer les recherches.

La limitation des résultats à un sous-ensemble nécessaire (utilisation de LIMIT ou


TOP).

La réduction du nombre de jointures complexes.

L'écriture de requêtes simples et claires.

Conclusion

SQL est un outil essentiel pour la gestion des bases de données relationnelles. Grâce à
sa syntaxe simple et à ses fonctionnalités puissantes, il permet aux utilisateurs
d'interroger et de manipuler efficacement de grandes quantités de données. Bien que
SQL soit largement utilisé, les utilisateurs doivent comprendre les concepts de base
du langage, ainsi que les techniques d'optimisation, pour garantir une utilisation
optimale dans des environnements de données complexes.

Vous aimerez peut-être aussi