Adloun

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

Le modèle relationnel : deux tables reliées par une clé étrangère, que l'on combine par une jointure.

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.

AttentionLa liste des commandes exigibles est courte, et fermée

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

Définition 13.1Vocabulaire

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

ImportantLes quatre opérations de base
  • 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

La suite du cours · Tous les exercices du chapitre