Que signifie SQL ?
Le langage de requête structuré (SQL) est un langage de programmation généralement utilisé dans les bases de données relationnelles ou les systèmes de gestion de flux de données.
Développé par IBM au début des années 1970, il est aujourd’hui une norme officielle reconnue par l’American National Standards Institute (ANSI) et l’Organisation internationale de normalisation (ISO).
Techopedia explique SQL
Au fil des ans, le langage SQL est resté un choix populaire pour les utilisateurs de bases de données, principalement en raison de sa facilité d’utilisation et de l’efficacité avec laquelle il permet d’interroger, de manipuler, d’agréger des données et d’exécuter un large éventail d’autres fonctions afin de transformer des collections massives de données structurées en informations utilisables.
C’est pourquoi il a été incorporé dans de nombreux produits commerciaux de base de données, tels que MySQL, Oracle, Sybase, SQL Server, Postgres et d’autres. En fait, de nombreuses bases de données non relationnelles telles que MongoDB et DynamoBD sont appelées produits NoSQL en raison de l’absence de programmation SQL.
Bien que les différentes itérations de SQL puissent utiliser une syntaxe différente pour les opérations clés, en général, les commandes de base comme la sélection, l’insertion, la mise à jour et la création sont communes à toutes les versions de SQL. Il est donc très facile pour une personne ayant des connaissances de base en SQL de travailler dans de nombreux environnements différents et d’effectuer une grande variété de tâches.
Quatre catégories de commandes SQL
Langage de définition des données (DDL)
Il comprend les commandes CREATE (tables, vues, objets, etc.), ALTER et DROP (supprimer).
Langage de manipulation des données (DML)
SELECT, INSERT, UPDATE, DELETE d’enregistrements dans les tables.
Langage de contrôle des données (DCL)
Octroi et/ou annulation de privilèges d’utilisateur, etc.
Indexation de la base de données
Les instructions CREATE INDEX et DROP INDEX sont utilisées pour créer et supprimer des index dans les tables.
Rationalisation de la recherche et d’autres fonctions
SQL permet également aux utilisateurs d’ajouter des contraintes aux tables ou aux colonnes afin de restreindre le type de données qu’elles contiennent. Cela permet de garantir l’exactitude et la pertinence des données et de simplifier la gestion globale de la base de données en rationalisant la recherche et d’autres fonctions.
Voici quelques exemples de contraintes SQL
NOT NULL
Empêche les colonnes d’avoir une valeur nulle.
UNIQUE
Pour s’assurer que toutes les valeurs sont différentes.
En outre, les administrateurs de bases de données peuvent utiliser SQL pour assurer l’intégrité de la base de données en empêchant la création de lignes en double, en autorisant uniquement l’entrée de données valides, en interdisant la suppression de données liées à plusieurs enregistrements, ainsi que d’autres fonctions.
Toutefois, SQL fournit également un certain nombre d’outils de normalisation conçus pour rationaliser les dépendances de données et, d’une manière générale, pour réduire la taille et la portée de la base de données afin de la rendre efficace sur le plan opérationnel et économe en ressources.
Il est évident que SQL n’est pas le meilleur choix pour toutes les applications de base de données, sinon il n’y aurait pas d’autres solutions. D’une part, alors que SQL a été efficace pour les échelles de données jusqu’aux années 1990 et au-delà, la mise en œuvre et les systèmes de gestion de bases de données relationnelles (plutôt que le langage lui-même) ont commencé à faiblir aux niveaux de l’hyperéchelle au tournant du siècle.
Certains utilisateurs se plaignent également de ses limites en matière de “sharding”, qui empêchent de diviser les grandes bases de données en bases plus petites et plus faciles à gérer.
Ces inconvénients sont en fait à l’origine de la création de NoSQL et du plus récent NewSQL, qui tente d’améliorer l’évolutivité du langage SQL traditionnel sans sacrifier son atomicité, sa cohérence, son isolation et sa durabilité (ACID) inhérentes.