Si progetti lo schema Entità-Relazione di una base di dati di supporto alla gestione del diario delle lezioni di corsi universitari.
I corsi sono identificati da un codice, e caratterizzati dal nome e dall'anno accademico.
Per ciascun corso, va memorizzata la lista degli argomenti trattati.
Ogni argomento è caratterizzato dal nome e da un indice di difficoltà, ed è associato ad un unico corso.
Si noti che non possono esistere argomenti con lo stesso nome nell'ambito dello stesso corso.
Occorre tenere traccia di eventuali relazioni di propedeuticità tra argomenti: ossia, per ogni argomento, deve essere possibile indicare la lista di argomenti
(anche di corsi diversi) che sono ad esso propedeutici (si noti che un argomento può essere propedeutico ad numero qualunque di altri argomenti).
Ciascun argomento è caratterizzato anche dalla lista delle lezioni in cui viene trattato. Per ogni lezione, deve potersi indicare la data di svolgimento,
l'argomento trattato, il docente che l'ha tenuta, e la lista di eventuali dispense a disposizione degli studenti contenenti materiale didattico di supporto alla
comprensione della lezione stessa. Non possono esistere due lezioni svolte sullo stesso argomento nella stessa data. I docentisono identificati dal nome,
sono anche caratterizzati da un indirizzo e-mail, e possono svolgere più lezioni. Inoltre, per ogni docente, si deve memorizzare la cronologia delle afferenze,
ossia la lista dei dipartimenti di cui ha fatto parte nel tempo. A tal fine, si assuma che un docente possa aver afferito ad un numero qualunque di dipartimenti
(ma mai a due dipartimenti contemporaneamente), e si rappresenti la cronologia delle afferenze memorizzandone le variazioni (una variazione per un docente Doc è una
coppia , dove Data è la data a partire dalla quale il docente Doc ha afferito al dipartimento Dip).
Non possono avvenire nella stessa data più cambi di afferenza per uno stesso docente.
Ogni dispensa, oltre che dalla lezione alla quale si riferisce il materiale didattico in essa contenuta,
è caratterizzata dalla data in cui è stata pubblicata e dal docente che ne ha curato la stesura (si noti che un docente può essere stato curatore di un numero qualunque
di dispense). Non esistono dispense diverse con la stessa data di pubblicazione e curate dallo stesso docente.
Inoltre, le dispense possono essere di due tipi: slides o raccolta di riferimenti. Le slides sono caratterizzate da un formato e dall'url
al quale sono reperibili. Ogni raccolta di riferimenti contiene una lista di libri di cui è consigliata la consultazione.
I libri sono identificati dal titolo, ed altresì caratterizzati dal nome del primo autore e dalla casa editrice.
Un libro può essere presente in più raccolte di riferimenti, e per ogni raccolta di cui fa parte occorre riportare un indice che rappresenta
la rilevanza delle informazioni in esso contenute rispetto al resto del contenuto della dispensa.
Diagramma ER (Modello Concettuale) associato
Progettazione Logica
ARGOMENTI(\( \underline{corso, nome}\), ind)
ARGOMENTI[corso] \( \sqsubseteq_{FK} \) CORSO[cod]
DOCENTE(\( \underline{nome}\), e-mail)
VARIAZIONI(\( \underline{data, tipo}\), docente)
VARIAZIONI[docente] \( \sqsubseteq_{FK} \) DOCENTE[nome]
LEZIONE(\( \underline{corso, argomento, data}\), docente)
LEZIONE[docente] \( \sqsubseteq_{FK} \) DOCENTE[nome]
LEZIONE[corso, argomento] \( \sqsubseteq_{FK} \) ARGOMENTI[corso, nome]
DISPENSA(\( \underline{docente, data}\), corso, argomento, data_l)
DISPENSA[docente] \( \sqsubseteq_{FK} \) DOCENTE[nome]
DISPENSA[corso, argomento, data_l] \( \sqsubseteq_{FK} \) LEZIONE[corso, argomento, data]
SLIDES[docente, data] \( \sqsubseteq_{FK} \) DISPENSA[docente, data]
RIF(\( \underline{docente, data}\))
RIF[docente, data] \( \sqsubseteq_{FK} \) DISPENSA[docente, data]
LIBRO(\( \underline{tit}\), autore, casa)
RAA(\( \underline{corso1, nome1, corso2, nome2}\))
RAA[corso1, nome1] \( \sqsubseteq_{FK} \) ARGOMENTI[corso, nome]
RAA[corso2, nome2] \( \sqsubseteq_{FK} \) ARGOMENTI[corso, nome]
RRL(\( \underline{docente, data, titolo}\), ril)
RRL[docente, data] \( \sqsubseteq_{FK} \) DISPENSA[docente, data]
RRL[titolo] \( \sqsubseteq_{FK} \) LIBRO[tit]
Dal Corso di Laurea in Ingegneria Informatica - Basi di dati 17-02-2012