Kodokon kodokon.com

Le modèle relationnel : tables, lignes, colonnes

Découvrez comment une base de données range les informations en tables, et créez votre première table dans SQLite.

8 min · 3 questions

Ouvrir cette leçon dans Kodokon

Une base de données est un logiciel qui stocke des informations de façon organisée et durable, même quand l'ordinateur s'éteint. Le modèle le plus répandu est le modèle relationnel : les données y sont rangées dans des tables. Une table ressemble à un tableau de tableur : chaque colonne décrit une propriété (un titre, un prix...) et chaque ligne représente un élément complet (un livre précis, par exemple). SQL (Structured Query Language) est le langage qui permet de créer ces tables et d'interroger leur contenu. Chaque ordre que vous envoyez à la base s'appelle une requête.

SQL
CREATE TABLE books (
  id INTEGER PRIMARY KEY,
  title TEXT,
  author TEXT,
  genre TEXT,
  year INTEGER,
  price REAL
);
Notre table d'exemple : une petite bibliothèque

Décortiquons cette requête. CREATE TABLE books crée une table nommée books. Entre parenthèses, chaque ligne déclare une colonne : son nom, puis son type, c'est-à-dire la nature des données acceptées. Dans SQLite, les types principaux sont INTEGER (nombre entier), REAL (nombre à virgule), TEXT (texte) et BLOB (données binaires comme une image). L'absence de valeur se note NULL. Enfin, PRIMARY KEY désigne la clé primaire : une colonne dont la valeur identifie chaque ligne de façon unique, comme un numéro de dossier.

SQL
INSERT INTO books (id, title, author, genre, year, price)
VALUES
(1, 'Dune', 'Herbert', 'sf', 1965, 9.9),
(2, 'Fondation', 'Asimov', 'sf', 1951, 8.5),
(3, '1984', 'Orwell', 'sf', 1949, 7.2),
(4, 'Croc-Blanc', 'London', 'aventure', 1906, 5.5),
(5, 'Les Robots', 'Asimov', 'sf', 1950, 7.9),
(6, 'Deux ans de vacances', 'Verne', 'aventure', 1888, 6.9),
(7, 'Le Petit Prince', 'Saint-Exupery', 'conte', 1943, 6.5);
Copiez-collez ce bloc juste après le CREATE TABLE

La requête INSERT INTO ajoute des lignes dans la table : nous y reviendrons en détail dans la dernière leçon. Remarquez que les textes sont entourés d'apostrophes simples ('Dune'), jamais de guillemets doubles. Vérifions maintenant que tout est en place avec une requête de lecture : SELECT.

SQL
SELECT * FROM books;
L'étoile * signifie « toutes les colonnes »

Vous devez voir 7 lignes et 6 colonnes : votre première base de données fonctionne. Conservez précieusement le script CREATE TABLE + INSERT de cette leçon : toutes les leçons suivantes s'appuient sur cette même table books. Si vous fermez votre navigateur ou votre terminal, il suffira de le rejouer pour repartir du même point.

Quiz de validation

Vérifiez que vous avez bien retenu les points clés de cette leçon.

  1. Dans une table, que représente une ligne ?
    • Une propriété, comme le titre ou le prix
    • Un élément complet, comme un livre précis
    • Le type de données d'une colonne
  2. Quel type SQLite convient pour stocker un prix comme 6.5 ?
    • INTEGER
    • TEXT
    • REAL
    • BLOB
  3. À quoi sert la clause PRIMARY KEY sur la colonne id ?
    • À trier automatiquement les lignes par ordre alphabétique
    • À identifier chaque ligne de façon unique
    • À interdire les nombres négatifs