Polar Code 🎭

Command Palette

Search for a command to run...

01
Pièce N°01

SCENE 1 : L'INTRO - La ville dort, les données ronronnent

Pluie fine sur la ville. Écran bleuâtre. Le clavier attend. Trois lettres qui sentent l'encre, le café froid et les nuits blanches.

Qu'est-ce que SQL ?

SQL. Structured Query Language.
Trois lettres. Un flingue.
Tu pointes, tu tires, la vérité sort.
Ou pas.

Imaginez une ville endormie. Des millions de fenêtres, de portes, de secrets.
Une bibliothèque maudite où les livres parlent entre eux.
Un système qui gérait tout ça.
SQL, c'est la langue pour parler au gardien.
La seule qu'il comprend.


Définition et rôle

Déclaratif. Tu dis ce que tu veux.
Pas comment le faire.
Le SGBD s'occupe du sale boulot.
Comme un indic qui connaît tous les raccourcis.

Les quatre familles

  1. DDL (Data Definition Language)
    CREATE, ALTER, DROP.
    Construire, modifier, démolir.
    Comme ces immeubles qu'ils rasent la nuit.

  2. DML (Data Manipulation Language)
    INSERT, UPDATE, DELETE, SELECT.
    SELECT. La reine.
    Celle qui fait parler les morts.

  3. DCL (Data Control Language)
    GRANT, REVOKE.
    Qui a le droit de voir quoi ?
    Les permissions, c'est comme les serrures : ça n'arrête que les honnêtes gens.

  4. TCL (Transaction Control Language)
    COMMIT, ROLLBACK.
    Parfois, tu veux tout annuler. Revenir en arrière.
    Mais la base, elle se souvient.
    Elle se souvient de tout.


Historique et standards

Années 70 chez IBM.
Codd théorise. SEQUEL naît. Devient SQL.
Comme un bonhomme qui change d'identité.

1986 : ANSI standardise.
SQL-86. Le premier procès-verbal propre.

SQL-92 : Le cœur du langage.
Celui qu'on utilise encore quand la nuit tombe.

SQL:1999 et après :
Expressions régulières, triggers, JSON.
Des outils neufs pour de vieilles guerres.


Systèmes de gestion de base de données (SGBD)

Le logiciel. L'exécuteur.
Celui qui gère le stockage, l'intégrité, les accès concurrents.
Les coups bas.

La distribution

MySQL
Le vieux de la vieille. Mains calleuses, parle cash.
Open-source, mais Oracle dans l'ombre.
MariaDB ? Son petit frère ambitieux.

PostgreSQL
L'intello. "Post-grès-Q-L".
ACID jusqu'à l'os. Respecte les transactions.
Moi, je le respecte.

SQL Server
Le costaud Microsoft. Costume-cravate, intégré jusqu'au cou.
Il sourit, mais ses procédures stockées ont des dents.

Oracle Database
Le parrain.
Quand il entre, le prix triple.
Son wallet pèse plus lourd que sa conscience.

SQLite
Le discret. Un fichier, rien d'autre.
Léger. Trop léger. Comme ces types qui disparaissent.


SGBD relationnels vs NoSQL

Bar enfumé. Deux mondes se regardent.

AspectSQL (Relationnel)NoSQL
ModèleTables. Schéma rigide. Relations claires.Flexible. Documents, graphes, clé-valeur.
LangageSQL. Un standard. Une langue.Un dialecte par bar.
ScalabilitéVerticale. Scale-up. Améliore la machine.Horizontale. Scale-out. Multiplie les machines.
CohérenceACID. Tout ou rien.BASE. À peu près. Éventuellement.
UsageTransactions. Cœur de métier. Intégrité.Logs. Données de capteurs. Vitesse.

NoSQL, c'est pour quand :

  • Les données arrivent plus vite que ton ombre
  • Le schéma change comme une girouette
  • Tu préfères la disponibilité à la vérité exacte

Mais moi, je reste du côté de SQL.
Parce qu'en bas de l'immeuble, y'a une table cadavres.
Et dans la colonne cause, je veux pas lire "cohérence éventuelle".


Installation et outils

Installation d'un SGBD

PostgreSQL.
Téléchargement. Installation.
Port 5432. Comme l'année où tout a commencé pour moi.
Utilisateur : postgres.
Mot de passe : celui que t'oublieras pas.
Ou que t'essayeras d'oublier.

MySQL.
Package. Developer Default.
Compte root.
Workbench qui vient avec.
Comme un cadeau empoisonné.

Clients

Graphiques (GUI) :

  • pgAdmin / MySQL Workbench : Les officiels. Propres. Trop propres.
  • DBeaver : Le couteau suisse. Parle à tout le monde. Trop bavard.
  • phpMyAdmin : Client web. Comme un interrogatoire derrière une vitre sans tain.

CLI (Terminal) :

psql -U postgres -d la_base
mysql -u root -p

Le terminal.
Noir sur blanc.
Pas de jolis boutons.
Juste toi, ta requête, et la vérité qui défile.
C'est là que tu vois si t'as du cran.


Recommandation du vieux

Commence par les outils graphiques. Apprivoise la bête.
Puis plonge dans le CLI.
C'est comme passer du .38 au .45.
Ça recule plus, mais ça fait plus mal.


La pluie n'a pas cessé. Une nouvelle table vient d'être créée.
CREATE TABLE affaires_non_classees (...)
Une de plus.