© Your Copyright
Représentation, en UML, du modèle de données à étudier.
Représentation, en SQL, du modèle de données à étudier.
CREATE TABLE salle (salle_id SERIAL PRIMARY KEY,
nom VARCHAR(20),
capacite INTEGER DEFAULT 100
);
CREATE TABLE spectacle (spec_id SERIAL PRIMARY KEY,
titre VARCHAR(20),
duree TIME,
chanteur VARCHAR(20),
salle_id INTEGER,
FOREIGN KEY (salle_id) REFERENCES salle
);
CREATE TABLE concert (concert_id SERIAL PRIMARY KEY,
jour DATE,
heure TIME,
spec_id INTEGER,
FOREIGN KEY (spec_id) REFERENCES spectacle
);
CREATE TABLE billet (billet_id SERIAL PRIMARY KEY,
concert_id INTEGER NOT NULL,
prix SMALLINT,
FOREIGN KEY (concert_id) REFERENCES concert
);
CREATE TABLE vente(vente_id SERIAL PRIMARY KEY,
jour DATE,
paiement VARCHAR(10),
billet_id INTEGER NOT NULL UNIQUE,
FOREIGN KEY (billet_id) REFERENCES billet
);
INSERT INTO salle(nom,capacite) VALUES ('vauban',100);
INSERT INTO salle(nom,capacite) VALUES ('quartz',500);
INSERT INTO spectacle(titre,duree,chanteur,salle_id) VALUES ('show must go on','04:00:00','laStar',1);
INSERT INTO spectacle(titre,duree,chanteur,salle_id) VALUES ('show must go on','03:00:00','laStar',2);
INSERT INTO spectacle(titre,duree,chanteur,salle_id) VALUES ('show must go out','02:30:00','TheStar',1);
INSERT INTO spectacle(titre,duree,chanteur,salle_id) VALUES ('show must go in','03:45:00','TheBigStar',2);
DELETE FROM spectacle WHERE spec_id=5;
INSERT INTO concert(jour,heure,spec_id) VALUES ('2015-12-24', '21:00:00',1);
INSERT INTO concert(jour,heure,spec_id) VALUES ('2015-12-31', '21:00:00',1);
INSERT INTO concert(jour,heure,spec_id) VALUES ('2015-12-25', '21:00:00',5);
DELETE FROM concert WHERE spec_id=5;
INSERT INTO billet(concert_id,prix) VALUES (1,35);
INSERT INTO billet(concert_id,prix) VALUES (1,50);
INSERT INTO billet(concert_id,prix) VALUES (2,100);
INSERT INTO vente(jour,paiement,billet_id) VALUES ('2015-11-24', 'cheque',1);
INSERT INTO vente(jour,paiement,billet_id) VALUES ('2015-11-30', 'carte',2);
L’objectif de ces exercices est de savoir formuler les requêtes de base (SELECT,FROM,WHERE
)
sur une seule table de la base de données des « Salles de Concerts ».
En SQL en général et SQLite en particulier, on vérifie le contenu d’une table par un simple :
SELECT * FROM table
Donc pour rechercher toutes les informations sur les salles de concerts :
SELECT * FROM salles;
SELECT *
FROM spectacles
WHERE duree='04:00:00';
SELECT jour,heure
FROM concerts NATURAL JOIN spectacles
WHERE duree='04:00:00';
L’objectif de ces exercices est de savoir formuler les requêtes sur plusieurs tables (en faisant des jointures) de la base de données des « Salles de Concerts ».
SELECT jour,heure
FROM concerts NATURAL JOIN spectacles NATURAL JOIN salles
WHERE chanteur='laStar' AND nom='vauban';
L’objectif de ces exercices est de savoir exprimer des opérations ensemblistes entre deux requêtes SQL sur la base de données des « Salles de Concerts ».
SELECT chanteur FROM spectacles
EXCEPT
SELECT chanteur
FROM spectacles NATURAL JOIN salles WHERE nom='vauban';
L’objectif de ces exercices est de savoir exprimer des divisions relationnelles sur la base de données des « Salles de Concerts ».
SELECT chanteur
FROM spectacles sp
WHERE NOT EXISTS ( SELECT *
FROM salles sa
WHERE sa.salle_id=sp.salle_id
AND NOT EXISTS( SELECT *
FROM concerts co
WHERE co.spec_id=sp.spec_id
)
);
SELECT c.jour, c.heure
FROM concerts c
WHERE c.concert_id NOT IN (
SELECT b.concert_id
FROM billets b
WHERE b.billet_id NOT IN (
SELECT billet_id
FROM ventes
)
);
L’objectif de ces exercices est de savoir représenter sous forme d’arbre les requêtes de base sur une seule table de la base de données « Salles de concerts ».
TablesOpérateurs unairesOpérateurs binaires |
Vue d'ensemble | |
---|---|
|
TablesOpérateurs unairesOpérateurs binaires |
Vue d'ensemble | |
---|---|
|
spec_id | titre | duree | chanteur | salles_id |
---|---|---|---|---|
1 | show must go on | 04:00:00 | laStar | 1 |
TablesOpérateurs unairesOpérateurs binaires |
Vue d'ensemble | |
---|---|
|
jour | heure |
---|---|
2015-12-24 | 21:00:00 |
2015-12-31 | 21:00:00 |
L’objectif de ces exercices est de savoir représenter sous forme d’arbre les requêtes sur plusieurs tables (en faisant des jointures) de la base de données des « Salles de Concerts ».
math: | Q_1 : « jour et heure des concerts de “laStar” au “vauban” ». |
---|
TablesOpérateurs unairesOpérateurs binaires |
Vue d'ensemble | |
---|---|
|
jour | heure |
---|---|
2015-12-24 | 21:00:00 |
2015-12-31 | 21:00:00 |
L’objectif de ces exercices est de savoir représenter sous forme d’arbre de requêtes des opérations ensemblistes entre deux requêtes SQL sur la base de données des « Salles de Concerts ».
TablesOpérateurs unairesOpérateurs binaires |
Vue d'ensemble | |
---|---|
|
chanteur |
---|
TheBigStar |