Cloud Data Database

Définition du SQL (Structured Query Language)

SQL (Structured Query Language)

⌚: 6 minutes

SQL (Structured Query Language) est un langage de « programmation » standardisé qui est utilisé pour gérer des bases de données relationnelles et effectuer diverses opérations sur les données qu’elles contiennent. Créé à l’origine dans les années 1970, SQL est régulièrement utilisé non seulement par les administrateurs de bases de données, mais aussi par les développeurs qui écrivent des scripts d’intégration de données et les analystes de données qui cherchent à mettre en place et à exécuter des requêtes analytiques.

Les utilisations du SQL comprennent la modification des tables de base de données et des structures d’index, l’ajout, la mise à jour et la suppression de lignes de données et la récupération de sous-ensembles d’informations dans une base de données pour le traitement des transactions et les applications analytiques. Les requêtes et autres opérations SQL prennent la forme de commandes écrites sous forme d’instructions – les instructions SQL les plus courantes sont les suivantes : sélectionner, ajouter, insérer, mettre à jour, supprimer, créer, modifier et tronquer.

SQL est devenu le langage de programmation standard de facto pour les bases de données relationnelles après leur apparition à la fin des années 1970 et au début des années 1980. Également connus sous le nom de bases de données SQL, les systèmes relationnels comprennent un ensemble de tables contenant des données en lignes et en colonnes. Chaque colonne d’un tableau correspond à une catégorie de données — par exemple, le nom ou l’adresse du client — tandis que chaque ligne contient une valeur de données pour la colonne qui se croise.

Standard SQL et extensions

Une norme SQL officielle a été adoptée par l’American National Standards Institute (ANSI) en 1986, puis par l’Organisation internationale de normalisation, connue sous le nom d’ISO, en 1987. Plus d’une demi-douzaine de mises à jour conjointes de la norme ont été publiées par les deux organismes de normalisation depuis lors ; à l’heure où nous écrivons ces lignes, la version la plus récente est SQL:2011, approuvée la même année.

Les organisations peuvent utiliser des systèmes de gestion de bases de données relationnelles propriétaires et open source construits autour de SQL. Ils comprennent Microsoft SQL Server, Oracle Database, IBM DB2, SAP HANA, SAP Adaptive Server, MySQL (maintenant propriété d’Oracle) et PostgreSQL. Toutefois, nombre de ces bases de données prennent en charge SQL avec des extensions propriétaires du langage standard pour la programmation procédurale et d’autres fonctions. Par exemple, Microsoft propose un ensemble d’extensions appelé Transact-SQL (T-SQL), tandis que la version étendue de la norme d’Oracle est PL/SQL. Par conséquent, les différentes variantes de SQL proposées par les fournisseurs ne sont pas entièrement compatibles entre elles.

Commandes et syntaxe SQL

Les commandes SQL sont divisées en plusieurs types, parmi lesquels les déclarations en Data Manipulation Language (DML) et Data Definition Language (DDL), les contrôles des transactions et les mesures de sécurité. Le vocabulaire DML est utilisé pour récupérer et manipuler les données, tandis que les instructions DDL servent à définir et à modifier les structures des bases de données. Les contrôles des transactions aident à gérer le traitement des transactions, en garantissant que les transactions sont soit terminées, soit annulées en cas d’erreurs ou de problèmes. Les déclarations de sécurité sont utilisées pour contrôler l’accès aux bases de données ainsi que pour créer des rôles et des autorisations d’utilisateur.

Outils SQL-on-Hadoop

Les moteurs de requêtes SQL-on-Hadoop sont une nouvelle ramification de SQL qui permet aux organisations ayant de grandes architectures de données construites autour de systèmes Hadoop d’en tirer parti au lieu de devoir utiliser des langages plus complexes et moins familiers — en particulier l’environnement de programmation MapReduce pour le développement d’applications de traitement par lots.

Plus d’une douzaine d’outils SQL-on-Hadoop sont devenus disponibles par l’intermédiaire des fournisseurs de distribution Hadoop et d’autres vendeurs ; beaucoup d’entre eux sont des logiciels Open Source ou des versions commerciales de ces technologies. En outre, le moteur de traitement Apache Spark, qui est souvent utilisé conjointement avec Hadoop, comprend un module Spark SQL qui prend également en charge la programmation basée sur SQL.

En général, SQL-on-Hadoop est encore une technologie émergente, et la plupart des outils disponibles ne prennent pas en charge toutes les fonctionnalités offertes dans les implémentations relationnelles de SQL. Mais ils deviennent une composante régulière des déploiements de Hadoop, car les entreprises cherchent à faire participer des développeurs et des analystes de données ayant des compétences en SQL.

Ecrire un commentaire