Modélisation d'une base de données
Nous utilisons l’exemple de la base de données d’un club de cuisine.
L'analyse de l'existant
L'analyse de l'existant
- Il s'agit d'identifier les différents « objets » du monde réel concernés par le projet de base de données, ainsi que les liens qui les unissent.
- On met facilement en évidence :
- les objets suivants : adhérent, recette, ingrédient ;
- et les liens entre adhérent et recette ; et entre recette et ingrédent.
- Il convient ensuite de caractériser les liens identifiés, c’est-à-dire se demander de quelle manière les objets sont reliés les uns aux autres :
- une recette est proposée par un seul adhérent / un adhérent peut ou non proposer des recettes ;
- une recette fait appel à un ou plusieurs ingrédients / un ingrédient peut n'être impliqué dans aucune recette ou intervenir dans plusieurs recettes.
- Pour achever le recueil de l'existant, on s'attache à décrire les données relatives aux objets comme aux liens :
- un adhérent est caractérisé par son nom, son prénom, son mail etc. ;
- une recette peut être caractérisée par son nom, son niveau de difficulté, sa durée etc. ;
- un ingrédient est caractérisé par son nom.
- À l'issue de ce travail sur l'existant, on peut d'ores et déjà constituer une première version du dictionnaire de données de la future base.
- Le fait de préciser le type, la taille, et, le cas échéant, les valeurs possibles prises par une donnée définit son domaine.
- Il est temps maintenant de modéliser le monde réel.
Le modèle entité-association
Le modèle entité-association
Dans ce cours, nous ferons appel au modèle conceptuel de données (MCD) pour représenter l’ensemble de nos objets et leurs liens.
- L’entité est représentée par un rectangle, doté d'un titre. Elle est constituée d'attributs.
- Dans le cas de notre club de cuisine, « recette » et « adhérent » sont des entités.
- L’occurrence est un représentant d'une entité.
- Dans le cas de notre club de cuisine, « mousse au chocolat » est une occurrence de l'entité « recette
- L’attribut caractérise une propriété d’ne entité (ou d’une association).
- Dans le cas de notre club de cuisine, « duree » est l'un des attributs de l'entité « recette ».
- L’identifiant est un ensemble d’attributs qui permet d’identifier chaque occurrence d’une entité.
- Dans le cas de notre club de cuisine, « idRecette » est l’identifiant de l’entité « recette ».
- Pour des raisons d'efficacité dans les traitements qui seront développés par la suite , il est recommandé de privilégier un identifiant aussi simple que possible, de préférence numérique.
- Les liaisons que les entités peuvent faire entre elles sont appelées « associations » dans l'approche entité-association.
- Dans le cas de notre club de cuisine, l'association impliquant l'entité « recette » et l'entité « ingrédient » dispose des attributs « quantite », « unite » et « type ».
- Dans un MCD, on la représente par un segment reliant les deux entités concernées.
- À chaque extrémité de ce segment, on précise les cardinalités de l'association.
Le modèle relationnel
Le modèle relationnel
Nous adoptons ici le modèle relationnel qui est le plus répandu de nos jours et qui a maintes fois fait ses preuves.
- Le modèle relationnel s'appuie sur la notion de « relation », d'où son nom :
- on représente une relation par une « table » ;
- les lignes de cette table sont nommées « tuples » ;
- et ses colonnes sont nommées « champs ».
- Cette relation peut s'écrire sous la forme $\rightarrow$ Recette(idRecette, nomRecette, niveau, duree, categorie, etapes).
- C'est ce qu'on appelle le schéma relationnel de la relation recette.
- Une relation peut comprendre plusieurs clés possible qu’on nomme « clés candidates ».
- On nommera plus précisément « clé primaire » celle d'entre elles qui est choisie.
- La clé primaire doit contenir le minimum de champs possible.
- Deux règles principales doivent être observées pour passer au modèle relationnel.
- Une entité du MCD devient une relation du modèle relationnel. Ses attributs deviennent les champs de cette relation ainsi créée. L'identifiant de l'entité devient la clé de la relation dont elle est à l'origine.
- Une association du MCD devient une relation. Les champs qui la composent sont les identifiants des entités impliquées et, le cas échant, les attributs qui caractérisent l'association. La clé de cette relation ainsi créée est composée des deux identifiants évoqués à l'instant.
- Un cas particulier : une association qui comporte une cardinalité $1,1$.
- On ne crée pas une relation pour une telle association. Tous les champs de l'association sont simplement intégrés à la relation issue de l'entité associée à la cardinalité $1,1$.