Adloun

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

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

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.

Définition 11.1Base de données

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.

Exemple 11.2Limites d'un simple fichier

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).

Définition 11.3Relation (table)

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.

Définition 11.4Attribut et domaine

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).

Définition 11.5N-uplet (enregistrement)

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.

Exemple 11.6La relation Eleve

Considérons la relation Eleve décrivant des élèves :

idnomprenomannee_naissance
1DupontMarie2007
2MartinLéo2008
3NguyenChloé2007

Ici :

  • les attributs sont id, nom, prenom, annee_naissance ;
  • le domaine de annee_naissance est 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

La suite du cours · Tous les exercices du chapitre