Le vocabulaire du modèle relationnel
Exercice supplémentaire · niveau 1 (application) · mathématiques (ECT 2e année), chapitre 12 — Informatique et travaux pratiques · Bases de données
Énoncé
Une base contient les tables client (champs id, nom, ville) et commande (champs num, id_client, montant). Nommer, en justifiant, la clé primaire de chaque table et la clé étrangère, puis dire ce qu'est un champ, une ligne et le domaine d'un champ.
Corrigé
Ce qu'est une table. Une table range l'information en lignes et colonnes. Chaque ligne est un enregistrement — un client, une commande — et chaque colonne est un champ, c'est-à-dire une propriété relevée sur tous les enregistrements.
Le domaine d'un champ. C'est l'ensemble des valeurs qu'il peut prendre, et il se déclare à la création : INTEGER pour les entiers, TEXT pour les chaînes de caractères. Ici id, num, id_client et montant sont de type INTEGER ; nom et ville sont de type TEXT.
Les clés primaires. Une clé primaire identifie une ligne sans ambiguïté. Dans client, c'est id : deux clients peuvent porter le même nom et habiter la même ville, mais pas avoir le même identifiant. Dans commande, c'est num, pour la même raison.
La clé étrangère. C'est commande.id_client : ce champ reprend la clé primaire de la table client. Il ne décrit pas la commande elle-même, il la relie à un client.
Ce que la clé étrangère permet. C'est elle, et elle seule, qui rend la jointure possible : la clause ON commande.id_client = client.id rapproche chaque commande de la ligne du client correspondant.
Le contrôle à faire. Une clé étrangère doit toujours pointer vers une valeur existante de la table liée. Une commande dont l'id_client ne correspond à aucun client disparaîtrait de toute jointure — et l'erreur passerait inaperçue.
Les autres exercices de ce chapitre Le cours du chapitre
Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.