T-GSI Ch.1 Ch.3 Le Langage SQL, support de cours. Support de cours : Soit le système d information d un cinéma, partiellement traduit par le MCD suivant : Le MLD obtenu est celui-ci : Ch.1 - Application.doc page 1 / 5 om (2001-2005)
L implémentation de la base de données a été effectuée sur un SGBDR par le biais d un script SQL : phpmyadmin SQL Dump version 2.6.1 http://www.phpmyadmin.net Serveur: localhost Généré le : Lundi 19 decembre 2005 à 20:01 Version du serveur: 4.1.9 Version de PHP: 4.3.10 Base de données: `cinema` CREATE DATABASE cinema; USE cinema; Structure de la table `categorie` CREATE TABLE `categorie` ( `codecat` varchar(4) NOT NULL default '', `libcat` varchar(50) default NULL, CONSTRAINT pk_categorie PRIMARY KEY (`codecat`) Contenu de la table `categorie` INSERT INTO `categorie` VALUES ('COMD', 'comédie dramatique'); INSERT INTO `categorie` VALUES ('DESA', 'dessin animé'); INSERT INTO `categorie` VALUES ('DOCU', 'documentaire'); Structure de la table `film` CREATE TABLE `film` ( `numfilm` smallint(6) NOT NULL default '0', `titre` varchar(50) default NULL, `duree` smallint(6) default NULL, `production` varchar(30) default NULL, `codecat` varchar(4) default NULL, CONSTRAINT pk_film PRIMARY KEY (`numfilm`), CONSTRAINT `fk_film_cat` FOREIGN KEY (`codecat`) REFERENCES `categorie` (`codecat`) Contenu de la table `film` INSERT INTO `film` VALUES (10, 'Camille Claudel', 150, 'Gaumont', 'COMD'); INSERT INTO `film` VALUES (20, 'Fenêtre sur cour', 120, 'Pathé', 'COMD'); INSERT INTO `film` VALUES (25, 'Sueurs froides', 115, 'Pathé', 'COMD'); INSERT INTO `film` VALUES (50, 'Cendrillon', 140, 'UGC', 'DESA'); INSERT INTO `film` VALUES (64, 'Super Mondet XII', 10, 'Universal', 'DOCU'); INSERT INTO `film` VALUES (65, 'La vie des bâteaux en Hollande', 60, 'UGC', 'DOCU'); INSERT INTO `film` VALUES (66, 'The Chronicles of Riddick', 120, 'Paramounth', 'COMD'); INSERT INTO `film` VALUES (71, 'La guerre du feu II Le retour', 120, 'Paramounth', 'COMD'); INSERT INTO `film` VALUES (72, 'Etude sur les portières de BX', 90, 'Universal', 'DOCU'); Structure de la table `projection` CREATE TABLE `projection` ( `numfilm` smallint(6) NOT NULL default '0', `salle` char(10) NOT NULL default '', `seance` char(10) NOT NULL default '', `date` date NOT NULL default '', CONSTRAINT pk_projection PRIMARY KEY (`numfilm`,`salle`,`seance`,`date`), CONSTRAINT fk_proj_film FOREIGN KEY (`numfilm`) REFERENCES `film` (`numfilm`) Contenu de la table `projection` '11h00', '2005/11/17'); '13h10', '2005/11/17'); '14h50', '2005/11/17'); '11h00', '2005/11/17'); '14h50', '2005/11/17'); INSERT INTO `projection` VALUES (50, 'Sud', '13h10', '2005/11/17'); INSERT INTO `projection` VALUES (64, 'Centrale', '13h10', '2005/11/17'); 'Centrale', '14h50', '2005/11/17'); '11h00', '2005/11/18'); '13h10', '2005/11/18'); '11h00', '2005/11/18'); '14h50', '2005/11/18'); INSERT INTO `projection` VALUES (50, 'Sud', '13h10', '2005/11/18'); INSERT INTO `projection` VALUES (64, 'Centrale', '13h10', '2005/11/18'); 'Centrale', '13h10', '2005/11/18'); 'Centrale', '14h50', '2005/11/18'); Ch.1 - Application.doc page 2 / 5 om (2001-2005)
Le MLD peut s écrire de la façon suivante : CATEGORIE(codecat,libcat) Codecat: clé primaire FILM(numfilm,titre,duree,production,codecat) numfilm : clé primaire codecat : clé étrangère en référence au champ codecat de la table CATEGORIE PROJETER(numfilm,salle,seance,date) numfilm, salle, seance, date : clé primaire numfilm : clé étrangère en référence au champ numfilm de la table FILM NB : La table PROJETER a été implémentée sous le nom PROJECTION. Le contenu des tables créées est le suivant : FILM numfilm titre durée production codecat 10 Camille Claudel 150 Gaumont COMD 20 Fenêtre sur cour 120 Pathé COMD 25 Sueurs froides 115 Pathé COMD 50 Cendrillon 140 UGC DESA 64 Super Mondet XII 10 Universal DOCU 65 La vie des bâteaux en Hollande 60 UGC DOCU 66 The Chronicles of Riddick 120 Paramounth COMD 71 La guerre du feu II Le retour 120 Paramounth COMD 72 Etude sur les portières de BX 90 Universal DOCU......... CATÉGORIE codecat libcat COMD comédie dramatique DESA dessin animé DOCU documentaire...... PROJECTION numfilm salle seance date 10 Nord 11h00 2005-11-17 10 Nord 11h00 2005-11-18 10 Nord 13h10 2005-11-17 10 Nord 13h10 2005-11-18 10 Nord 14h50 2005-11-17 20 Sud 11h00 2005-11-17 20 Sud 11h00 2005-11-18 20 Sud 14h50 2005-11-17 20 Sud 14h50 2005-11-18 50 Sud 13h10 2005-11-17 50 Sud 13h10 2005-11-18 64 Centrale 13h10 2005-11-17 64 Centrale 13h10 2005-11-18 66 Centrale 13h10 2005-11-18 66 Centrale 14h50 2005-11-17 66 Centrale 14h50 2005-11-18 Ch.1 - Application.doc page 3 / 5 om (2001-2005)
La base de données dans MySQL : Requêtes du cours : a) Quelles sont les différentes catégories de film? b) Quelles sont les noms des salles du cinéma? c) Quels sont films (numéro, titre, durée) projetés au cinéma? d) Quels sont les salles qui ont des séances à 11h00? e) Quelle est le titre et la durée du film numéro 20? f) Quelle est le titre et la durée (en heure) du film numéro 20? g) Quels sont les noms des films diffusés en salle nord qui durent entre 60 et 120 minutes? h) Combien il y a-t-il de films dans la base? i) Combien il y a-t-il de films par producteur (producteur, nombre de films)? j) Combien il y a-t-il de films par catégorie (libellé catégorie, nombre de films)? k) Combien il y a-t-il de films par séance dès lors qu il y en a plus d un pour le 18/11? l) Combien de fois les films (numfilm, titre) sont-ils projetés? m) Combien il y a-t-il de films par salle dès lors qu il y en a plus de trois? n) Quels sont les titres des films de 140 minutes et produits par UGC? o) Quels sont les titres des films commençant par C et L (triés par ordre alphabétique)? p) Quels sont les titres des films qui ne commencent pas par la lettre U (triés alphabétiquement)? q) Quels sont les titres et la durée des films qui ne sont pas diffusés en salle nord? Ch.1 - Application.doc page 4 / 5 om (2001-2005)
r) Quels sont les titres des films diffusés à 11h dans les salles Nord ou Centrale?? s) Quelle est la durée moyenne des films de la base? t) Quel est la séance du film le plus tôt dans la journée du 18/11? u) Quel est le numéro et le titre des films qui ont la même durée que le film numéro 71? v) Quel le numéro et le titre des films de la même catégorie que Super Mondet XII? w) Quels sont les titres des films diffusés aux horaires suivants : 11h00, 13h10 et 14h50? x) Quels sont les films (numéro et titre) plus longs que la moyenne? y) Quels films (numéro, titre, salle et séance) sont programmés aux mêmes horaires? z) Quelle est le titre, la salle, la séance et la durée (en heure) des films projeté. En utilisant la fonction ROUND(<champ ou formule>,<nb décimales>)? aa) Quels sont les films (numéro et titre) qui n ont pas été diffusés? bb) Quels sont les trois films qui sont les plus diffusés? cc) Quel est le film le plus diffusé? Ch.1 - Application.doc page 5 / 5 om (2001-2005)