Qu'est-ce que SQL ? Définition et notions de base – Tutoriel

⚡ Résumé intelligent

Qu'est-ce que SQL ? Le Structured Query Language (langage de requête structuré) est le langage standard pour interagir avec les bases de données relationnelles. Il permet de créer des schémas, d'interroger des enregistrements, de mettre à jour des lignes, de gérer les permissions et de connecter des applications modernes à des moteurs comme SQL. PostgreSQL, MySQL, et SQL Server.

  • (I.e. Définition: SQL signifie Structured Query Language (langage de requête structuré), une norme ANSI et ISO utilisée pour définir, interroger et contrôler les données au sein d'une base de données relationnelle.
  • 🧩 Types d'énoncés : Les commandes de groupe DDL, DML, DCL, TCL et DQL telles que CREATE, INSERT, UPDATE, DELETE, SELECT et DROP.
  • Standard: ANSI SQL:2023 a ajouté la prise en charge native de JSON et PostgreSQL-requêtes de graphes de propriétés standard de style (SQL/PGQ).
  • ⚙️ Moteurs: PostgreSQL 17 MySQL 8, Oracle 23ai et SQL Server 2022 implémentent tous deux une grande partie de la norme SQL moderne.
  • ???? SQL vs NoSQL : SQL impose des schémas, des jointures et des transactions ACID, tandis que NoSQL privilégie l'évolutivité horizontale et la flexibilité des documents au détriment d'une structure stricte.
  • 🤖 Angle d'approche IA : Les assistants de conversion texte-SQL tels que GitHub Copilot et Vanna AI traduisent désormais les questions en anglais courant en requêtes SQL exécutables.

Qu'est-ce que SQL?

Qu'est-ce que SQL?

SQL SQL est le langage standard pour interagir avec les bases de données relationnelles. Il permet d'insérer, de rechercher, de mettre à jour et de supprimer des enregistrements, et d'optimiser et de maintenir les bases de données. SQL est une norme ANSI et ISO ; par conséquent, la même syntaxe de base est utilisée par différents moteurs de bases de données, tels que… PostgreSQL, MySQL, Oracle, et SQL Server.

Formulaire complet SQL

SQL signifie Langage de requête structuré, prononcé « SQL » ou « See-Quel ». IBM l'ont développé dans les années 1970, et les bases de données relationnelles telles que MySQL, Oracle Database, Microsoft SQL Server, PostgreSQL et SAP Sybase utilise ANSI SQL comme base.

Comment utiliser SQL

Pour exécuter une requête SQL, il faut écrire une instruction qui spécifie l'opération, la table cible et les éventuelles conditions de filtrage. Une requête SELECT renvoyant les membres âgés de plus de 30 ans ressemble à ceci :

SELECT * FROM Members WHERE Age > 30;

La syntaxe est globalement similaire d'une base de données à l'autre car tous les principaux moteurs implémentent la norme ANSI. Quelques SGBDR ajoutent des dialectes propriétaires, par exemple T-SQL dans SQL Server et PL/SQL dans d'autres bases de données. Oracle.

Cliquez à nouveau ici si la vidéo n'est pas accessible

À quoi sert SQL ?

Voici les principales raisons d'utiliser SQL :

  • Il aide les utilisateurs à accéder aux données dans le Système SGBDR.
  • Cela vous aide à décrire les données.
  • Il vous permet de définir les données dans une base de données et de manipuler ces données spécifiques.
  • Avec l'aide de SQL, vous pouvez créer et supprimer des bases de données et des tables.
  • SQL vous permet d'utiliser des fonctions dans une base de données, de créer une vue et d'écrire des procédures stockées.
  • Vous pouvez définir des autorisations sur les tables, les procédures et les vues.
  • SQL prend en charge les tâches analytiques telles que la création de rapports, la veille stratégique et l'alimentation en données des pipelines d'apprentissage automatique.

Une brève histoire de SQL

Voici les jalons importants de l’histoire de SQL :

  • 1970 – Le Dr Edgar F. « Ted » Codd décrit un modèle relationnel pour les bases de données.
  • 1974 – Le langage de requête structurée (Structured Query Language) est apparu à IBM Recherche.
  • 1978 - IBM Système/R publié.
  • 1986 – L’ANSI a normalisé SQL sous le nom de SQL-86.
  • 1989 – Publication de la première version commerciale de la norme SQL.
  • 1999 – SQL :1999 a ajouté les déclencheurs et les fonctionnalités orientées objet.
  • SQL:2003 – Fonctions de fenêtrage et fonctionnalités XML.
  • SQL :2006 – Prise en charge du langage de requête XML.
  • SQL Server 2011 – Prise en charge des bases de données temporelles.
  • SQL:2016 – JSON, reconnaissance de modèles de lignes, fonctions de table polymorphes.
  • SQL:2023 – Requêtes de graphes de propriétés (SQL/PGQ) et gestion JSON plus stricte.

Types d'instructions SQL

Voici cinq types d'instructions SQL couramment utilisées :

  • Data Definition Language (DDL)
  • Manipulation de données Langue (DML)
  • Langue Control Data (DCL)
  • Langage de contrôle des transactions (TCL)
  • Langage de requête de données (DQL)

Liste des commandes SQL

Voici une liste de quelques-uns des plus couramment utilisés commandes SQL:

  • CREATE – définit la structure ou le schéma de la base de données.
  • INSERT – insère des données dans les lignes d'un tableau.
  • MISE A JOUR – met à jour les données existantes dans une base de données.
  • EFFACER – supprime une ou plusieurs lignes d'un tableau.
  • SELECT – sélectionne les attributs qui correspondent à la condition décrite par la clause WHERE.
  • GOUTTE – supprime les tables et les bases de données.
  • FUSIONNER – effectue une INSERT ou une UPDATE en une seule instruction en fonction d'une condition de correspondance.

Processus SQL

Lorsque vous exécutez une commande SQL, le moteur de base de données analyse l'instruction, choisit un plan d'exécution et l'exécute sur la couche de stockage.

Les éléments importants de ce processus sont :

  • Moteur de requête SQL
  • Moteur d'optimisation
  • Répartiteur de requêtes
  • Moteur de requête classique

Le moteur de requêtes classique gère les requêtes non SQL, tandis que le moteur de requêtes SQL traite la charge de travail structurée.

Processus SQL
Processus SQL

Normes SQL

SQL couvre la création, la suppression, l'extraction et la modification de lignes de bases de données, ainsi que le contrôle d'accès. Il s'agit d'une norme ANSI (American National Standards Institute) et ISO, et l'édition actuelle est la suivante : ISO/IEC 9075:2023 , communément appelée SQL:2023. La norme est divisée en plusieurs parties :

Partie Description
Partie 1 – SQL/Framework Elle propose les concepts logiques qui sous-tendent toutes les autres parties.
Partie 2 – SQL/Foundation Définit la syntaxe et la sémantique centrales du SQL.
Partie 3 – SQL/CLI Spécifie l'interface de niveau d'appel utilisée par ODBC et les pilotes similaires.
Partie 4 – Modules stockés persistants Routines stockées, routines externes et extensions de langage procédural vers SQL.
Partie 9 – Gestion des données externes Ajoute la syntaxe et les définitions permettant à SQL d'accéder à des sources de données non SQL telles que des fichiers.
Partie 10 – Liaisons en langage objet Spécifie la syntaxe et la sémantique de l'intégration de SQL dans Java.
Partie 11 – SQL/Schéma Schémas d'information et de définition.
Partie 13 – SQL/JRT routines et types SQL utilisant Java langage de programmation.
Partie 14 – SQL/XML SQL et XML, y compris l'intégration XMLTYPE et XQuery.
Partie 15 – SQL/MDA Fournit une prise en charge SQL pour les tableaux multidimensionnels.
Partie 16 – SQL/PGQ Ajouté dans SQL:2023 pour définir des requêtes de graphes de propriétés sur des tables relationnelles.

Moteurs SQL modernes

Chaque moteur implémente la majeure partie du noyau ANSI et ajoute ses propres extensions :

  • PostgreSQL 17: Logiciel libre respectant des normes strictes et offrant une prise en charge étendue du format JSON.
  • MySQL 8: Très apprécié des applications web ; prend en charge les fonctions de fenêtre, les CTE et un mode de stockage de documents.
  • Microsoft SQL Server 2022: Moteur d'entreprise avec intelligence de requête et Azure Mise en miroir des synapses.
  • Oracle Database 23ai : Combine SQL avec la recherche vectorielle et les vues duales JSON-relationnelles.
  • SQLite: Moteur léger basé sur les fichiers, intégré aux applications mobiles et aux navigateurs.

Les entrepôts de données cloud tels que Amazon Décalage vers le rouge, Google BigQuery et Snowflake exposent également les dialectes SQL ANSI, rendant le langage portable d'un ordinateur portable à l'analyse à l'échelle du pétaoctet.

Éléments du langage SQL

Voici les éléments importants du langage SQL :

  • Mots clés: Les mots réservés tels que SELECT, FROM ou WHERE constituent la base de chaque instruction.
  • Identifiants: Noms des objets de la base de données tels que les identifiants utilisateur, les tables et les colonnes.
  • Cordes: Chaînes de caractères littérales ou expressions de type VARCHAR ou CHAR.
  • Expressions: Composé de constantes, d'opérateurs SQL, de noms de colonnes et de sous-requêtes.
  • Conditions de recherche : Filtrer les lignes ou les instructions de contrôle de flux comme IF.
  • Valeurs spéciales : Valeurs telles que CURRENT_TIMESTAMP utilisées dans les expressions et valeurs par défaut des colonnes.
  • Variables: La plupart des moteurs prennent en charge les variables locales, globales et de connexion dans les procédures stockées.
  • Commentaires: Les commentaires sur une seule ligne (–) et les commentaires de bloc (/* */) documentent le SQL mais ne sont pas exécutés.
  • Valeur NULL : La valeur NULL indique une valeur inconnue, manquante ou non applicable.

Qu'est-ce qu'une base de données en SQL ?

A base de données Une table est un ensemble de tables qui stockent des données structurées. Une table contient des lignes (enregistrements ou tuples) et des colonnes (attributs).

Chaque colonne stocke un type d'information spécifique, par exemple des noms, des dates, des montants ou des nombres. Les relations entre les tables sont assurées par des clés primaires et étrangères, ce qui confère au système le caractère « relationnel ».

Qu'est-ce que NoSQL?

NoSQL est une catégorie de Systèmes de gestion de bases de données dont la principale caractéristique est le non-respect des concepts relationnels. NoSQL signifie « Not only SQL ». Cette catégorie s'est développée avec des géants d'Internet tels que… Google, Facebook et Amazon, qui traitent des volumes de données gigantesques.

Lorsque les bases de données relationnelles traitent des volumes importants de données, les temps de réponse peuvent s'allonger. Vous pouvez augmenter la capacité en mettant à niveau le matériel ou en répartissant la charge sur plusieurs serveurs.

Les bases de données NoSQL sont non relationnel des magasins conçus pour les applications Web. Ils n'utilisent pas toujours SQL ni n'imposent de schémas stricts, et ACID (AtomLes propriétés (opacité, cohérence, isolation, durabilité) ne sont pas toujours garanties, bien que les systèmes modernes tels que MongoDB et Cassandra Nous proposons désormais des modes transactionnels paramétrables.



Pourquoi il est judicieux d'apprendre SQL après NoSQL

Étant donné que les bases de données NoSQL offrent une meilleure évolutivité horizontale que les modèles relationnels, vous pourriez vous poser la question suivante : Pourquoi quelqu'un apprendrait-il encore le SQL ?Les bases de données NoSQL sont spécialisées et idéales pour les grands ensembles de données non structurées, mais la plupart des applications d'entreprise s'appuient encore sur des bases de données relationnelles et leurs outils.

Les bases de données relationnelles conservent les avantages suivants par rapport aux bases de données NoSQL :

  • Modèle mature de stockage et de gestion des données, essentiel pour les utilisateurs en entreprise.
  • Prise en charge des vues, permettant aux utilisateurs de visualiser uniquement les données autorisées.
  • Prise en charge des procédures stockées qui injectent la logique métier dans la base de données.
  • Des modèles de sécurité plus robustes, des contrôles d'accès basés sur les rôles et des fonctionnalités d'audit.
  • SQL est la langue commune des outils de BI, des tableaux de bord et d'IA qui nécessitent des entrées structurées.

La demande de professionnels capables de gérer des bases de données relationnelles reste forte. croissanceL'apprentissage des bases du SQL conserve donc un intérêt indéniable.

SQL et IA : Outils de conversion de texte en SQL

SQL est désormais un langage cible pour les assistants IA. Texte vers SQL Ces outils traduisent les questions en langage clair, telles que « afficher les 10 principaux clients du dernier trimestre par chiffre d'affaires », en requêtes SQL exécutables. Parmi les options populaires, on trouve : Copilote GitHub, Vanna IA, Microsoft Copilote en Azure SQL, et Oracle Sélectionnez AI. Vérifiez toujours l'exactitude, la sécurité et l'indexation du code SQL généré avant de l'exécuter sur des données de production.

Les meilleurs livres pour apprendre le SQL

Voici quelques-uns des meilleurs livres sur SQL :

  • Tutoriel SQL pour débutants :

    Ce Tutoriel SQL pour les débutants Ce document PDF aborde les concepts de base des bases de données, les commandes MS-SQL et des sujets avancés tels que les jointures SQL.

  • SQL en 10 minutes : Des exemples de code en couleur illustrent la structure des instructions SQL, et proposent également des raccourcis et des solutions prêtes à l'emploi. ACHETER MAINTENANT
  • Livre de recettes SQL : Des techniques telles que le parcours d'une chaîne de caractères avec SQL pour analyser des caractères ou des éléments délimités. ACHETER MAINTENANT
  • SQL: The Complete Reference: Ce document traite des fonctions de fenêtrage, du pivotement des lignes en colonnes et du pivotement inverse. ACHETER MAINTENANT
  • Guide de poche SQL : Enseigne les fonctions SQL, la syntaxe des expressions régulières et la conversion de types. ACHETER MAINTENANT

Pour plus de livres sur SQL – Cliquez ici

FAQ

SQL signifie Structured Query Language (langage de requête structuré). Il se prononce soit « SQL » (les trois lettres), soit « See-Quel », un surnom hérité de l'original. IBM Prototype SEQUEL développé dans les années 1970.

SQL est le langage standardisé pour interroger les bases de données relationnelles. MySQL est l'un des nombreux systèmes de gestion de bases de données qui implémentent SQL. Parmi les autres moteurs utilisant également SQL, on peut citer : PostgreSQL, Microsoft SQL Server, Oracle Database et SQLite.

La norme actuelle est l'ISO/IEC 9075:2023, communément appelée SQL:2023. Elle a ajouté la partie 16 SQL/PGQ pour les requêtes de graphes de propriétés et a clarifié la gestion JSON, en s'appuyant sur les fonctionnalités JSON et de modèle de ligne introduites dans SQL:2016.

Oui. Les outils de conversion texte-SQL tels que Copilote GitHub, Vanna AI, et Microsoft Copilote en Azure SQL transforme les instructions en langage naturel en requêtes. Avant d'exécuter une requête SQL, vérifiez toujours son exactitude, sa sécurité et son indexation.

SQL prépare les données d'entraînement : l'ingénierie des caractéristiques, les jointures, les filtres et les agrégations sont tous effectués dans l'entrepôt de données. Des moteurs comme Oracle 23ai, BigQuery ML et PostgreSQL Avec pgvector, exécutez désormais des recherches de similarité vectorielle directement en SQL pour une génération augmentée par la récupération.

La plupart des débutants sont capables d'écrire des requêtes SELECT, INSERT, UPDATE et DELETE de base après deux à trois semaines de pratique intensive. Maîtriser les jointures, les sous-requêtes, les fonctions de fenêtrage et l'optimisation des requêtes nécessite généralement quelques mois de pratique régulière.

Résumez cet article avec :