Master Bioinformatique – M1 BIBS MiNiInfo: Bases de données
Transcription
Master Bioinformatique – M1 BIBS MiNiInfo: Bases de données
Master Bioinformatique – M1 BIBS MiNiInfo: Bases de données – TP noté 21 janvier 2016 1 Schéma entité/association On souhaite modéliser à l’aide d’un schéma entité/association une base de données de jeux vidéo constituant une version simplifiée de GOG.com. Ceci est une plate-forme de distribution et de vente de jeux vidéo sans DRM en ligne, c’est-à-dire sans gestion des droits numériques (Digital Rights Management en anglais). 1.1 Description d’un jeu vidéo Un jeu vidéo est décrit complètement par son titre et son année de sortie et possède un certain prix. De plus, un jeu vidéo a obligatoirement au moins une plate-forme associée (parmi Windows, Mac OS et Linux). À un jeu vidéo on peut associer un ou plusieurs genres (par exemple jeu de rôle, aventure, stratégie, etc.). 1.2 Description de l’équipe Un jeu vidéo est développé par une équipe qu’on appelle “réalisateur” et publié (distribué) par une équipe qu’on appelle “éditeur”. On suppose qu’une équipe (de réalisateurs ou éditeurs) est décrite complètement par son nom. Il n’est pas obligatoire que le réalisateur d’un jeu vidéo soit aussi son éditeur. 1.3 Les utilisateurs Un utilisateur est décrit complètement par son login. Il possède en plus une date d’inscription associée. Les utilisateurs peuvent acheter des jeux vidéos. On veut pouvoir dire à tout moment qui a acheté quoi, et quand. De plus, les utilisateurs peuvent donner des notes (allant de 1 à 5) aux jeux qu’ils ont achetés. 1 2 Création de la base de données Vous allez vous connecter à l’interface graphique à l’adresse http://tp-sgbd.ups.u-psud.fr/phpPgAdmin en utilisant votre identifiant Adonis (prenom.nom et votre mot de passe Adonis). Ensuite vous cliquez en haut à gauche sur le lien PostgreSQL et vous vous identifiez avec login a (et login a pour le mot de passe), où login est votre identifiant court Unix. Vous cliquez ensuite sur votre base de données login a (étape 1 sur la figure), vous créez un nouveau schéma pour séparer les nouvelles tables des tables créées pendant les séances précédentes (étape 2 sur la figure), puis vous sélectionnez ce nouveau schéma (que vous pouvez appeler projet par exemple) et vous ouvrez l’onglet SQL (étape 3 sur la figure). Vous allez récupérer le fichier gog.sql à l’adresse https://www.lri.fr/~zaharia/BD2016 et vous allez copier-coller son contenu dans l’onglet SQL (voir l’étape étape ) 3 afin de créer et peupler les tables nécessaires pour ce TP. 3 Requêtes SQL Vous m’enverrez par mail à [email protected] en fin de séance les requêtes SQL ci-dessous. Il n’y a pas besoin d’inclure les résultats des requêtes. Question 1 Quels sont les utilisateurs n’ayant acheté que des jeux sortis à partir de 2000 ? user09, user12, user13 Question 2 Quels sont les éditeurs ayant sorti plus de 3 jeux et combien de jeux ont-ils sorti exactement ? Hasbro Inc. (4 jeux), Ubisoft (5 jeux) Question 3 Afficher les jeux et leurs réalisateurs qui sont aussi les éditeurs de ces jeux. CD Projekt Red – The Witcher, The Witcher 2, The Witcher 3 Ubisoft – Far Cry 2, Speed Busters Stardock Entertainment – Galactic Civilizations II, Galactic Civilizations III Codemasters – Race Driver: Grid Question 4 Afficher les jeux vendus dans l’ordre décroissant du nombre de ventes. Question 5 Quels jeux ont été achetés par au moins 3 utilisateurs ? Afficher le titre et l’année de sortie du jeu, ainsi que le nombre d’acheteurs. Sensible Soccer, 2006 (3) Galactic Civilizations III, 2015 (5) The Witcher 2, 2012 (3) The Witcher 3, 2015 (6) Planescape: Torment, 1999 (3) Baldur’s Gate, 1999 (4) The Witcher, 2007 (3) 2 Question 6 Quels genres de jeux trouve-t-on pour Linux ? stratégie, action, jeu de rôle Question 7 Quel est le jeu ayant la note moyenne la plus faible et quelle est sa note moyenne ? Sensible Soccer, 2006 (1.33) Question 8 Quels sont les éditeurs des 3 jeux les plus vendus ? CD Projekt Red, Hasbro Inc., Stardock Entertainment Question 9 Quel est le jeu de stratégie le plus vendu ? Galactic Civilizations III Question 10 Combien les utilisateurs dépensent-ils en moyenne sur des jeux vidéo ? 64.94 Question 11 Quels sont les utilisateurs ayant noté tous les jeux qu’ils ont achetés ? user02, user03, user04, user05, user08, user09, user12, user15 Question 12 Quels sont les utilisateurs n’achetant que des jeux d’un même genre ? user02, user08, user10, user13 Question 13 Quels sont les utilisateurs n’ayant acheté que des jeux qui n’ont pas de version pour Linux ? user04, user06, user07, user12, user13, user15 4 Schéma de la base de données Légende Clé primaire Clé étrangère Référence à editeurs realisateurs nom nom titre titre annee annee plateforme jeux utilisateurs titre titre login annee annee date_inscription systeme prix genre ventes notes titre login login annee titre titre genre annee annee date_achat note 3