TD-TP de Bases de Données Relationnelles - Ensiwiki

publicité
TD-TP de Bases de Données Relationnelles
Une base de données musicale – MusicBrainz
Ensimag – juin 2014
Nous allons nous intéresser ici à la base de données libre MusicBrainz 1 dédiée au stockage et à
la diffusion de métadonnées musicales. Cette base de données contient notamment des informations
sur les artistes du monde entier, leurs pays d’origine, les titres et les albums, etc.
Le schéma complet de cette base, ainsi que les explications associées sont disponibles sur le site de
documentation de MusicBrainz. 2 Dans le cadre de ce TD-TP, nous allons travailler sur un fragment du
schéma, concernant les artistes, les morceaux (recordings) les disques (releases) et les pays dans lesquels
ces disques sont sortis. Voici l’extrait du schéma qui nous concerne ici :
-
MB_ARTIST : {idartist, nameartist} → L’artiste (ou groupe d’artistes) d’identifiant idartist, a
pour nom nameartist.
-
-
MB_RELEASE
: {idrelease, idartist†, namerelease, type} → Le disque d’identifiant idrelease, a
pour nom namerelease, a été enregistré par l’artiste d’identifiant idartist et a pour type type («
Album », « Single », « EP ». . .). L’attribut idartist référence MB_ARTIST(idartist).
MB_RELEASE_COUNTRY : {idrelease†, namecountry, date_year, date_month, date_day} → Le
disque d’identifiant idrelease est sorti dans le pays de nom namecountry au jour date_day du
mois date_month de l’année date_year. L’attribut idrelease référence l’attribut idrelease de la table
MB_RELEASE.
-
MB_RECORDING : {idrecording, idartist§, namerecording, idrelease¶, length} → Le morceau d’identifiant idrecording, a pour nom namerecording, a été enregistré par l’artiste d’identifiant idartist,
sur le disque d’identifiant idrelease, et dure length millisecondes. L’attribut idartist référence
MB_ARTIST(idartist) et idrelease référence MB_RELEASE(idrelease).
NB : Dans toutes ces tables, tous les attributs (sauf les clefs) peuvent prendre des valeurs NULL, traduisant une absence d’information. Tenez-en compte dans vos requêtes.
Ecrire en utilisant l’algèbre relationnelle et en SQL les requêtes suivantes :
(R1) Quelle est la liste des noms des morceaux de l’artiste numéro ’22164’ ?
(R2) Pouvez-vous donner le nom exact de cet artiste 3 ?
(R3) Quels sont les albums du groupe Radiohead (donnez juste leur nom, sans doublon) ?
(R4) Par qui a été composée la chanson Straumnes ?
(R5) Sur quel album cette chanson est-elle enregistrée, et quels sont les morceaux de cet album ?
(R6) Quel est la liste des identifiants d’artistes n’ayant sorti que des Singles ?
(R7) Donnez la liste des albums du groupe U2, avec leur durée.
(R8) Donnez la liste des albums du groupe U2 de plus d’une heure, avec leur durée.
(R9) Quels artistes ont des disques dans tous les pays dans lesquels The Beatles en ont ?
1. http://musicbrainz.org/
2. http://musicbrainz.org/doc/MusicBrainz_Database/Schema
3. Essayez de deviner avec le nom des morceaux si vous êtes d’humeur joueuse, puis vérifiez avec une requête SQL.
Et pour aller plus loin...
(R10) Quels sont les singles sortis en France en 2014 (noms + nom de l’artiste) ?
(R11) Le titre Feeling Good a été chanté par un nombre impressionnant d’artistes. Donnez leur nom.
(R12) Laquelle de ces versions est la plus longue (donnez sa longueur et l’artiste qui l’a composée) ?
(R13) Quels disques ne sont sortis qu’en Finlande (aucun disque d’un autre pays ne porte le même
nom) ?
(R14) Parmi les chansons de Nina Simone, lesquelles ont été interprétées par un ou plusieurs autres
artistes, et par qui ?
(R15) Quel est le pays ayant le plus de disques sortis ?
(R16) Quel jour de l’année y a-t-il le plus grand nombre de sorties musicales ?
(R17) Depuis la sortie de leur premier album, en quelle(s) année(s) avons-nous eu la chance d’être
épargnés par une sortie du groupe Tokio Hotel 4 ?
4. Oui, « Tokio », et pas « Tokyo ».
2
PSGBD : TD Algèbre relationnelle et SQL
Téléchargement