Gestire i prestiti di un negozio di video

Categorie

Si vuole automatizzare la gestione del prestito di videocassette in un negozio. Nel database si devono organizzare i dati relativi alle videocassette, ai clienti del negozio, ai fornitori di cassette e ai prestiti effettuati.

La gestione deve comprendere:

l’inserimento di nuove cassette nel catalogo;

l’inserimento, la modifica o la cancellazione dei dati riguardanti i clienti e i fornitori;

l’elenco dei clienti o dei fornitori;

il controllo della disponibilità in negozio di una cassetta richiesta da un cliente;

il servizio di prestito e di restituzione;

la stampa del catalogo delle cassette (eventualmente anche per oggetto);

la statistica sulle preferenze dei clienti nel prestito delle cassette.

Entità

Sono necessarie le seguenti entità:

Cassette: rappresenta le videocassette da noleggiare; identificate da un codice dal titolo dal numero di copie dalla durata

Clienti: rappresenta i clienti del negozio; identificati da il numero di tessera il nome cognome indirizzo e telefono, si suppone che quando un cliente richiede la tessera effettui un noleggio di una videocassetta.

Fornitori: rappresenta i fornitori da cui si acquistano le videocassette; identificati dalla partita iva dal nome indirizzo e telefono.

Noleggio: rappresenta i prestiti e le restituzioni delle videocassette identificati da un codice dalla data di noleggio e dalla data di restituzione.

Soggetto: rappresenta i generi o le categorie dei film e consente di raggruppare le videocassette e di gestire le statistiche sulle preferenze dei clienti. Identificati dal genere

Associazioni

Tra genere e cassetta esiste una associazione (Appartiene) N:M supponendo che un film può appartenere a generi diversi.

Regola di lettura:

A ogni genere deve Appartenere una o più cassette (considerando che nel database esistano solo generi che corrispondono a cassette presenti)

A ogni cassetta può appartenere uno o più generi

Tra Fornitore e Cassetta esiste una associazione (Fornisce) 1:N 

Regola di lettura:

Ogni fornitore deve fornire una o più cassette 

Ogni cassetta deve essere Fornita da un fornitore

Tra Cliente e Noleggio esiste un’associazione (Effettua) 1:N

Regola di lettura:

Ogni cliente deve Effettuare uno o più noleggi 

Ogni Noleggio deve essere effettuato da un Cliente

Tra noleggio e cassetta esiste un associazione(Noleggiata) N :M

Regola di lettura:

A ogni noleggio deve essere  Noleggiata  una o più cassetta 

Ogni cassetta  può essere noleggiata in uno o più noleggi (possono esistere cassette che nono sono mai state noleggiate)

Schema Relazionale

Ogni entità si trasforma in una relazione 

Clienti(codice(PK),cognome,nome,via,civico,città,telefono)

Fornitori(piva(PK),nome,via,civico,città,telefono)

Generi(nome(PK))

Cassette(codice(PK),titolo,copie,durata)

Noleggi(Id(PK),dataInizio,DataFine)

Passiamo alle associazioni:

Le associazioni Noleggiata e appartiene sono due associazioni molti a molti e diventano due relazioni le cui chiavi sono le chiavi primarie dell’entità coinvolte

Noleggiate(codiceCassetta(pk),codiceNoleggio(pk))

Appartiene(genere(pk),codice(PK))

 

Tra Fornitori e Cassette esiste una associazione uno a molti la chiave di fornitori diventa chiave esterna di cassette

Cassette(codice(PK),fornitore(FK),titolo,copie,durata)

Tra Clienti e Noleggi esiste una associazione uno a molti la chiave di Clienti diventa chiave esterna di Noleggi

Noleggi(Id(PK),cliente(FK),dataInizio,DataFine)

 

Relazione Attributi Chiave Formato Dim Null Vincolo  
Clienti codice pk numerico auto incremento   no di chiave  
cognome   testo 20 no    
nome   testo 20 no    
via   testo 20 no    
numero   Numerico        
citta   testo 20 no    
telefono   testo 10 no    
Fornitori piva pk testo 11 no di chiave  
nome   testo 16 no    
via   testo 16 no    
civico   numero   no    
città   testo 16 no    
telefono   testo 10 no    
Generi nome PK testo 16 no chiave  
Cassette codice PK numero auto incremento     chiave  
titolo   testo 20 no    
copie   numero   no maggiore di zero  
durata   numero   no maggiore di zero  
fornitore FK testo 11 no Fornitori.piva  
Noleggi id pk numero auto incremento   no chiave  
dataInizio   data   no default data attuale  
dataFine   data   no maggiore di dataInizio  
cliente FK numero   no Clienti.codice  
Noleggiate codiceCassetta PK numero   no Cassette.codice  
codiceNoleggio PK numero   no Noleggi.id  
Appartiene genere PK testo 16 no Generi.nome  
  codice PK numero   no Cassette.codice  

 

 

 

 

 

Please follow and like us:

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

Wordpress Social Share Plugin powered by Ultimatelysocial
error

Enjoy this blog? Please spread the word :)

%d blogger hanno fatto clic su Mi Piace per questo: