Cuisine italienne
[45 min]
Un groupe de projet NF17 a réalisé un MCD pour constituer une base de données des consommations des clients d'un restaurant italien.
Informations extraites du document de synthèse fourni par les étudiants : « Une table est caractérisée par un numéro et possède toujours une capacité maximale théorique et un type. Un client, en réalité celui qui paye l'addition, possède un nom, un prénom et une date de naissance et peut avoir en plus une adresse courriel ou un numéro de téléphone (tous les deux facultatifs). Un ticket concerne un client, et chaque ticket possède un numéro unique et toujours renseigné, un nombre de couvert et le montant de l'addition réglé. Nous n'avons pas utilisé la date du ticket comme clé primaire car il est possible d'avoir la génération de deux tickets exactement au même moment. Un met est une entrée, un plat ou un dessert ; et il possède un prix. »
« NB : Un attribut supplément dans la classe table permet de faire payer un potentiel supplément en fonction du type de table (petite terrasse, grande terrasse, etc.). »
Question
Proposez un modèle logique de données en relationnel à partir de l'UML, en ajoutant éventuellement des clés artificielles lorsque c'est utile, et en explicitant la solution adoptée pour transformer l'héritage.
Question
Écrivez en algèbre relationnelle la ou les vues induites par la transformation de la relation d'héritage.
Question
Énoncez pour chaque relation du schéma la liste des DF sous la forme d'une fermeture transitive.
Question
Ce MLD est-il en 3FN ? Si oui, justifiez précisément ; sinon proposez une solution pour respecter la troisième forme normale.
Question
Écrivez les instructions SQL LDD permettant de créer la base de données PostgreSQL correspondant au modèle en 3NF.