Travail - Université de Sherbrooke

Faculté des sciences Département d’informatique 2500, boul. de l’Université ) +1 (819) 821-­‐‑7030 Sherbrooke (Québec) J1K 2R1 2 +1 (819) 821-­‐‑8200 CANADA http://www.usherbrooke.ca/informatique/ Travail
IFT 187 (hiver 2015) Tavail de session 2 – Développement d’une petite application de base de données
Enseignant
Statut
Luc Lavoie ([email protected])
Version 1.0.0 (en vigueur) – 2015-03-31
Contexte
Le présent travail est le troisième d’une série de trois dont l’aboutissement est la création d’une petite application centrée sur les données. L’énoncé du problème à résoudre est donné en annexe (il s’agit d’un prolongement du problème soumis lors du TP4). Un autre problème de même envergure peut être utilisé. Il faut alors en fournir la mise en contexte et le texte descriptif. Objectifs
Le travail a pour but de mettre en pratique la suite complète des activités d’élaboration d’une base de données, à savoir : ◊ identifier et lier les entités nécessaires à la solution d’un problème simple; ◊ élaborer un modèle conceptuel (ou abstrait) de données (MCD) cohérent et le motiver; ◊ déduire un modèle relationnel du MCD et y intégrer toutes les contraintes applicables provenant du domaine de problème; ◊ normaliser un modèle relationnel; ◊ traduire un modèle relationnel en schéma relationnel à l’aide du langage SQL; ◊ mettre en œuvre des requêtes d’information variées et complexes à l’aide du langage SQL. Résultat attendu Le résultat attendu consiste dans les éléments suivants : ◊ un document contenant •
l’énoncé original du problème, ◊
◊
◊
◊
•
l’analyse du problème, •
la motivation des choix de modélisation, •
l’énoncé révisé du problème à la lumière de l’analyse et des choix de modélisation, •
le diagramme du MCD proposé, •
la motivation des choix de normalisation, •
le modèle relationnel normalisé; un script SQL de création du schéma de base de données (TS_cre.sql); un script SQL d’insertion de données de tests positives (TS_test-­‐pos.sql); un script SQL pour chacune des n requêtes proposées (TS_req_X01.sql à TS_req_Xn.sql); un script psql d’exécution des n requêtes précédentes (TS_exe-­‐psql.txt). Critères d’évaluation La correction est basée, entre autres, sur le fait que les livrables soient clairs (c’est-­‐à-­‐dire lisibles et compréhensibles), exacts (c’est-­‐à-­‐dire sans erreurs et sans ambigüités), concis (c’est-­‐à-­‐dire sans éléments superflus), complets (c’est-­‐à-­‐dire comprenant tous les éléments requis). Le MCD doit comprendre entre 20 et 30 éléments (entité ou association). Les requêtes présentées en annexe doivent être traduites et exécutées correctement. Venus:Depots:Enseignement:Activites:IFT187:v2015-­‐1:_laboratoires-­‐et-­‐tp:IFT187_2015-­‐1_TS.docx 1 / 3 Faculté des Sciences Département d’informatique Modalités de remise Le travail est à remettre au plus tard le vendredi 24 avril 2015 (23:59) sous la forme d’une archive ZIP comprenant les fichiers suivants1 : ◊ le document source (par exemple, TS_ANA.docx); ◊ le document au format PDF (TS_ANA.pdf); ◊ tous les scripts décrits à la section Résultat attendu. Toutes les remises doivent être faites par courriel en mettant en copie tous les membres de l’équipe. Seules adresses de courriel du domaine usherbrooke.ca peuvent être utilisées. Les destinataires sont [email protected] et [email protected] Le titre du courriel doit être composé du sigle du cours, du code de l’évaluation et de la lettre associée à l’équipe, par exemple : IFT 187 – TS_X Le corps du courriel doit décrire la remise, énumérer la liste de tous les membres de l’équipe avec leur numéro de matricule et contenir la pièce jointe. 1
Remplacer la lettre X par la lettre attribuée à votre équipe lors du dernier travail pratique. Si la composition de votre équipe a changé depuis, demander une nouvelle lettre à l’enseignant par courriel en y indiquant le nom des membres de l’équipe. Travail de session IFT 187 (hiver 2015) publié le 2015-­‐03-­‐31. 2 / 3 Faculté des Sciences Département d’informatique Annexe – Énoncé du problème
Votre équipe a reçu le mandat de développer une boutique en ligne permettant de télécharger des films. Dans un premier temps, l’équipe a décidé de se concentrer sur la fonctionnalité de recherche d’un film par titre, réalisateur, acteur, genre, langue, etc. Vous décidez donc de modéliser l’univers des films. Vous avez développé une maquette sur la base de la description suivante : Un film est décrit par un titre, une année de parution, un genre (comédie, drame, western, etc.), un réalisateur (Charlie Chaplin, Jacques Tati, Federico Fellini, Tim Burton, etc.), des acteurs (Charlie Chaplin, Jacques Tati, Johnny Depp, Penelope Cruz, etc.), un producteur (Charlie Chaplin, Jerry Bruckheimer, etc.), un studio (Disney, Universal, etc.), la durée, les langues dans lesquelles il est disponible (dont une est la langue de la version originale). Plusieurs informations doivent être consignées pour les personnes, dont la date de naissance (et de décès, le cas échéant) et la nationalité. Il existe souvent plusieurs versions pour une même langue : une version arabe pour le Maghreb et une autre pour la péninsule arabe, une version française pour l’Europe et une autre pour le Québec, etc. Lorsqu’un film est doublé, la voix de l’acteur peut être celle d’un autre acteur. Par exemple, Bruno Choël est la voix française de Johnny Depp dans « Pirates de Caraïbes », mais c’est Jérôme Berthoud dans « Edward aux mains d’argent ». Pour les versions québécoises, il est doublé par Gilbert Lachance. Votre client en est content, mais vous demande d’enrichir votre modèle afin d’inclure la description la plus complète possible des artisans du film (producteur, réalisateur, scénariste, acteur, monteur, cameraman, preneur de son, etc.), de même que tous les éléments utiles pour établir facilement la filmographie d’un artisan, la fiche signalétique d’un film, etc. Il vous donne en exemple les fiches suivantes : http://fr.wikipedia.org/wiki/Le_Bon,_la_Brute_et_le_Truand http://fr.wikipedia.org/wiki/Sergio_Leone http://fr.wikipedia.org/wiki/Luciano_Vincenzoni http://fr.wikipedia.org/wiki/Lee_Van_Cleef http://fr.wikipedia.org/wiki/Eugenio_Alabiso Votre client est également très soucieux de bien documenter les différentes versions du film (langues, sous-­‐titrages, montages, etc.), leurs dates de sortie nationales, etc. Il désire également produire facilement des fiches synoptiques, telles que celles disponibles sur iMDB, AlloCiné ou Wikipédia. Par ailleurs, il désire mettre à disposition des clients des outils avancés de recherche. Voici quelques exemples de requêtes qui devront pour être formulées et exécutées : 1.
Quels sont les films réalisés par Segion Leone en Espagne (en tout ou en partie)? 2.
Dans quels films non produits aux États-­‐Unis Clint Eastwood a-­‐t-­‐il joué? 3.
Quels sont les films produits aux États-­‐Unis pour lesquels il existe une version doublée au Québec et une version doublée en France? 4.
Dans quels films Ingrid Bergman et Marcello Mastroianni ont-­‐ils joué ensemble? 5.
Combien de coproductions franco-­‐italiennes ont-­‐elles fait appel à des acteurs américains pour tous les rôles principaux? 6.
Quels sont les acteurs italiens ayant gagné le prix d’interprétation masculine au Festival de Cannes? 7.
Quelles sont les actrices ayant une triple nationalité? 8.
Qui sont les réalisateurs polonais ayant tourné des films avant 1939? 9.
Quelle est la distribution par pays des Palmes d’or au Festival de Cannes? 10. Quels sont les 10 films québécois ayant eu le plus d’entrées payantes à leur sortie en salle, au Québec, au Canada, en France, aux États-­‐Unis? 11. Quels sont les acteurs ayant doublé Clint Eastwood en français dans au moins deux films? Travail de session IFT 187 (hiver 2015) publié le 2015-­‐03-­‐31. 3 / 3