TP2 - SQL - Exercice

Transcription

TP2 - SQL - Exercice
Cours de Bases de Données Avancées
TP2 - SQL - Exercice
1 Introduction
Cet exercice ou tutorial va vous permettre de créer une petite base de donnée gestion de CD avec le langage
SQL. Cet exercice est divisé en trois parties:
-
la partie 2 correspond au langage de définition de données et permet de créer la structure de la base
de données avec notamment les définitions des tables et des contraintes;
-
la partie 3 correspond au langage de manipulation de données et permet d'insérer un jeu de données
dans la base
-
la partie 4 correspond au langage de requête et permet d'obtenir des informations depuis les données
contenus dans la base
2 Langage de définition de données
Le schéma relationnel (qui est très simplifié et donc pas forcement un bon exemple de modélisation!)
correspondant à la base qu'on veut utiliser est le suivant.
Figure 1: Schéma relationnel de la base de données
Pour créer notre base dans le serveur de base de données il faut d'abord créer les différentes tables du modèle
ainsi que leurs différentes contraintes spécifiées entre parenthèses:
-
Table Artiste: caractérisée par un Nom (identifiant), un genre (facultatif) et une nationalité
(facultatif)
-
Table Album: caractérisée par un Titre (identifiant), une Année (facultatif, valeur par défaut 2004) et
un Artiste (clé étrangère référençant la table Artiste). Ajouter aussi une contrainte (CHECK) qui
spécifie que l'année doit être compris enter 1900 et 2100.
-
Table Chanson: caractérisées par un Titre (identifiant) un Album (clé étrangère référençant la table
Album), un Numero (facultatif) et une durée. A noter que le couple Album et Numero doit être
unique dans toute la table.
3 Langage de définition de données
Une fois que la base est créée il faut insérer des données pour peupler les bases. Vous pouvez utiliser le jeu
de données suivants:
Artiste
Nom
Joe Satriani
Gordon Haskell
Gotthard
Metallica
Genre
Rock
Jazz
Rock
Hard Rock
Album
Titre
Surfing With The Alien
Harry''s Bar
Gotthard
Nationalité
USA
GB
CH
USA
Annee
1987
2002
1992
Artiste
Joe Satriani
Gordon Haskell
Gotthard
Cours de Bases de Données Avancées
G.
Metallica
1996
1991
Chanson
Titre
How Wonderful You Are
All the Time in the World
Voodoo Dance
Freeway to Her Dreams
Sunshine in the Night
Al Capone
Feelin'' Loose
There Goes My Heart Again
Roll With It
Someone I Knew
A Little Help from You
All in the Scheme of Things
Surfing With the Alien
Ice 9
Crushing Day
Always With Me, Always With You
Satch Boogie
Hill of the Skull
Circles
Lords of Karma
Midnight
Echo
Standing in the Light
Downtown
Firedance
Hush
Mean Street Rocket
Get Down
Take Me
Angel
Lonely Heartache
Hunter
All I Care For
That''s It
Sister Moon
Make My Day
Mighty Quinn (Quinn the Eskimo)
Movin'' On
Let It Be
Father Is That Enough?
Sweet Little Rock & Roller
First in Your Face
Ride On
In the Name
Lay Down the Law
One Life, One Soul
He Ain''t Heavy, He''s My Brother
Enter Sandman
Sad but True
Holier Than Thou
The Unforgiven
Wherever I May Roam
Don''t Tread on Me
Through the Never
Nothing Else Matters
Of Wolf and Man
The God That Failed
My Friend of Misery
The Struggle Within
TP2 - SQL - Exercice
Gotthard
Metallica
Album
Harry''s Bar
Harry''s Bar
Harry''s Bar
Harry''s Bar
Harry''s Bar
Harry''s Bar
Harry''s Bar
Harry''s Bar
Harry''s Bar
Harry''s Bar
Harry''s Bar
Harry''s Bar
Surfing With The Alien
Surfing With The Alien
Surfing With The Alien
Surfing With The Alien
Surfing With The Alien
Surfing With The Alien
Surfing With The Alien
Surfing With The Alien
Surfing With The Alien
Surfing With The Alien
Gotthard
Gotthard
Gotthard
Gotthard
Gotthard
Gotthard
Gotthard
Gotthard
Gotthard
Gotthard
Gotthard
Gotthard
G.
G.
G.
G.
G.
G.
G.
G.
G.
G.
G.
G.
G.
Metallica
Metallica
Metallica
Metallica
Metallica
Metallica
Metallica
Metallica
Metallica
Metallica
Metallica
Metallica
Nombre
1
2
3
4
5
6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
1
2
3
4
5
6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
13
1
2
3
4
5
6
7
8
9
10
11
12
Durée
3.07
3.42
7.37
6.33
3.45
5.18
3.37
5.03
5.45
5.55
3.09
2.31
7.47
4.08
4.47
6.40
7.35
4.40
6.44
4.52
4.42
3.52
5.19
5.12
7.01
2.13
4.21
7.01
4.06
7.25
5.38
7.45
5.40
7.55
6.40
4.13
2.03
5.47
4.48
7.44
4.48
3.11
4.23
4.36
2.38
4.37
5.58
4.33
6.11
5.45
4.43
6.17
4.21
4.32
4.55
7.31
7.45
3.08
4.45
Une fois les données insérées dans la base vous pouvez tester les choses suivantes:
-
Créer une nouvelle table à partir d'une requête SQL à l'aide de l'instruction CREATE TABLE AS.
Par exemple vous pouvez créer une table ChansonsUSA qui contient toutes les noms et durées des
chansons dont les artistes sont de nationalité USA.
-
Créer une vue à partir d'une requête SQL à l'aide de l'instruction CREATE VEW avec la même
requête que pour la table précédente. Notez ensuite les différences entre table et vue lors de la
modification des données dans la table originale.
Cours de Bases de Données Avancées
TP2 - SQL - Exercice
-
Modifier une table à partir d'une requête SQL à l'aide de l'instruction ALTER TABLE. Par exemple
vous pouvez modifier la table ChansonsUSA pour y rajouter une colonne "Artiste" avec clé
étrangère référençant la table Artiste.
-
Modifier des données à l'aide de l'instruction UPDATE. Rajouter dans la table ChansonsUSA le nom
des artistes correspondants aux chansons grâce à une requête.
-
Effacer des données à l'aide de l'instruction DELETE. Effacer toutes les chansons dans la table
ChansonsUSA qui ont une durée supérieur à 5 minutes.
-
Effacer une table entière à l'aide de l'instruction DROP. Effacer la table ChansonsUSA.
4 Langage de requête
Amusez-vous à faire différents requêtes sur la base tels que:
-
Obtenir le contenu d'un album spécifié par l'utilisateur. NB dans les requêtes on peut utiliser des
variables en utilisant la notation :nom_variable.
-
Obtenir la liste des albums avec leurs artistes avec le nombre de chanson et leur durée totale.
-
Etc.
5 Solutions
Solutions: les commandes SQL permettant de créer la structure de la base de données ainsi que de la peupler
avec le jeu de données indiqué sont placés dans le fichier "TP2 - SQL - Solutions.txt".

Documents pareils