UKOnline

Table

Dans la section précédente, on a pu voir comment représenter des données tabulaires en suivant différents formats : CSV, XML et JSON. La table est le composant élémentaire des bases de données. D'une manière générale, une base de données est donc une collection d'une ou plusieurs tables.

Chaque table est une collection de lignes, appelées enregistrements. Un enregistrement quand à lui est une suite de valeurs, chacune étant d'un type bien déterminé. La figure 5 montre un nouvel exemple d'une table représentant une liste d'étudiants inscrits dans une école.

PrénomNomMatriculeAnnée
JuliethRomanoff283922BAC 1
Sebastian PedroMartinez928301BAC 2
FioraDorée273829MASTER 1
LudwigMailleux548103BAC 3
BriceDarks739182BAC 2
Exemple d'une table listant des étudiants inscrits dans une école.

Tous les enregistrements d'une table suivent un même format (ou structure) qui est décrit par la première ligne sur l'exemple. Dans l'exemple, chaque enregistrement est donc constitué d'un prénom, d'un nom, d'un matricule et d'une année d'étude. Les deux premières valeurs sont des chaines de caractères, la troisième est un nombre entier et la dernière est de nouveau une chaine de caractères. L'ensemble des valeurs d'un même type qui correspond à une même propriété s'appelle une colonne. Dans l'exemple, on a par exemple la colonne Nom ou encore la colonne Matricule.

Structure d'une table

Une table est donc caractérisée par un nom et une liste de colonnes. De plus, chacune des colonnes est elle aussi caractérisée par un nom et par le type de ses valeurs (nombre entier, chaine de caractères, date...). On définit ainsi le domaine des valeurs de la colonne. Cette structure de la table va conditionner les enregistrements que la table va pouvoir contenir. Chaque enregistrement devra contenir une valeur pour chacune des colonnes, ces valeurs devant à chaque fois faire partie du domaine de la colonne concernée.

La structure de la table d'exemple de la figure 5 est représentée sur la figure 6. On y voit le nom de la table et la liste des colonnes, avec les types correspondants. On peut également y voir une nouvelle information, à savoir leurs longueurs. Cette information permet de limiter le domaine des valeurs, en limitant par exemple une chaine de caractères à un certain nombre de caractères ou un nombre entier à un certain nombre maximal de chiffres.

NomTypeLongueur
PrénomChaine de caractères30
NomChaine de caractères30
MatriculeNombre entier positif6
AnnéeChaine de caractères8
Structure de la table exemple de la figure 5.

Remarquez que la structure d'une table (la description des colonnes tout du moins), peut elle-même être représentée par une table. On reviendra plus loin dans le cours sur cette observation.

Modification d'une table

Il y a plusieurs modifications que l'on peut faire sur une table. Les plus évidentes sont l'ajout et la suppression de lignes. Mais on peut également modifier toutes les valeurs d'une colonne donnée. On peut aussi ne modifier les valeurs d'une colonne que pour un sous-ensemble de lignes qui possèdent une propriété en commun. Dans l'exemple de table de la figure 5, on pourrait par exemple modifier le matricule de tous les étudiants qui sont en BAC 2. Cela reviendrait à modifier deux valeurs dans la colonne Matricule.

Un autre type de modification que l'on peut faire, et qui impliquera plus de changements, consiste à modifier la structure. On peut par exemple ajouter ou supprimer une colonne. Ces modifications sont plus conséquentes car il faut déterminer comment mettre à jour les enregistrements. Dans le cas d'un ajout, il faut choisir la valeur par défaut à donner aux valeurs de la nouvelle colonne. Dans le cas d'une suppression de colonne, il faut s'assurer que des contraintes qui étaient satisfaites le soient toujours. Par exemple, si tous les enregistrements étaient distincts avant suppresion de la colonne, ce n'est plus forcément le cas après suppression.