Un club de k7 videos
Transcription
Un club de k7 videos
TPBD I GROUPE 11 Groupe 11 TABLE DES MATIERES I. CHAMP D’APPLICATION a) Domaine b) Objectif c) Constituants II. REMARQUES CONCERNANT LES IDENTIFICATEURS II. DOMAINE « SQL » DES CONSTITUANTS II. PREDICAT DES RELATIONS II. GRAPHE DES RELATIONS II. CREATE TABLE II. EXEMPLE D’« INSERT TO » POUR CHAQUE CONSTITUANT II. QUESTIONS SUR LA BASE DE DONNEES a) Questions posées à la base de données b) Questions formulées à l’aide de l’« Algèbre relationnel » c) Questions formulées en « SQL » IX. VUE a) Vue formulée en « SQL » b) Affichage de la vue IX. MASQUE Page : 1 TPBD I GROUPE 11 I. CHAMP D’APPLICATION a) Domaine : Gestion des locations de cassettes vidéos dans un vidéoclub b) Objectif : L’objectif de cette base de données est double, elle devra permettre, non seulement la gestion d’un vidéoclub (une prise en charge des locations, des retours de cassettes et la facturation locations), mais ,en plus, fournir certains services aux clients, trouver un film recherché avec un minimum d’informations (un nom d’acteur, réalisateur, ou un titre incomplet), par exemple. c) Constituants : Clients, Cassettes, Locations, Interprétation, Acteurs, Réservations, Classifications, Tarifs CONSTITUANTS IDENTIFICATEURS ABREVIATIONS CLIENTS Nom Prénom Numéro de client Adresse No de téléphone Date de naissance Solde du compte Nom_Client Prenom_Client Num_Client Adresse_Client Num_Tel Date_Naiss Solde_Cpt CASSETTES Numéro de Cassette Type tarif Titre Durée Distributeur Réalisateur Année de production Lieu de production Nombre d’exemplaires Nombre Réservées Nom d’acteur Num_K7 Type_tarif Titre_K7 Duree_K7 Distrib Realis Annee_Prod Lieu_Prod Nb_Exempl Nb_Reserv Nom_Act Page : 2 TPBD I GROUPE 11 CONSTITUANTS IDENTIFICATEURS ABREVIATIONS LOCATIONS No de client No de K7 Date de location Date de retour Type de paiement Num_Client Num_K7 Date_Loc Date_Ret Type_Pmt INTERPRETATION Numéro de K7 Numéro d’acteur Rôle Num_K7 Num_Act Role ACTEURS Numéro d’acteur Nom Commentaire Num_Act Nom_Act Comment_Act RESERVATIONS Numéro de client Numéro de K7 Date de réservation Num_Client Num_K7 Date_Reserv CLASSIFICATIONS Numéro de K7 Genre Num_K7 Genre_K7 TARIFS Type tarif Prix Type_Tarif Prix_Base Page : 3 TPBD I GROUPE 11 II. REMARQUES CONCERNANT LES IDENTIFICATEURS : CONSTITUANTS CLIENTS IDENTIFICATEURS No de téléphone Date de naissance Solde du compte CASSETTES Type tarif Nom d’acteur Numéro de client/Numéro de cassette Date de retour Type de paiement REMARQUES Permet de contacter le client au cas ou il oublie de rendre une K7, ou s’il a réservé une K7 et que celle-ci est disponible Une location gratuite offerte au client pour son anniversaire Indique si le client doit de l’argent. Arrondi au franc Dépend de la catégorie du film (nouveau/ancien) 1 acteur enregistrés par K7 La relation « No de client » et « No K7 », permet d’informer le client au cas ou il s’apprête à prendre en location un film qu’il a déjà loué Permet le calcul du prix de la location Paiement comptant ou débit du compte clients LOCATION Type de paiement Sur compte/cash ACTEURS Commentaire Filmographie de l’acteur mentionné RESERVATIONS Genre Permet la combinaisons de genres, S.F.-Policier TARIFS Type tarif Permet la modification des tarifs de bases pour les nouveautés ou les anciens films Page : 4 TPBD I GROUPE 11 III. DOMAINE « SQL » DES CONSTITUANTS CONSTITUANTS ABREVIATIONS TYPE DE DONNEES DOMAINE CLIENTS Nom_Client Prenom_Client Num_Client Adresse_Client Num_Tel Date_Naiss Solde_Cpt mot mot entier texte texte date entier char(24) char(24) number(5) char(80) char(13) date number(3) CASSETTES Num_K7 Type_tarif Titre_K7 Duree_K7 Distrib Realis Annee_Prod Lieu_Prod Nb_Exempl Nb_Reserv Nom_Act entier mot mot mot mot mot entier mot entier entier mot number(5) char(7) char(40) number(3) char(24) char(40) number(4) char(24) number(2) number(2) char(40) LOCATIONS Num_Client Num_K7 Date_Loc Date_Ret Type_Pmt entier entier date date mot number(5) number(5) date date char(7) INTERPRET. Num_K7 Num_Act Rôle entier entier texte number(5) number(5) char(40) ACTEURS Num_Act Nom_Act Comment_Act entier mot texte number(5) char(24) char(80) RESERVATIONS Num_Client Num_K7 Date_Reserv entier entier date number(5) number(5) date CLASSIFICATIONS Num_K7 Genre_K7 entier mot number(5) char(40) Page : 5 TPBD I GROUPE 11 TARIFS Type_Tarif Prix_Base mot entier Page : 6 char(7) number(2) TPBD I GROUPE 11 IV. PREDICAT DES RELATIONS (exprimé à l’aide du langage de modélisation) CLIENTS : (Num_Client, Nom_Client, Prenom_Client, Adresse_Client, Num_tel, Date_naiss, Solde_Cpt) Prédicat : « || Clients (a, b, c, d, e, f, g) || Le client ayant le numéro a, dont le nom est b et le prénom c qui habite à l’adresse d ayant le numéro de téléphone e, né le f, présente un solde de compte g. » CASSETTES : (Num_K7, Titre_K7, Durée_K7, Distrib_K7, Realis, Lieu_Prod, Annee_Prod, Nb_Reserv, Nb_Exempl, Type_tarif, Nom_Act) Prédicat : « || K7 (a, b, c, d, e, i, j, k, m, n, o) || La K7 dont le numéro est a et le titre b, dure c minutes, est distribuée par d et réalisée par e. Ce film est produit en/aux i en j, dont nous avons k exemplaires, louées au prix de Fr. m (n, cassettes sont déjà réservées) à pour interprète principal l’acteur, l’actrice o » LOCATION : (Num_Client, Num_K7, Date_Loc, Date_Ret, Type_Pmt) Prédicat : « || Location (a, b, c, d, e) || Le client numéro a a loué la K7 numéro b le c et l’a rendue le d, il a payé e. » INTERPRETATION : (Num_K7, Num_Acteur, Role) Prédicat : « || Interprétation (a,b,c) || Dans la cassette a, l’acteur numéro b joue le rôle c » ACTEURS : (Num_Acteur, Nom_Act, Comment_Act) Prédicat : « || Acteur (a, b, c)|| L’acteur numéro a dont le nom est b fait partie de la filmographie c» RESERVATIONS : (Num_Client, Num_K7, Date_Reserv) Prédicat : « || Réservation (a,b,c)|| Le client a a réservé la cassette b pour le c » CLASSIFICATIONS : (Num_K7, Genre_K7) Prédicat : « ||Classification (a,b)|| La cassette numéro a est du genre b. » TARIFS : (Type_Tarif, Prix_Base) Prédicat : « ||Tarif (a,b)|| La cassette dont le type de tarif est a est louée à Fr. b.--. » Page : 7 TPBD I GROUPE 11 V. GRAPHE DES RELATIONS Nom_Client Date_Reserv Adresse_Client CLIENTS Prenom_Client Solde_Cpt Num_Tel RESERVATION Date_Naiss Num_Client Date_Loc Date_Ret LOCATION Type_Pmt Genre_K7 CLASSIFICATION Num_K7 Titre_k7 Nb_Reserv Nb_Exempl Role Lieu_Prod Annee_Prod CASSETTE Duree_K7 Distrib INTERPRETATION Realis Type_Tarif Num_Act Nom_Act TARIFS ACTEUR Comment_Act Prix_Base Page : 8 TPBD I GROUPE 11 VI. CREATE TABLE : CONSTITUANTS IDENTIFICATEURS CLIENTS CREATE TABLE Nom Prénom Numéro de client Adresse No de téléphone Date de naissance Solde du compte CREATE TABLE CLIENTS ( Nom_Client char (24) Prenom_Client char (24) Num-Client number (5) Adresse_client char (80) Num_Tel char (13) Date_Naiss Date Solde_Cpt number (3)) Numéro de Cassette Type tarif Titre Durée Distributeur Réalisateur Année de production Lieu de production Nombre d’exemplaires Nombre Réservées Nom d’acteur CREATE TABLE CASSETTES ( Num_k7 number (5) Type_tarif char (7) Titre_k7 char (40) Durée_k7 number (3) Distrib char (24) Realis char(40) Année_Prod number(4) Lieu_Prod char (24) Nb_Exempl number(2) Nb_Reserv number(2)) Nom_Act char(40) No de client No de K7 Date de location Date de retour Type de paiement CREATE TABLE LOCATIONS ( Num_Client number (5) Num_Cassette number (5) Date_Loc Date Date_Ret Date Type_Pmt char (7)) Numéro de K7 Numéro d’acteur Rôle CREATE TABLE INTERPRET ( Num_K7 number (5) Num_Act number (5) Rôle char(40)) Numéro d’acteur Nom Commentaire CREATE TABLE ACTEURS ( Num_Act number (5) Nom_Act char (24) Comment_Act char (80)) CASSETTES LOCATIONS INTERPRET ACTEURS Page : 9 TPBD I GROUPE 11 Numéro de client Numéro de K7 Date de réservation CREATE TABLE RESERVATIONS ( Num_Client number (5) Num_K7 number (5) Date_Reserv date) Numéro de K7 Genre CREATE TABLE CLASSIFICATIONS( Num_K7 number (5) Genre_K7 char (40)) Type tarif Prix CREATE TABLE TARIFS( Type_Tarif char (7) Prix_Base number (2)) RESERVATIONS CLASSIFICATIONS TARIFS Page : 10 TPBD I GROUPE 11 VII. EXEMPLE D’« INSERT TO » POUR CHAQUE CONSTITUANT : CLIENTS insert into CLIENTS (Nom_Client,Prenom_Client,Num_Client,Adresse_Client,Num_Tel,Date_Naiss,Solde_Cpt) values (‘BRUN’,’Francois’,00001,’29 ch. du Barbolet 1213 Onex’,’022/793.77.50’,’26aug-73’,0); CASSETTES insert into CASSETTES (Num_K7,Type_Tarif,Titre_K7,Duree_K7,Distrib,Realis,Annee_Prod,Lieu_Prod,Nb_Exem pl,Nb_Reserv) values (00001,’Ancien’,’Star Wars’,135,’Universal’,’George Lucas’,1977,’USA’,2,0,’Ford’); LOCATIONS insert into LOCATIONS (Num_Client,Num_K7,Date_Loc,Date_Ret,Type_Pmt) values (00001,00002,’20-jan-97’,’compte’); INTERPRETATIONS insert into INTERPRET (Num_K7,Num_Act,Role) values (00001,00001,’Han Solo’); ACTEURS insert into ACTEURS (Num_Act,Nom_Act,Comment_Act) values (00002,’Baldwin’,’Stephen Baldwin : « Deux garcons, une fille, trois possibilités »’); RESERVATIONS insert into RESERVATIONS (Num_Client,Num_K7,Date_Reserv) values ( 00004,00002,’31-jan-97); Page : 11 TPBD I GROUPE 11 CLASSIFICATIONS insert into CLASSIFICATIONS (Num_K7,Genre_K7) values (00001,’Science-Fiction’); TARIFS insert into TARIFS (Type_Tarif,Prix_Base) values (‘ancien’,6); Page : 12 TPBD I GROUPE 11 VIII. QUESTIONS SUR LA BASE DE DONNEES : a) Questions posées à la base de données : 1) Afficher les titres des films et le numéro des cassettes dont l'acteur principal est "Pitt". 2) Afficher les informations concernant les clients qui ont réservé la cassette a la date du 31JAN-97 et dont le titre est "Fled". 3) Afficher les informations sur le client qui fêté son anniversaire aujourd'hui(on suppose qu'aujourd'hui nous sommes le 26 août). 4) Rechercher les films considérés comme étant des nouveautés. 5) Rechercher les clients qui ont du retard dans la restitution de leur cassette (test effectué le 5 Février 1997). 6) Rechercher les clients qui ont un solde de compte négatif plus grand ou égal à 20.— pour les en informer par téléphone. b) Questions formulées à l’aide de l’« Algèbre relationnel » : 1) (Nom_Act=‘Pitt’) (CASSETTES) [Num_K7,Titre_K7] 2) (*Date_ Reserv=31-JAN-97) ^ (Titre_K7=‘Fled’) (RESERVATIONS*CLIENTS*CASSETTES) [Num_client,Nom_client,Date_Reserv] 3) ((*Date_ Naiss=26-AUG) (CLIENTS) [Nom_Client,Prenom_Client, Num_Tel] 4) (*Type_Tarif=’Nouveau’) (CASSETTES)[Num_k7, Titre_k7] 5) (Date_Ret is null)^(sysdate-Date_Loc>=2) (LOCATIONS*CLIENTS) [Nom_Client,Prenom_Client,Num_Tel,Date_Loc] 6) (*Solde_ Cpt>=20) (CLIENTS) [Nom_Client,Prenom_Client,Num_ Tel,Solde_ Cpt] Page : 13 TPBD I GROUPE 11 c) Questions formulées en « SQL » : 1) SELECT Titre_K7, Num_K7 FROM CASSETTES WHERE Nom_Act='Pitt'; 2) SELECT Clients.Nom_Client, RESERVATIONS.Num_Client, Date_Reserv FROM CLIENTS, RESERVATIONS, CASSETTES WHERE Date_Reserv=to date (‘31-JAN-97’) AND CLIENTS.Num_Client=RESERVATIONS.Num_Client AND RESERVATIONS.Num_K7=CASSETTES.Num_K7 AND CASSETTES.Titre_K7=‘Fled’; 3) SELECT Nom_Client, Prenom_Client, Num_Tel FROM CLIENTS WHERE Date_Naiss like '26-AUG-%%'; 4) SELECT Num_K7, Titre_K7 FROM CASSETTES WHERE Type_Tarif='Nouveau'; 5) SELECT Nom_Client, Prenom_Client, Num_Tel, Date_Loc FROM CLIENTS, LOCATIONS WHERE Date_Ret is null AND (to_date(sysdate)-Date_loc)>=2 AND CLIENTS.Num_Client=LOCATIONS.Num_Client; 6) SELECT Nom_Client, Prenom_Client, Num_Tel, Solde_Cpt FROM CLIENTS WHERE Solde_Cpt>=20; Page : 14 TPBD I GROUPE 11 d) Réponses obtenues : 1) TITRE_K7 NUM_K7 -----------------------------------------Kalifornia 6 Seven 9 2) NOM_CLIENT NUM_CLIENT DATE_RESE ------------------------------------------------------------------------------LIECHTI 4 31-JAN-97 3) NOM_CLIENT PRENOM_CLIENT NUM_TEL -----------------------------------------------------------------------------BRUN Francois 022/793.77.50 4) NUM_K7 TITRE_K7 -------------------------------------------2 Fled 3 Dernieres Heures a Denvers 4 Personnel et confidentiel 5 City Hall 7 Nixon 8 Showgirls 9 Seven 11 Les amants du nouveau monde 12 Une nuit en enfer 5) NOM_CLIENT PRENOM_CLIENT NUM_TEL DATE_LOC -----------------------------------------------------------------------------------------------------------CORBERY Evariste 022/796.91.08 03-FEB-97 6) NOM_CLIENT PRENOM_CLIENT NUM_TEL SOLDE_CPT ------------------------------------------------------------------------------------------------------------BERGER Vincent 022/757.29.73 20 GUESNET Ines 022/788.46.69 50 HEINRICHS Alexandre 022/784.04.58 20 Page : 15 TPBD I GROUPE 11 IX. VUE : But : Afficher les clients qui ont du retard dans la restitution de leur cassette. a) Vue formulée en « SQL » : CREATE VIEW En_Retard (Nom_Client, Prenom_Client, Num_Tel, Date_Loc) AS SELECT Nom_Client, Prenom_Client, Num_Tel, Date_Loc FROM CLIENTS, LOCATIONS WHERE Date_Ret is null AND (to_date(sysdate)-Date_loc)>=2 AND CLIENTS.Num_Client=LOCATIONS.Num_Client; RESULTAT : ---------------View Created. b) Affichage de la vue: SQL> SELECT * FROM En_Retard; NOM_CLIENT PRENOM_CLIENT NUM_TEL DATE_LOC -----------------------------------------------------------------------------------------------------------CORBERY Evariste 022/796.91.08 03-FEB-97 Page : 16 TPBD I GROUPE 11 X. MASQUE : INTERFACE CLIENTS POUR LA RECHERCHE DE CASSETTES VIDEOS TITRE du film recherché L LISTE DES FILMS CORRESPONDANTS A VOTRE ENTREE La Firme Les Incorruptibles Les Nerfs à vif Liaison fatale INFORMATIONS SUR LE FILM SELECTIONNE TITRE La Firme GENRE Thriller DUREE EN MIN. 154 REALISATEUR POLLACK Sydney DISTRIBUTEUR PARAMOUNT LIEU DE PROD. USA ANNEE PROD. 1993 ACTEUR PRINCIPAL CRUISE Tom FILMOGRAPHIE Zone de groupe 68 Mission impossible Entretien avec un Vampire Jour de tonnerre NB EXEMPL. DISPONIBLES 2 DESCRIPTION DU MASQUE : Notre but est de placer, dans notre vidéoclub, un ordinateur afin de permettre à nos clients de rechercher facilement une cassette vidéo. La recherche du film se fait par l’intermédiaire du champ « TITRE du film recherché ». Le client tape simplement la ou les premières lettres du film qu’il recherche. Dans notre exemple, pour afficher l’ensemble des films commençant par la lette « L », il suffit d’entrer cette même lettre. Le résultat suivant apparaît « La Firme, Les Incorruptibles, Les Nerfs à vif, Liaison fatale ». Le client n’a plus qu’à sélectionner le film désiré dans le champ « LISTE DES FILMS CORRESPONDANTS A VOTRE ENTREE » pour obtenir les renseignements disponibles au sujet de cette cassette. Page : 17