ESERCITAZIONE ER-1 -...
Transcript of ESERCITAZIONE ER-1 -...
Basi di dati
ESERCITAZIONE ER-1 Basi di Dati e di Conoscenza
a.a. 2014-15
Basi di dati
Esercizi (1)
• Discutere e rispondere alle seguenti domande:
• Discutere la nozione di indipendenza logica dei dati.
• Fornire TRE scenari applicativi dove l'uso di DBMS appare
NECESSARIO e confrontare tali casi con almeno DUE situazioni in cui l'uso di DBMS non e' UTILE.
2
Basi di dati
Esercizi (1a)
3. Discutere e confrontare tra loro le nozioni di schema logico, schema concettuale e schema esterno di una base di dati.
4. Discutere la architettura di un DBMS ed il ruolo svolto dalle singole componenti.
3
Basi di dati
Esercizio 2.2
(Schema ER) • Un DB universitario contiene informazioni riguardo ai
professori (identificati dal social security number, o SSN)
e corsi (identificati da courseid). I professori insegnano
corsi e tutte le situazioni seguenti riguardano la relazione
"Teaches".
4
Basi di dati
Basi di dati
Testo e Domanda
• Un DB universitario contiene informazioni riguardo ai professori
(identiifcati dal social security number, o SSN) e corsi (identificati
da courseid). I professori insegnano corsi e tutte le situazioni
seguenti riguardano la relazione "Teaches".
• Disegnare per ciascuna delle situazioni sottoelencate un
diagramma ER che la descriva. Non si assumano alcuni
vincoli se non quelli esplicitamente espressi per ciascun
caso.
5
Basi di dati
Situazione 1
• 1. I professori possono insegnare lo stesso corso in
diversi semestri ed ognuno di queste situazioni va
memorizzata separatamente nel DB.
6
Basi di dati
Situazione 1
• 1. I professori possono insegnare lo stesso corso in
diversi semestri ed ognuno di queste situazioni va
memorizzata separatamente nel DB.
7
Basi di dati
Situazione 2
• 2. Professori possono insegnare lo stesso corso in diversi
semestri ma va memorizzata nel DB solo la piu' recente
offerta didattica. (Si assuma tale condizione in tutto il
resto della domanda)
8
Basi di dati
Situazione 3
• 3. Ogni professore deve insegnare almeno un corso.
9
Basi di dati
Situazione 4
• 4. Ogni professore deve insegnare esattamente un
corso.
10
Basi di dati
Situazione 5
• 5. Ogni professore deve insegnare esattamente un corso
ed ogni corso deve essere insegnato da qualche
professore.
11
Basi di dati
Situazione 6
• 6. Supponendo che alcuni corsi possano essere insegnati
da un team di professori, ma sia possibile che nessun
professore del team insegni un corso
12
Basi di dati
Soluzioni
13
Basi di dati
Situazione 1
1. I professori possono insegnare lo stesso corso
in diversi semestri ed ognuno di queste situazioni
va memorizzata separatamente nel DB.
14
Basi di dati
Situazione 1
1. I professori possono insegnare lo stesso corso
in diversi semestri ed ognuno di queste situazioni
va memorizzata separatamente nel DB.
15
• Per l’ipotesi sono necessarie tre entita’ e tutte partecipano molte volte alla relazione
• Le tre chiavi forniranno la descrizione di tutte le situazioni diverse
Basi di dati
Situazione 2
2. Professori possono insegnare lo stesso corso in
diversi semestri ma solo la piu' recente offerta
didattica va memorizzata nel DB. (Si assuma tale
condizione in tutto il resto della domanda)
16
Basi di dati
Situazione 2
2.
17
• Qui il semestre puo’ diventare attributo poiche’ lo stesso corso insegnato da un certo professore non deve essere rappresentato piu’ volte nel DB
• Basta l’attributo unico “semester” • In “semester” e’ memorizzata
l’ultima erogazione del corso
Basi di dati
Situazione 3
3. Ogni professore deve insegnare almeno un
corso.
18
Basi di dati
Situazione 3
3. Ogni professore deve insegnare almeno un
corso.
19
• Partecipazione TOTALE
Basi di dati
Situazione 4
4. Ogni professore deve insegnare esattamente
un corso.
20
Basi di dati
Situazione 4
4. Ogni professore deve insegnare esattamente
un corso.
21
• Molti (professori) ad uno (corso) +
• Partecipazione TOTALE
Basi di dati
Situazione 5
5. Ogni professore deve insegnare esattamente
un corso ed ogni corso deve essere insegnato da
qualche professore.
22
Basi di dati
Situazione 5
5. Ogni professore deve insegnare esattamente
un corso ed ogni corso deve essere insegnato da
qualche professore.
23
• Molti (professori) ad uno (corso) +
• Partecipazioni TOTALI
Basi di dati
Situazione 6
6. Supponendo che alcuni corsi possano essere
insegnati da un team di professori ma sia
possibile che nessuno dei professori di un
professore del team insegni alcun corso
24
Basi di dati
Situazione 6
6. Supponendo che alcuni corsi possano essere
insegnati da un team di professori ma sia
possibile che nessuno dei professori di un team
insegni alcun corso
25
• Creazione della entita’ Group + • Il group serve a rappresentare i
team (anche se non insegnano alcun corso)
• La relazione teaches e’ ovviamente ancora molti a molti
Basi di dati
Testo e Domanda
Descrivere tramite uno schema ER il linguaggio ER stesso.
Il diagramma cioe’ dovrebbe descrivere un mondo (in un DB) che rappresenti tutti i possibili diagrammi ER dei singoli domini. Una istanza di quel DB dovrebbe consistere di tutti gli schemi ER validi per un certo insieme di Basi di Dati (e applicazioni)
26