3/1/2014

Gestion d'une revue

On souhaite construire une base de données gérant des revues et les articles de ces revues.

Une revue est caractérisée par un nom et une périodicité. Chaque revue parait sous la forme de numéros, chaque numéro étant identifié par un nombre relatif à  la revue et à  l'année en cours (ex. le numéro 12 de Linux Magazine en 2012 est différent du numéro 12 de Linux Magazine en 2013). Un numéro est également caractérisé par un nombre de pages. Chaque numéro contient des articles écrits par un ou plusieurs auteurs.

Un auteur est caractérisé par un nom, un prénom, ainsi qu'un email. Chaque article possède un titre et un contenu. Un même article peut apparaître dans plusieurs numéros d'une même revue ou de différentes revues. Lorsqu'un article apparaît dans un numéro d'une revue, il a une page de début et une page de fin. Un article peut faire référence à d'autres articles, en précisant le numéro et la revue dans lesquels l'article référencé a été publié.

La base de données doit permettre de répondre à des requêtes telles que "Combien de numéros de Linux Magazine sont parus en 2013 ?", "Quels sont les titres des articles parus dans au moins deux revues différentes ?", "Quels sont les auteurs ayant publié dans le numéro 3 de la revue L'Histoire en 2013 ?" etc.

Proposez un modèle conceptuel et un schéma pour cette application.

Proposition de correction