Bases de données : le modèle relationnel
Cours · NSI (terminale), chapitre 11 · terminale, spécialité numérique et sciences informatiques · le début du chapitre, la suite sur Adloun
L'informatique moderne repose massivement sur le stockage, l'organisation et l'exploitation de grandes quantités de données : annuaires, comptes bancaires, catalogues de produits, réseaux sociaux, dossiers médicaux, etc. Manipuler ces données « à la main » dans de simples fichiers texte devient vite ingérable : les informations se dupliquent, deviennent incohérentes et difficiles à interroger. Pour répondre à ces difficultés, on utilise des bases de données structurées selon un modèle rigoureux : le modèle relationnel, proposé par Edgar F. Codd en 1970.
Dans ce chapitre, nous découvrons les concepts fondamentaux de ce modèle : relations (tables), attributs, domaines, n-uplets, ainsi que les notions de clé primaire et de clé étrangère qui permettent de relier les données entre elles. Nous étudions ensuite le schéma relationnel, les contraintes d'intégrité qui garantissent la qualité des données, et le rôle du système de gestion de bases de données (SGBD). Ce chapitre est la base indispensable avant d'apprendre à interroger une base avec le langage SQL.
11.1 Données et bases de données
11.1.1 De la donnée brute à l'information organisée
Une donnée est une valeur élémentaire : un nombre, une chaîne de caractères, une date. Isolée, une donnée n'a guère de sens : le nombre 1789 peut désigner une année, un identifiant de client ou un prix. C'est l'organisation et le contexte qui transforment des données en information exploitable.
Une base de données est un ensemble structuré de données, mémorisées de façon persistante, organisées pour être consultées et modifiées par plusieurs utilisateurs ou programmes, tout en évitant la duplication inutile des informations.
Imaginons une association qui gère ses adhérents et leurs inscriptions à des activités dans un seul fichier texte :
Dupont;Marie;Tennis;Mardi 18h;0612345678
Dupont;Marie;Natation;Jeudi 19h;0612345678
Martin;Léo;Tennis;Mardi 18h;0698765432
Le numéro de téléphone de Marie Dupont est répété sur deux lignes. S'il change, il faut penser à modifier toutes les lignes : c'est une source d'erreur. De plus, répondre à une question comme « combien d'adhérents font du tennis ? » nécessite un traitement manuel. Une base de données relationnelle résout élégamment ces deux problèmes.
11.2 Le modèle relationnel
11.2.1 Relations, attributs et domaines
Le modèle relationnel organise les données en relations, que l'on représente concrètement sous forme de tables (tableaux à deux dimensions).
Une relation, représentée par une table, est un ensemble de données portant sur un même type d'objet (par exemple les élèves, les livres, les commandes). Chaque ligne décrit un objet et chaque colonne une propriété de ces objets.
Un attribut est le nom d'une colonne de la relation : il désigne une propriété des objets décrits. Le domaine d'un attribut est l'ensemble des valeurs qu'il peut prendre (par exemple les entiers, les chaînes de caractères de longueur bornée, les dates, un booléen).
Un n-uplet (ou enregistrement, ou ligne) est un élément de la relation : il associe à chaque attribut une valeur appartenant au domaine correspondant. Une relation est un ensemble de n-uplets : il n'y a donc pas deux lignes identiques, et l'ordre des lignes n'a pas de signification.
EleveConsidérons la relation Eleve décrivant des élèves :
| id | nom | prenom | annee_naissance |
|---|---|---|---|
| 1 | Dupont | Marie | 2007 |
| 2 | Martin | Léo | 2008 |
| 3 | Nguyen | Chloé | 2007 |
Ici :
- les attributs sont
id,nom,prenom,annee_naissance; - le domaine de
annee_naissanceest l'ensemble des entiers (par exemple compris entre 1900 et 2100) ; - la ligne
(2, Martin, Léo, 2008)est un n-uplet.
Exercices du chapitre
- Choisir une clé primaire corrigé
- Détecter les violations d'intégrité corrigé
- Repérer une redondance corrigé
- Problème — Association « plusieurs à plusieurs » corrigé
- Vocabulaire du modèle relationnel corrigé
- Identifier les clés étrangères corrigé