Esempi di Progettazione Logica/1
Basi di Dati
Prof. Alfredo Cuzzocrea
Università degli Studi di Trieste
Si progetti lo schema Entità-Relazione di una base di dati per il supporto alle attività di noleggio di una videoteca.
La base di dati memorizza informazioni su tutti i film rappresentati: un film è identificato da un codice, ha un titolo, un anno di produzione, una durata e un regista. Nella videoteca possono esistere diverse copie di ciascun film su diversi supporti (VHS, DVD, …); ogni copia è un video identificato da un codice ed associato ad una precisa posizione negli scaffali del locale.
Tutti gli utenti che noleggiano un video vengono registrati nel sistema, specificandone nome, cognome, indirizzo e numero di telefono.
Per ogni noleggio in corso il sistema mantiene informazioni su data e ora di acquisizione del video, sulla data prevista di riconsegna, sul video noleggiato e sull’utente responsabile del noleggio.
Al fine di fissare i prezzi di noleggio i film sono suddivisi in fasce; ogni
Specifiche della base di dati
fascia è identificata da un numero e ha una descrizione (“nuovi arrivi”,
“film d’epoca”, “film cult”, …).
Ad ogni fascia corrisponde un diverso prezzo di noleggio per ciascun supporto di rappresentazione (così i “nuovi arrivi” su DVD avranno un prezzo diverso dai “nuovi arrivi” su VHS, dai “film d’epoca” su DVD, ecc…).
Un utente della videoteca può diventare socio acquistando una tessera.
Esistono varie tipologie di tessera, ciascuna identificata dalla durata e caratterizzata da un prezzo e da una piano di sconto. Un piano di sconto consiste nell’applicazione di una diversa percentuale di sconto a ciascuna fascia di film da noleggiare (la stessa percentuale di sconto viene applicata a tutti i prezzi di noleggio previsti dalla fascia, quindi è indipendente dal supporto di rappresentazione).
Copia_di
Appartiene Prezzo
Noleggio Video
codice
posizione
Utente
cognome nome indirizzo tel codice
Noleggio
data_acq ora_acq
data_ric
Tipo Tessera
prezzo durata
Socio
data_inizio
Sconto
perc
prezzo
Supporto
nome
Fascia
#fascia descr 1:1
Su
0:n
0:n
0:n 1:1 1:n
0:1
0:n
1:n 0:n
1:1
Film
titolo codice
anno durata
regista
0:n
0:1
0:n
( ) ( ) ( )
( )
( )
( )
( )
( )
( )
( ) ( ) ( ) ( )
( )