296
Chapitre 12 • Bases de données : études de cas
13.un ingrédient contient des nutriments
Un type d’associations contient est défini entre INGREDIENT et NUTRIMENT. Un nutriment pouvant intervenir dans plusieurs ingrédients, ce type
d’associations est plusieurs-à-plusieurs.
14.… chacun en une teneur déterminée
Une teneur (c’est-à-dire une quantité contenue) caractérise un nutriment en tant
que composant d’un ingrédient. Un attribut Quantité est défini, mais ne peut être
affecté à NUTRIMENT (il y a autant de teneurs qu’il y a d’ingrédients où un
nutriment apparaît), pas plus qu’à INGREDIENT (il y a autant de teneurs qu’il y a
de nutriments qui composent l’ingrédient). Il doit être affecté au lien qui unit ces
derniers, le type d’associations contient. Ce dernier doit donc avant tout être
transformé en un type d’entités, qu’on nommera TENEUR.
15.un ingrédient a un coût unitaire
On affecte un attribut Coût unitaire à INGREDIENT.
16.un animal requiert des soins
Chaque prestation de soins à un animal est représentée par une entité SOINS. Un
type d’associations objet de attache chaque entité SOINS à l’entité ANIMAL
représentant l’animal qui en bénéficie. Ce type d’associations est un-à-plusieurs.
17.les soins d’un animal ont un coût
Le type d’entités SOINS reçoit un attribut Coût.
18.les soins d’un animal dépendent du jour
Le type d’entités SOINS reçoit un attribut Date soins. Étant donné l’unité de
coût (francs par jour), une entité SOINS représente l’ensemble des prestations
destinées à un animal, un jour déterminé. On traduit ce fait par l’identifiant de
SOINS.
L’évaluation de la complétude du schéma montre qu’ANIMAL n’a pas d’identifiant.
On ajoute un attribut Nom animal dont on fait l’identifiant de ce type d’entités. Le
schéma de la figure 10.1 synthétise les résultats de cette analyse.
12.2.3 Production du schéma de tables
La traduction de ce schéma sous forme de structures de bases de données relationnelle ne pose pas de problèmes particuliers (schéma 10.2). On veillera à rendre les
noms de tables et de colonnes conformes aux règles syntaxiques du langage SQL.
En particulier, les espaces ont été remplacés par le symbole "_". Pour simplifier
l’exercice, on a laissé la définition des index à l’initiative du lecteur.
Précédent

- 296/436

Suivant