ePerTutti


Appunti, Tesina di, appunto informatica

TESTO DELL'ESERCIZIO DI LABORATORIO

ricerca 1
ricerca 2

TESTO DELL'ESERCIZIO DI LABORATORIO



Gestire il sistema di prenotazione di un teatro la cui struttura è basata su rappresentazione annuali, e ogni rappresentazione è ripetuta per un numero diverso di giorni ma mai più di una volta al giorno.

Il teatro è formato da mille posti e i posti sono divisi in venticinque file ognuna da quaranta poltrone (ogni fila si indica con una lettera e ogni poltrona con un numero).

Ogni prenotazione può essere relativa ad un numero di posti variabile.

Per simulare l'esercizio definire tre file da quattro poltrone l'una.

Il sistema deve.    Gestire l'introduzione e la cancellazione di uno spettacolo,

introdurre cancellare e modificare una prenotazione,

gestire la prenotazione.


Bisogna inoltre avere.   elenco dei prenotati ad uno spettacolo,

posti disponibili ad una rappresentazione.




FORNIRE


*Schema concettuale con chiavi e attributi,

*Descrizione degli attributi con indicazioni di chiavi principali a corrispondenze

*Normalizzazione

*Schema relazionale

*Allegare la descrizione delle tabelle

*Descrizione delle maschere

*Per ogni query indicare a cosa serve e produrre il codice in SQL sulla documentazione
























DESCRIZIONE DELLE ENTITA'


TABELLA DEGLI SPETTACOLI


ENTITA'

TIPO

DESCRIZIONE

CodSpett

Testo

Codice dello spettacolo più precisamente è la chiave primaria della tabella spettacoli

DataInizio

Data/ora

Data del primo giorno di rappresentazione dello spettacolo

DataFine

Data/ora

Data dell'ultimo giorno della rappresentazione dello spettacolo

Titolo

Testo

Titolo dello spettacolo


TABELLA DEI POSTI


ENTITA'

TIPO

DESCRIZIONE

Fila

Testo

Fila del posto è la una delle chiavi primarie della tabella posti

Posto

Numerico

Numero del posto è una delle chiavi primarie della tabella posti

Data

Data/ora

Data della prenotazione, è una delle chiavi primarie della tabella posti

Prenotato

Si/no

Dichiara se il posto è stato prenotato o meno

CodSpett

Testo

Riferito alla tabella spettacoli, serve per il collegamento e nella tabella posti è una chiave straniera

CodicePrenotazione

Contatore

Riferito alla tabella prenotazioni, serve per il collegamento e nella tabella posti è una chiave straniera.


TABELLA PRENOTAZIONI


ENTITA'

TIPO

DESCRIZIONE

CodicePrenotazione

Contatore

E' la chiave primaria e registra il codice della prenotazione

ato

Si/no

Dichiara se la prenotazione è stata pagata anticipatamente

Nominativo

Esto

Comprende il nome e il cognome del cliente

Tel

Testo

Recapito telefonico del cliente

NORMALIZZAZIONE


SPETTACOLI


Cod Spett

 
Data Inizio

Data Fine

Titolo



La normalizzazione è già in terza forma normale perché Data Inizio,Data Fine e Titolo dipendono tutti e tre direttamente dall'unica chiave, cioè Cod Spett, nel senso che:


Il titolo dello spettacolo dipende da un codice che gli viene assegnato

La data dell'inizio dello spettacolo dipende dal codice che caratterizza lo spettacolo

La data della fine dello spettacolo dipende dal codice che lo caratterizza.


POSTI


Fila

Posto

Data

 


Prenotato




La normalizzazione è in terza forma normale perché l'entità prenotato dipende direttamente da una fila in cui è caratterizzato un posto e dalla data della prenotazione


PRENOTAZIONI



Codice Prenotazioni

 
ato

Nominativo

Tel


La normalizzazione è in terza forma normale, le entità dipendono direttamente dal codice della prenotazione nel senso che.


Il nominativo del cliente è identificato da un codice di prenotazione

Il numero di telefono di un cliente dipende dal codice che riconosce il cliente

L'opzione se la prenotazione è stata pagata o meno si riconosce .dal codice della prenotazione.










ESEMPIO


Data inizio

Data fine

Titolo

Codice spett

Nominativo



Biancaneve

0001B

Pinco Pallino



Biancaneve

0001B

Pinco Pallino



Biancaneve

0001B

Pinco Pallino



Biancaneve

0001B

Tizio



Topolino

0012C

Pinco Pallino



Topolino

0012C

Verdi



Topolino

0012C

Verdi


Tel

Codice Prenotazione

ato

Fila

Posto

Data

Prenotato



A





A





A



SI



No

J





No

F





G





SI

G





SCHEMA RELAZIONALE



























SPIEGAZIONE DELLE RELAZIONI


Tra spettacoli e posti si ha una relazione 1 a N perché:


A uno spettacolo solo ad esempio "Biancaneve" corrispondono mille posti.

Mille posti sono disponibili per una sola rappresentazione come "Biancaneve"


Tra posti e prenotazione si ha una relazione N a 1 perché.


A un posto corrisponde una sola prenotazione

A una sola prenotazione possono essere riferiti più posti.




DESCRIZIONE DELLE TABELLE



TABELLA SPETACOLI


La tabella spettacoli serve per contenere le informazioni relative agli spettacoli che si svolgono nel corso di un anno, ogni spettacolo differente è caratterizzato da un proprio codice e da una propria durata.


TABELLA POSTI


La tabella posti è legata a quella degli spettacoli e delle prenotazione tramite delle chiavi straniere, definisce il posto prenotato per un determinato giorno e lo collega ad un determinato spettacolo ed ad una determinata persona.


TABELLA PRENOTAZIONI


La tabella prenotazioni riconosce la prenotazione di un determinato spettatore, riconosciuto da un suo codice e completo di informazioni.


DESCRIZIONE DELLE MASCHERE


MASCHERA SPETTACOLI


La maschera degli spettacoli registra il codice dello spettacolo munito di informazioni come il titolo dell'opera, la data di inizio e di fine della rappresentazione della stessa.


MASCHERA DEI POSTI


La maschera dei posti registra la fila in cui è situato il posto, il numero dello stesso, la data di prenotazione e se esso è stato prenotato o meno.


MASCHERA DELLE PRENOTAZIONI


Inserisce il codice della prenotazione con il nominativo dello spettatore, il suo recapito telefonico e se ha pagato anticipatamente o meno la prenotazione.


DESCRIZIONE DELLE QUERY


1 QUERY DEI POSTI LIBERI DI UN DETERMINATO GIORNO


La query serve per visualizzare tutti i posti non ancora prenotati in un determinato giorno.

L'utente deve inserire all'inizio dell'applicazione la data di cui si desidera sapere o meno la disponibilità dei posti.


2 POSTI OCCUPATI


La query serve per visualizzare tutti i posti che sono stati occupati.


3 PRENOTAZIONI DA PAGARE


La query visualizza tutte le prenotazioni che non sono state pagate anticipatamente da un determinato cliente.


4 POSTI PRENOTATI DA UN CLIENTE


La query visualizza il numero di posti che sono stati prenotati da un determinato cliente.


5 PRENOTAZIONI DI UN CLIENTE


La query indica il numero di prenotazioni fatte presso il teatro, durante un anno da un singolo cliente.


6CLIENTI & RECAPITO TELEFONICO


La query visualizza il nominativo del cliente e il suo recapito telefonico.























CODICE SQL


1 QUERY DEI POSTI LIBERI DI UN DETERMINATO GIORNO


SELECT Posti.Fila, Posti.Posto, Posti.Data

FROM Posti

WHERE (((Posti.Data)=[INSERISCI DATA]) AND ((Posti.Prenotato)=False));



2 QUERY DEI POSTI OCCUPATI


SELECT Prenotazioni.[Codice Prenotazione], Prenotazioni.Nominativo, Posti.Fila, Posti.Data, Posti.Posto

FROM Prenotazioni INNER JOIN Posti ON Prenotazioni.[Codice Prenotazione] = Posti.CodicePrenotazione

WHERE (((Posti.Prenotato)=True));


3 QUERY DELLE PRENOTAZIONI DA PAGARE


SELECT Prenotazioni.[Codice Prenotazione], Prenotazioni.Nominativo

FROM Prenotazioni

WHERE (((Prenotazioni.ato)=False))

ORDER BY Prenotazioni.[Codice Prenotazione];


4 POSTI PRENOTATI DA UN CLIENTE


SELECT Prenotazioni.Nominativo, Posti.CodicePrenotazione, Count(Posti.Prenotato) AS ConteggioDiPrenotato, Posti.Data

FROM Prenotazioni INNER JOIN Posti ON Prenotazioni.[Codice Prenotazione] = Posti.CodicePrenotazione

GROUP BY Prenotazioni.Nominativo, Posti.CodicePrenotazione, Posti.Data

HAVING (((Posti.Data)=[INSERISCI DATA]))

ORDER BY Prenotazioni.Nominativo;


5 PRENOTAZIONI DI UN CLIENTE


SELECT Prenotazioni.[Codice Prenotazione], Prenotazioni.Nominativo, Count(Posti.CodicePrenotazione) AS ConteggioDiCodicePrenotazione

FROM Prenotazioni INNER JOIN Posti ON Prenotazioni.[Codice Prenotazione] = Posti.CodicePrenotazione

GROUP BY Prenotazioni.[Codice Prenotazione], Prenotazioni.Nominativo

ORDER BY Prenotazioni.[Codice Prenotazione];


6 CLIENTI E RECAPITO TELEFONICO


SELECT Prenotazioni.[Codice Prenotazione], Prenotazioni.Nominativo, Prenotazioni.Tel

FROM Prenotazioni

GROUP BY Prenotazioni.[Codice Prenotazione], Prenotazioni.Nominativo, Prenotazioni.Tel

ORDER BY Prenotazioni.[Codice Prenotazione];





Privacy

© ePerTutti.com : tutti i diritti riservati
:::::
Condizioni Generali - Invia - Contatta