Exercises - Sébastien Combéfis
Transcription
Exercises - Sébastien Combéfis
mardi 31 mars 2015 Sébastien Combéfis Séance d’exercices Langage SQL et modèle relationnel 1 SQL DDL 1. Écrire les requêtes de création de table pour les tables suivantes. Déterminez la clé primaire et les contraintes d’unicité. (a) Série télé Nom Saisons Créateur Année création CSI : Las Vegas John Doe Cougar Town 15 1 6 Anthony E. Zuiker Brandon Camp ; Mike Thompson Bill Lawrence ; Kevin Biegel 2000 2002 2009 (b) Aéroport Code Ville Pays BRU CRL SFO TLL Bruxelles Charleroi San Francisco Tallinn Belgique Belgique USA Estonie (c) Chaine Numéro Nom Langue 40 42 31 285 125 La Une HD RTL-TVI HD Canvas HD Rai 1 National Geographic FR Français Français Néerlandais Italien Français (d) Produit Nom Prix Péremption Fromage 100g Œufs de Pâques 500g 4.99 12 17 avril 2015 31 mai 2015 2. Les requêtes suivantes sont-elles valides ? Justifiez. (a) 1 2 3 4 5 6 CREATE TABLE fruit ( name VARCHAR (20) NOT NULL , colors VARCHAR (50) , origin CHAR (2) NOT NULL , PRIMARY KEY ( barcode ) ); (b) 1 2 3 4 CREATE TABLE person ( nom VARCHAR (20) NOT NULL PRIMARY KEY , prenom VARCHAR (20) NOT NULL PRIMARY KEY ); (c) 1 2 3 4 5 CREATE TABLE game ( nom VARCHAR (20) NOT NULL PRIMARY KEY UNIQUE , genre VARCHAR (20) NOT NULL , prix FLOAT DEFAULT ’ ABC ’ ); Année académique 2014–2015 — Langage SQL et modèle relationnel 1 mardi 31 mars 2015 Sébastien Combéfis 2 SQL DML 1. Écrire les requêtes suivantes en SQL : (a) Sélectionner tous les aéroports (code, ville et pays) (b) Sélectionner le nom de toutes les séries télé (c) Sélectionner le numéro et le nom de toutes les chaines en français (d) Sélectionner tous les produits (nom) par ordre croissant de date de péremption (e) Sélectionner le nom et les créateurs des séries télé qui ont au moins deux saisons et créées en 2000 ou après 2. Combien de lignes les requêtes suivantes renvoient-elles ? (a) SELECT * FROM Aéroport ORDER BY Code ASC (b) SELECT Numéro FROM Chaine WHERE Langue = ’Français’ (c) SELECT DISTINCT Pays FROM Aéroport (d) SELECT * FROM Produit WHERE EXTRACT (year FROM Péremption) IN (2014, 2015) (e) SELECT Code FROM Aéroport WHERE Pays LIKE ’B%’ 3. Donnez la table après exécution des instructions suivantes : (a) DELETE FROM Produit (b) UPDATE FROM Chaine SET Numéro = Numéro + 1 (c) UPDATE Aéroport SET Pays = ’BE’ WHERE Pays = ’Belgique’ (d) INSERT INTO Aéroport VALUES (’FRA’, ’Francfort’, ’Allemagne’) (e) DELETE FROM Produit WHERE Péremption BETWEEN ’2015-04-01’ AND ’2015-04-31’ 3 Modèle relationnel 1. Soient les trois relations suivantes : — CLIENT(regnat, nom, prenom) — PRODUIT(barcode, nom, prix) — COMMANDE(regnat, barcode, quantité) (a) Traduisez les opérations suivantes en SQL : i. PRODUIT[nom, prix] ii. COMMANDE(regnat) * CLIENT(regnat) iii. PRODUIT(prix <= 100) iv. (COMMANDE(barcode) * PRODUIT(barcode)) [nom, quantite, regnat] (b) Traduisez les requêtes suivantes en SQL : i. La liste de toutes les commandes de moins de 100 euros ii. La liste des commandes passées, avec le prix total iii. La liste des commandes passées, avec le nom et prénom du client, le nom du produit et le prix total iv. La liste des clients ayant passé au moins une commande Année académique 2014–2015 — Langage SQL et modèle relationnel 2