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 1dé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. 2Dans 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 :
-:{idartist,nameartist} → L’artiste (ou groupe d’artistes) d’identifiant idartist, a
pour nom nameartist.
-:{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 (idartist).
-:{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
.
-:{idrecording,idartist§
,namerecording,idrelease¶
,length} → Le morceau d’iden-
tifiant 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
(idartist)et idrelease référence (idrelease).
NB : Dans toutes ces tables, tous les attributs (sauf les clefs) peuvent prendre des valeurs , tra-
duisant 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.