SQL

« Back to Glossary Index

On termine cette série en beauté avec la base de toutes les bases : le SQL (Structured Query Language).

Contrairement à PostgreSQL (qui est un logiciel) ou MongoDB (qui est une technologie), le SQL est un langage de programmation standardisé. C’est l’idiome universel que l’on utilise pour parler aux bases de données relationnelles.

Architecture et Fonctionnement du SQL

Le SQL repose sur l’algèbre relationnelle. Imagine une bibliothèque géante où chaque livre est une Table, et chaque page une Ligne.

Le principe de la Relation

Dans le monde SQL, les données ne sont pas jetées en vrac. Elles sont organisées pour éviter la répétition (la “redondance”).

  • Une table Clients contient les noms.
  • Une table Commandes contient les achats.
  • Le SQL fait le lien (la Jointure) entre les deux grâce à un identifiant unique (ID).

[Image showing two SQL tables (Customers and Orders) linked by a ‘Customer_ID’ with a JOIN arrow]

Les 4 familles de commandes (CRUD)

Le SQL se divise en plusieurs sous-langages pour gérer les données :

  1. DQL (Query) : Pour lire les données (SELECT).
  2. DML (Manipulation) : Pour ajouter, modifier ou supprimer des données (INSERT, UPDATE, DELETE).
  3. DDL (Definition) : Pour créer la structure, les tables (CREATE, DROP).
  4. DCL (Control) : Pour gérer les permissions et la sécurité (GRANT, REVOKE).

Les concepts fondamentaux

1. La Clé Primaire (Primary Key)

C’est la carte d’identité d’une ligne. Elle doit être unique. Sans elle, impossible de distinguer deux clients qui s’appellent “Jean Dupont”.

2. La Jointure (JOIN)

C’est la super-force du SQL. Elle permet de combiner des données provenant de plusieurs tables en une seule réponse.

Exemple : “Affiche-moi le nom du client (Table A) qui a acheté le produit X (Table B) le 12 mars”.

3. Les Transactions

Le SQL garantit que si tu fais un virement bancaire, l’argent est bien retiré d’un côté ET ajouté de l’autre. Si un bug survient au milieu, le SQL annule tout (Rollback) pour éviter que l’argent ne disparaisse dans la nature.

Lexique technique du SQL

TermeDéfinition
SGBDRSystème de Gestion de Base de Données Relationnelle (ex: MySQL, Postgres, SQL Server).
TableUn ensemble de données organisé en colonnes (champs) et lignes (enregistrements).
Requête (Query)La phrase en SQL envoyée à la base pour obtenir un résultat.
NullUne valeur spéciale qui signifie “Donnée inconnue” ou “Vide” (différent de zéro).
Alias (AS)Donner un surnom temporaire à une table ou une colonne pour rendre la requête plus lisible.

Le SQL au cœur de la Cybersécurité : L’Injection SQL

C’est l’un des points les plus critiques pour un expert en sécurité.

L’Injection SQL (SQLi) est une attaque où un pirate tape du code SQL dans un formulaire web (comme un champ de recherche ou de login) au lieu d’un texte normal. Si le site est mal programmé, le serveur exécute ce code.

  • Attaque classique : Taper ' OR 1=1 -- dans le champ mot de passe pour se connecter sans le connaître.
  • Défense : Utiliser des Requêtes Préparées, une méthode qui dit à la base de données : “Ceci est du texte, ne l’interprète jamais comme une commande”.

SQL vs NoSQL (MongoDB)

CaractéristiqueSQL (Postgres, MySQL)NoSQL (MongoDB)
StructureRigide (Tableaux)Flexible (Documents JSON)
RelationsExcellentes (Jointures)Faibles (Données imbriquées)
ÉchelleVerticale (Plus gros serveur)Horizontale (Plus de serveurs)
UsageDonnées financières, ERPBig Data, Temps réel, Réseaux sociaux

Le saviez-vous ? Le SQL a été inventé chez IBM dans les années 70. On l’appelait au départ SEQUEL, mais le nom a été changé pour des raisons de marque déposée. C’est pour cela que beaucoup de techniciens disent encore “Séquel” au lieu de “S-Q-L”.

« Revenir à l'index du glossaire

Entreprise de services numérique spécialisée dans la cybersécurité / le web et la formation.

Nous contacter :
contact@glorydev.fr

Nous envoyer un email :

Perpignan

Lieu :

Suivez-nous :