Fiche technique | |
---|---|
Type de produit : | Langage de programmation |
Auteur : | Donald D. Chamberlin, Raymond F. Boyce |
Date de publication : | 1974 |
Introduction
Le SQL, abréviation de «Structured Query Language», est le langage de programmation le plus populaire permettant d'exploiter les bases de données relationnelles. Bien que sa domination n'est pas négligeable, par le fait qu'il est utilisé par Access, DB2, Filemaker, H2, Hypersonic SQL (HSQLDB), Informix, InterBase, MySQL, Oracle DataBase SQL, PostgreSQL, SQL Server, Sybase,... il existe d'autres langages de programmation de base de données comme dBase (Clipper, xBase, FoxPro, Visual dBase, Visual FoxPro,... inspiré de ses idées), Cypher Query Language (Neo4j,...), NoSQL ou NewSQL.
Historique
Le langage de programmation SQL tire ses origines des langages de programmation SEQUEL, QUEL et QBE, il a été créé en 1974 puis finalement normalisé à partir de 1986 (SQL-86). La première version commerciale du langage de programmation fut proposée par Relational Software, Inc. (actuellement Oracle) .
Avantage et inconvénient
Les avantages d'utiliser le langage de programmation SQL tiennent au fait qu'il est possible de consulter et modifier le contenu d'une base de données avec de petites requêtes inclus dans des langages de programmation Web (ASP.NET, ColdFusion, JSP, PHP,...) ou des langages de programmation d'application réseau (Perl, Delphi,...). Il s'agit donc d'un langage de programmation qu'on a tendance à inclure dans un langage de programmation structuré.
Les inconvénients du langage de programmation c'est qu'une mauvaise requête «UPDATE» peut détruire énormément d'informations rapidement ! Si vous changer plein d'informations sans avoir utilisé un «WHERE» précis, vous risquez de changer des données que vous n'auriez pas dû ! Idéalement, on devrait toujours utiliser la clef primaire pour modifier l'information, mais ce n'est pas toujours possible.
Liste des normes
Voici les normes majeurs du langage de programmation SQL :
Normes | Année |
---|---|
SQL-86 | 1986 |
SQL-89 | 1989 |
SQL-92 (SQL2) | 1992 |
SQL:1999 (SQL3) | 1999 |
SQL:2003 | 2003 |
SQL:2006 | 2006 |
SQL:2008 | 2008 |
SQL:2011 | 2011 |
SQL:2016 | 2016 |
SQL:2019 | 2019 |
... | ... |
Remarque
- Sécurité et nomenclature : Si on vous a demandé de changer la nomenclature des noms de tables sous prétexte d'une faille de sécurité dans un site PHP, ColdFusion ou autre, il s'agit généralement d'une mauvaise pratique, car si votre «hacker» se rend jusqu'au nom de la base de données, c'est que votre site est carrément mal codé et que vous avez déjà énormément de problèmes critiques à corriger d'abord. J'ai déjà constaté ce genre de recommandation pour des CMS comme WordPress et ses franchement s'attaquer au problème à l'envers. Ce n'est pas normal de protéger un site Web à ce niveau, ce genre d'idée relève davantage de l'improvisation de dernière minute plutôt que d'une vision d'un architecte.
Code source
Voici des exemples de code source d'utilitaires pour manipuler le SQL :
Lien | Langage de programmation | Description | Projet | Syntaxe |
---|---|---|---|---|
CSV2SQL.PAS | Free Pascal, Turbo Pascal | Cette commande permet de convertir un fichier .CSV en format SQL. | Corail | CSV2SQL |
csv2sql.php | PHP | Cette commande permet de convertir un fichier .CSV en format SQL. | Corail-DarkSlateBlue | csv2sql |
DBF2SQL.PAS | Free Pascal, Turbo Pascal | Cette commande permet de convertir un fichier .DBF (dBASE III) en format SQL. | Corail | DBF2SQL |
SQL2CSV.PAS | Free Pascal, Turbo Pascal | Cette commande permet de convertir un fichier .SQL en format CSV. | Corail | SQL2CSV |
SQL2DBF.PAS | Free Pascal, Turbo Pascal | Cette commande permet de convertir un fichier SQL en DBF. | Corail | SQL2DBF |
SQL2HTML.PAS | Free Pascal, Turbo Pascal | Cette commande permet de convertir un fichier SQL en HTML. | Corail | SQL2HTML |
SQL2JSON.PAS | Free Pascal, Turbo Pascal | Cette commande permet de convertir un fichier SQL en JSON. | Corail | SQL2JSON |
SQL2XML.PAS | Free Pascal, Turbo Pascal | Cette commande permet de convertir un fichier SQL en XML. | Corail | SQL2XML |