Bases de données et travaux pratiques
Cours · mathématiques appliquées (ECG 2e année), chapitre 13 · prépa ECG, 2e année · le début du chapitre, la suite sur Adloun
L'informatique de deuxième année se partage en deux : un objet nouveau, les bases de données, et la mise en pratique des chapitres de mathématiques — systèmes différentiels, statistiques bivariées, chaînes de Markov, estimation.
Le premier sujet est celui des banques, des assurances et de la gestion : des données trop nombreuses pour tenir dans un tableau, interrogées par un langage fait pour cela, SQL.
Le programme n'exige que SELECT ... FROM, WHERE, INSERT INTO, DELETE FROM, UPDATE, CREATE TABLE et INNER JOIN. Il précise même : « aucune autre notion de jointure n'est dans ce programme ». Les fonctions d'agrégation, ORDER BY et DISTINCT sont explicitement non exigibles.
13.1 Le modèle relationnel
Une table (ou relation) est un tableau dont les colonnes sont les attributs (ou champs) et les lignes les enregistrements. Chaque attribut a un domaine : INTEGER pour un entier, TEXT pour une chaîne.
La clef primaire (PRIMARY KEY) est un attribut qui identifie chaque ligne de façon unique. Une clef étrangère (FOREIGN KEY) est un attribut qui référence la clef primaire d'une autre table.
Python : Créer une table
CREATE TABLE client (
id INTEGER PRIMARY KEY,
nom TEXT,
ville TEXT
);
CREATE TABLE commande (
id INTEGER PRIMARY KEY,
client_id INTEGER,
montant INTEGER,
FOREIGN KEY (client_id) REFERENCES client(id)
);
Le schéma décrit la forme des données, pas leur contenu. Il se déclare une fois, avant toute insertion.
13.2 Interroger et modifier
SELECT…FROM…WHERE… : lire ;INSERT INTO…VALUES… : ajouter ;UPDATE…SET…WHERE… : modifier ;DELETE FROM…WHERE… : supprimer.
Les trois dernières changent la base. Un DELETE sans WHERE vide la table entière.
Exercices du chapitre
- Lire une table corrigé
- Une condition composée corrigé
- Une jointure corrigé
- Une jointure filtrée corrigé
- Ce que la jointure fait disparaître corrigé
- Insérer et modifier corrigé