Enoncé
Transcription
Enoncé
Cours de “Bases de données” Année académique 2014-2015 Projet: Seconde Partie Le schéma relationnel à utiliser pour la base de données est le suivant: • plateforme(id plateforme, nom, version, bits) • Console(id plateforme) • Système(id plateforme) • Emulateur (id emulateur, nom, version) • Ami (id ami, nom, prenom, n tel) • Jeu Vidéo(id jeu, style, note) • Exemplaire(id jeu, id exemplaire, id plateforme) • Exemplaire Physique(id jeu, id exemplaire, etat, emballage, livret) • Exemplaire Virtuel (id jeu, id exemplaire, taille) • plateforme du jeu(id jeu, id plateforme) • Peut Emuler (id jeu, id exemplaire, id emulateur) • Emulateur Fonctionne Sur (id plateforme, id emulateur) • Emule(id emulateur, id plateforme) • Prêt(id ami,id jeu, id exemplaire, date emprunt,date retour) Les contraintes suivantes doivent être respectées pour assurer la cohérence de la base de données: • Une plateforme est soit une console, soit un système. • Un exemplaire est soit physique, soit virtuel. • Un exemplaire ne peut fonctionner que sur une plateforme pour laquelle le jeu vidéo correspondant est disponible. • Un exemplaire virtuel ne peut fonctionner que sur un émulateur capable d’émuler la plateforme (console) de cet exemplaire. Questions Il vous est demandé de réaliser les tâches suivantes. 1. Ecrire un script MySQL générant la base de données (création et initialisation des tables) sur un serveur MySQL à partir du fichier de données qui vous est fourni. 2. Ecrire les scripts correspondant à une interface web permettant d’accéder à la base de données créée. Par simplicité, nous vous conseillons de privilégier l’utilisation de PHP et son API MySQL. Sur demande, après accord confirmé, et après avoir vérifié la compatibilité du langage sur le serveur nous permettant d’accéder à votre site web, vous êtes autorisés à utiliser d’autres langages et API. L’interface utilisateur devra permettre d’effectuer des opérations en veillant à toujours respecter la cohérence de la base de données. L’interface comprendra un contrôle d’accès basé sur un utilisateur et un mot de passe. Les utilisateurs s’étant correctement connectés auront accès à un menu principal leur permettant d’effectuer les opérations suivantes. (a) Pour chaque table, permettre la sélection et l’affichage des tuples en contraignant la valeur d’un ou plusieurs de ses champs (tous les tuples si * est utilisé). 1 (b) Ajouter un nouvel exemplaire à la bibliothèque. Cette opération nécessite de choisir le jeu vidéo, la plateforme, le type (virtuel ou physique), et, le cas échéant, les émulateurs permettant de faire tourner l’exemplaire virtuel. Jeu, plateforme, émulateurs et les relations correspondantes sont supposés déjà présents dans la base de données. (c) Pour chaque type de jeu, retrouver le nombre d’exemplaires fonctionnels dans votre base de données. Un exemplaire physique est fonctionnel si son état est strictement plus grand que 1. Un exemplaire virtuel est fonctionnel s’il est capable de fonctionner sur au moins un émulateur lui même capable de fonctionner sur au moins un système. (d) Trier les émulateurs par performance: la performance d’un émulateur est le nombre d’exemplaires virtuels que l’émulateur peut faire fonctionner divisé par le nombre total d’exemplaires virtuels censés pouvoir fonctionner sur une console que l’émulateur est capable d’émuler. (e) Créer une liste de recommandations pour un ami à partir de sa liste de prêts: cette liste sera constituée des 5 jeux les mieux notés (au plus) qu’il n’a pas encore empruntés, dont on possède au moins un exemplaire utilisable sur une plateforme sur laquelle il a déjà joué avec l’un de vos exemplaires, et d’un type identique à au moins un jeu qu’il vous a déjà emprunté. Le travail sera réalisé par groupes de 3 à former avant le 11 avril 2016 (envoyer un mail avec la composition du groupe à l’assistant [email protected]. Les travaux sont à rendre avant le 2 mai 2016 à 23:59 sous forme d’une archive zip ou tar.gz en utilisant la Plateforme de soumission de Montefiore1 et après avoir créé un compte si nécessaire. Si vous rencontrez un problème avec la pateforme, contactez (remy.vandaele@ ulg.ac.be).Il ne sera toutefois pas tenu compte des problèmes qui apparaissent de façon mystérieuse et inattendue juste avant l’heure limite de soumission. L’archive à soumettre contiendra les scripts de votre interface web, le script d’initialisation de la base de données ainsi qu’un rapport décrivant votre travail et contenant les requêtes MySQL utilisées dans vos scripts. De plus, en vue de faciliter les tests, votre rapport contiendra un lien vers une version opérationnelle de votre application contenant uniquement les informations du fichier de données. Tous les étudiants sont invités à utiliser le serveur étudiant du Montefiore ms800. Un identifiant et un mot de passe pour accéder au serveur SQL de ms800 vous sera fourni lors de l’inscription de votre groupe. Si vous avez la moindre question, n’hésitez pas à envoyer un mail. Bon travail! 1 http://submit.run.montefiore.ulg.ac.be/ 2