Donnée (en relationnel) : table, objet, propriété, domaine, atomicité

Informations[1]

Objectifs

  • Connaître le concept de relation (ou table) ;

  • Savoir représenter des données simples en relationnel ;

  • Connaître le concept de donnée atomique.

Mise en situation

Prenez une application de vente de livres en ligne : quelles sont les données qu'il faut gérer ? En vrac, on peut penser aux livres, aux auteurs, aux clients, aux éditeurs, etc.

Si vous deviez réaliser une base de données simplifiée pour stocker ces différentes entités, il est probable que vous dessiniez des tableaux : un tableau pour les auteurs, un tableau pour les clients, etc.

Et ça tombe bien, car ce sont exactement ces tableaux que l'on appelle relations, et qui sont à la base du modèle relationnel.

RappelBase de données relationnelle

Une base de données relationnelle permet d'organiser les données en tables (appelées relations).

Chaque case de la table contient une information atomique.

DéfinitionLigne (objet)

Chaque ligne de la table correspond à un objet que l'on veut gérer dans la base de données : une voiture, une personne, une espèce, etc.

On parle aussi d'enregistrement.

Fondamental

Toutes les lignes d'une même table correspondent à des objets du même type, donc dans une table, on met soit des voitures, soit des personnes, mais on ne mélange pas les deux.

DéfinitionColonne (propriété)

Chaque colonne de la table correspond à une propriété des objets qui se trouvent dans la table ; tous les objets de la table partagent donc les mêmes propriétés.

On parle aussi d'attribut.

DéfinitionDomaine

Chaque colonne de la table est associée à un domaine de valeur fixé a priori, par exemple : entier, texte, booléen, etc.

On parle aussi de type de données.

DéfinitionCellule (donnée en relationnel)

Une donnée en relationnel, c'est le contenu d'une cellule d'une table, qui correspond à la propriété d'un objet.

Une table ou relation ( en relationnel)

propriété 1

domaine : d1

propriété 2

domaine : d2

...

objet1, donnée 1

objet1, donnée 2

...

objet2, donnée 1

objet2, donnée 2

...

...

...

...

Exemple

Exemple de relation instanciée

espèce

domaine : texte

eucaryote

domaine : booléen

...

bactéries

false

...

archées

false

...

...

...

...

AttentionAtomicité (contre-exemple)

Pour que la base de données fonctionne correctement on veille à ne mettre qu'une seule donnée par cellule, c'est le principe d'atomicité en relationnel.

Un mauvais exemple de relation : les données ne sont pas atomiques (il y a plusieurs données par case de la table)

espèce, domaine : texte

bactéries : procaryotes unicellulaires

archées : procaryotes unicellulaires

protistes : eucaryotes unicellulaires

champignons : eucaryotes multicellulaires qui décomposent

végétaux : eucaryotes multicellulaires qui photosynthétisent

animaux : eucaryotes multicellulaires qui ingèrent