SQL, langage de gestion de bases de données
SQL convient pour gérer de grandes collections de données organisées en listes d'attributs. L'activité classique d'une entreprise, les transactions et les ressources sont parfaitement gérées par un tel outil.
C'est le langage le plus utilisé pour construire et utiliser les
bases de données relationnelles. Le nom était au départ
SEQUEL, abbréviation de "Structured English QUEry Language",
puis a été condensé en SQL et le nom complet "Structured
Query Language", lui est attribué plus tard.
Les créateurs du langage sont Donald D. Chamberlin et Raymond F. Boyce à IBM.
L'implémentation System/38 a été vendue par IBM en
1979, tandis que le logiciel Oracle était créé par Relational Software la même
année (cette entreprise s'est renommée Oracle plus tard).
En 1982 IBM implémente SQL dans DB2.
SQL devient un standard ANSI en 1986, un standard ISO en 1987, mais les
implémentations concrètes sont loin d'être standardisée.
SQL 2003 ajoute des capacités XML au langage.
Le langage connait plusieurs variantes, dotées d'extensions procédurales diverses selon les éditeurs.
- PL/SQL pour Oracle.
- PS/PgSQL pour PostgreSQL.
- SQL Procedural Language par IBM. C'est un langage de programmation complet.
- Transact SQL pour MS SQL Server.
- Access par Microsoft et VBA (Visual Basic for Applications).
Caractéristiques d'un langage de requêtes
Dans le modèle relationel, les requètes sont exprimées déclarativement, comme des relations entre les catégories de données (avec les opérateurs "et", "ou" principalement).
- SQL est conçu principalement pour l'interrogation.
- Etendu avec des langages de programmation procéduraux.
- Retrouve les données avec des requètes fonctionnelles.
- Utilises des tables et lignes ou rangées.
- Fonctions de manipulation de données:
- Effacer des articles, lignes.
- Insérer des lignes.
- Fusionner des tables.
- Sélection d'articles.
- Mise à jour du contenu de la table.
- Fonctions de définition:
- Création de table, de ligne ...
- Abandon de table, ligne ...
- Functions de contrôle:
- Donner à un utilisateur l'autorisation pour des opérations.
- Révoquer les permissions d'un utilisateur.
- Un commentaire a la forme: -- un commentaire.
La principale nouveauté de la version 2003 est la possibilité de traiter du code XML. Dans la version 2006 on définit précisément comment stocker du code XML et accéder à son contenu avec des requêtes.
Les versions 2008 et 2011 apportent des modification mineures.
Il faut noter que le version 2013 de PostgreSQL permet de stocker du code JSON dans les tables et d'accéder programmatiquement au contenu.
Exemples de code
Salut le monde.
CREATE TABLE message (text char(18)); INSERT INTO message (text) VALUES ('Salut, le Monde!'); SELECT text FROM message; DROP TABLE message;
Choisir les articles coûtant moins de 50€.
SELECT * FROM article WHERE price < 50
Les principaux logiciels gratuits de gestion de base de données SQL sont MySQL, une implémentation utilisée par tous les hébergements partagés, SQLite, qui fonctionne localement ou sur serveur, pour une seule base de données et PostgreSQL pour des transactions intensives.
Documentation
Francais:
- Tutoriel SQL avec PHP et MySQL. Apprendre avec des exemples à utiliser SQL sur un site Web. (Sur ce site).
- PostgreSQL vs. Oracle. Comparaison d'un outil gratuit avec le plus onéreux des systèmes.
- Manuel MySQL. Manuel de référence de l'implémentation la plus connue de SQL.
Anglais:
- Comparaison. Différence entre diverses implémentations.
- SQL 92. Le standard.
- SQL 2003. Le standard.