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