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