0% ont trouvé ce document utile (0 vote)
207 vues13 pages

TP: Base de Données Musicale

Ce document décrit un TP sur la création et la manipulation d'une base de données MySQL avec l'interface HeidiSQL. Le but est de créer une base contenant des informations sur des artistes musicaux, leurs albums et chansons. Différentes requêtes SQL sont formulées pour interroger cette base.

Transféré par

Mariem Omyma Abdelli
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
207 vues13 pages

TP: Base de Données Musicale

Ce document décrit un TP sur la création et la manipulation d'une base de données MySQL avec l'interface HeidiSQL. Le but est de créer une base contenant des informations sur des artistes musicaux, leurs albums et chansons. Différentes requêtes SQL sont formulées pour interroger cette base.

Transféré par

Mariem Omyma Abdelli
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Ministère de l’Enseignement Supérieur et de la Recherche Scientifique

Ecole Nationale Polytechnique

Spécialité : Génie industriel


Option : management de l’innovation
L’étudiante :
ABDELLI Omyma Mariem

Année universitaire : 2017/2018


1) Objectif du TP :
 Créer et manipuler une base de données MySQL.
 Se familiariser avec l’interface du logiciel HeidiSQL.
 Apprendre quelques requêtes de base du langage SQL.
2) Principe de TP :
Le but de ce TP est de créer une base de données qui contient quelques
informations nécessaires à l’élaboration et à la gestion d’une bibliothèque
musicale. Les informations manipulées concernent une liste d’artistes, leurs
albums et les chansons qu’ils contiennent.
3) Expérimentation :
Etape1 :
1*création de la base de données sous le
nom : « Bibliothèque_musicale ».
Par clique droite on choisit Créer un (e) nouveau (el/elle)  base de
données.
On écrit le nom et on clique sur OK.

2* création des tables Chanson, Artiste et Album.


Créer un (e) nouveau (el/elle)  Tables.
On choisit le nom de la tables aussi leur attributs (nom, type, taille et
l’attribut « primary key » et on obtient ces tables :
Schéma relationnel :

3* Insertion des données de chaque table.


Etape2 :
En utilisant l’onglet « requête » de HeidiSQL, on a exprimé les
requêtes suivantes en langage SQL :
a) ‘Afficher la liste de toutes les chansons sorties en 2017 et les
classer par ordre alphabétique du titre.’
La requête :
SELECT titre_chanson, date_sortie_chanson
FROM chanson
WHERE date_sortie_chanson<='2017-12-31' AND date_sortie_chanson>='2017-01-
01'
b) ‘Donner le nom de l’artiste de la chanson « Dive ».’
La requête :

SELECT nom_artiste
FROM chanson JOIN artiste ON artiste.id_artiste=chanson.FK_chanson_artiste
WHERE titre_chanson='dive'

c) ‘La liste des chansons de l’album « Woodstock ».’


La requête :
SELECT titre_chanson
FROM chanson JOIN album ON
album.id_album=chanson.FK_chanson_album
WHERE titre_album='woodstock'

d) ‘Les noms des artistes produits sous le label « Interscope


Records ».’
La requête :

SELECT DISTINCT nom_artiste


FROM chanson JOIN artiste JOIN album ON
chanson.FK_chanson_artiste=artiste.id_artiste AND
chanson.FK_chanson_album=album.id_album
WHERE label='interscope records'

e) ‘Les noms des artistes qui ont chanté des chansons dont le titre
commence par la lettre « J ». Afficher aussi les titres de ces
chansons triées par ordre alphabétique.
La requête :

SELECT Nom_artiste, titre_chanson


FROM chanson JOIN artiste ON
chanson.FK_chanson_artiste=artiste.id_artiste
WHERE titre_chanson LIKE 'j%'
ORDER BY titre_chanson

f) ‘Les noms des artistes qui possèdent un album dans la table


Album. (NOT NULL)’
La requête :

SELECT DISTINCT nom_artiste


FROM chanson NATURAL JOIN artiste NATURAL JOIN album
WHERE titre_album IS NOT NULL
g) ‘Les titres des chansons et leurs durées en minutes de l’album
intitulé « Divide ».’
La requête :

SELECT titre_chanson, durée/60 as duree_minute


FROM chanson JOIN album ON
album.id_album=chanson.FK_chanson_album
WHERE titre_album='Divide'

h) ‘Les chansons qui font partie du même album que la chanson «


Jenny ».’
La requête :
SELECT titre_chanson
from chanson
where FK_chanson_album = (select FK_chanson_album from
chanson where titre_chanson='Jenny')

i) ‘Le nombre de chansons de chaque album ainsi le titre de


l’album.’
La requête :

SELECT titre_album, COUNT(id_album)


FROM chanson JOIN album ON
album.id_album=chanson.FK_chanson_album
group by id_album

j) ‘Le nombre d’artistes qui figurent dans la table chanson.’


La requête :
SELECT COUNT(DISTINCT FK_chanson_artiste)
FROM chanson

k) ‘Les durées moyennes des chansons qui composent des albums


ayant plus de 2 chansons. Afficher aussi le titre de l’album.’
La requête :
SELECT AVG(durée), titre_album
FROM chanson JOIN album ON
album.id_album=chanson.FK_chanson_album
GROUP BY id_album
HAVING COUNT(FK_chanson_album)>'2'

l) ‘Quels sont les artistes ayant sorti des albums à une date
ultérieure à celle de l’album « Woodstcok ». (indication : auto-
jointure, jointure d’une table avec elle-même)
La requête :
SELECT distinct nom_artiste
FROM chanson JOIN artiste JOIN album ON
chanson.FK_chanson_artiste=artiste.id_artiste AND
chanson.FK_chanson_album=album.id_album
WHERE date_sortie_album>(SELECT date_sortie_album
from album
where titre_album='woodstock')

En ajoutant les données dans les tables :


On fait les requêtes suivantes :
m) Les noms des artistes n’ayant aucune chanson enregistrée.
La requête :

SELECT DISTINCT nom_artiste, id_artiste


FROM artiste LEFT outer join chanson on
artiste.id_artiste=chanson.FK_chanson_artiste
where chanson.FK_chanson_artiste IS NULL

n) Les titres des chansons ne faisant partie d’aucun album.


La requête :
SELECT DISTINCT titre_chanson, id_chanson
FROM album right outer join chanson on
album.id_album=chanson.FK_chanson_album
where chanson.FK_chanson_album IS NULL

o) Les titres et les dates de sortie des albums qui ne possèdent


aucune chanson enregistrée dans la table « Chanson ».
La requête :
SELECT DISTINCT titre_album, date_sortie_album
FROM album left outer join chanson on
album.id_album=chanson.FK_chanson_album
where chanson.FK_chanson_album IS NULL

Vous aimerez peut-être aussi