ESERCITAZIONE ER-1 -...

26
Basi di dati ESERCITAZIONE ER-1 Basi di Dati e di Conoscenza a.a. 2014-15

Transcript of ESERCITAZIONE ER-1 -...

Page 1: ESERCITAZIONE ER-1 - art.uniroma2.itart.uniroma2.it/basili/didattica/DKBs1_14_15/003e_Primi_eserc_ER_2014_15.pdf · (Schema ER) •Un DB ... professore del team insegni alcun corso

Basi di dati

ESERCITAZIONE ER-1 Basi di Dati e di Conoscenza

a.a. 2014-15

Page 2: ESERCITAZIONE ER-1 - art.uniroma2.itart.uniroma2.it/basili/didattica/DKBs1_14_15/003e_Primi_eserc_ER_2014_15.pdf · (Schema ER) •Un DB ... professore del team insegni alcun corso

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

Page 3: ESERCITAZIONE ER-1 - art.uniroma2.itart.uniroma2.it/basili/didattica/DKBs1_14_15/003e_Primi_eserc_ER_2014_15.pdf · (Schema ER) •Un DB ... professore del team insegni alcun corso

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

Page 4: ESERCITAZIONE ER-1 - art.uniroma2.itart.uniroma2.it/basili/didattica/DKBs1_14_15/003e_Primi_eserc_ER_2014_15.pdf · (Schema ER) •Un DB ... professore del team insegni alcun corso

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

Page 5: ESERCITAZIONE ER-1 - art.uniroma2.itart.uniroma2.it/basili/didattica/DKBs1_14_15/003e_Primi_eserc_ER_2014_15.pdf · (Schema ER) •Un DB ... professore del team insegni alcun corso

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

Page 6: ESERCITAZIONE ER-1 - art.uniroma2.itart.uniroma2.it/basili/didattica/DKBs1_14_15/003e_Primi_eserc_ER_2014_15.pdf · (Schema ER) •Un DB ... professore del team insegni alcun corso

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

Page 7: ESERCITAZIONE ER-1 - art.uniroma2.itart.uniroma2.it/basili/didattica/DKBs1_14_15/003e_Primi_eserc_ER_2014_15.pdf · (Schema ER) •Un DB ... professore del team insegni alcun corso

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

Page 8: ESERCITAZIONE ER-1 - art.uniroma2.itart.uniroma2.it/basili/didattica/DKBs1_14_15/003e_Primi_eserc_ER_2014_15.pdf · (Schema ER) •Un DB ... professore del team insegni alcun corso

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

Page 9: ESERCITAZIONE ER-1 - art.uniroma2.itart.uniroma2.it/basili/didattica/DKBs1_14_15/003e_Primi_eserc_ER_2014_15.pdf · (Schema ER) •Un DB ... professore del team insegni alcun corso

Basi di dati

Situazione 3

• 3. Ogni professore deve insegnare almeno un corso.

9

Page 10: ESERCITAZIONE ER-1 - art.uniroma2.itart.uniroma2.it/basili/didattica/DKBs1_14_15/003e_Primi_eserc_ER_2014_15.pdf · (Schema ER) •Un DB ... professore del team insegni alcun corso

Basi di dati

Situazione 4

• 4. Ogni professore deve insegnare esattamente un

corso.

10

Page 11: ESERCITAZIONE ER-1 - art.uniroma2.itart.uniroma2.it/basili/didattica/DKBs1_14_15/003e_Primi_eserc_ER_2014_15.pdf · (Schema ER) •Un DB ... professore del team insegni alcun corso

Basi di dati

Situazione 5

• 5. Ogni professore deve insegnare esattamente un corso

ed ogni corso deve essere insegnato da qualche

professore.

11

Page 12: ESERCITAZIONE ER-1 - art.uniroma2.itart.uniroma2.it/basili/didattica/DKBs1_14_15/003e_Primi_eserc_ER_2014_15.pdf · (Schema ER) •Un DB ... professore del team insegni alcun corso

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

Page 13: ESERCITAZIONE ER-1 - art.uniroma2.itart.uniroma2.it/basili/didattica/DKBs1_14_15/003e_Primi_eserc_ER_2014_15.pdf · (Schema ER) •Un DB ... professore del team insegni alcun corso

Basi di dati

Soluzioni

13

Page 14: ESERCITAZIONE ER-1 - art.uniroma2.itart.uniroma2.it/basili/didattica/DKBs1_14_15/003e_Primi_eserc_ER_2014_15.pdf · (Schema ER) •Un DB ... professore del team insegni alcun corso

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

Page 15: ESERCITAZIONE ER-1 - art.uniroma2.itart.uniroma2.it/basili/didattica/DKBs1_14_15/003e_Primi_eserc_ER_2014_15.pdf · (Schema ER) •Un DB ... professore del team insegni alcun corso

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

Page 16: ESERCITAZIONE ER-1 - art.uniroma2.itart.uniroma2.it/basili/didattica/DKBs1_14_15/003e_Primi_eserc_ER_2014_15.pdf · (Schema ER) •Un DB ... professore del team insegni alcun corso

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

Page 17: ESERCITAZIONE ER-1 - art.uniroma2.itart.uniroma2.it/basili/didattica/DKBs1_14_15/003e_Primi_eserc_ER_2014_15.pdf · (Schema ER) •Un DB ... professore del team insegni alcun corso

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

Page 18: ESERCITAZIONE ER-1 - art.uniroma2.itart.uniroma2.it/basili/didattica/DKBs1_14_15/003e_Primi_eserc_ER_2014_15.pdf · (Schema ER) •Un DB ... professore del team insegni alcun corso

Basi di dati

Situazione 3

3. Ogni professore deve insegnare almeno un

corso.

18

Page 19: ESERCITAZIONE ER-1 - art.uniroma2.itart.uniroma2.it/basili/didattica/DKBs1_14_15/003e_Primi_eserc_ER_2014_15.pdf · (Schema ER) •Un DB ... professore del team insegni alcun corso

Basi di dati

Situazione 3

3. Ogni professore deve insegnare almeno un

corso.

19

• Partecipazione TOTALE

Page 20: ESERCITAZIONE ER-1 - art.uniroma2.itart.uniroma2.it/basili/didattica/DKBs1_14_15/003e_Primi_eserc_ER_2014_15.pdf · (Schema ER) •Un DB ... professore del team insegni alcun corso

Basi di dati

Situazione 4

4. Ogni professore deve insegnare esattamente

un corso.

20

Page 21: ESERCITAZIONE ER-1 - art.uniroma2.itart.uniroma2.it/basili/didattica/DKBs1_14_15/003e_Primi_eserc_ER_2014_15.pdf · (Schema ER) •Un DB ... professore del team insegni alcun corso

Basi di dati

Situazione 4

4. Ogni professore deve insegnare esattamente

un corso.

21

• Molti (professori) ad uno (corso) +

• Partecipazione TOTALE

Page 22: ESERCITAZIONE ER-1 - art.uniroma2.itart.uniroma2.it/basili/didattica/DKBs1_14_15/003e_Primi_eserc_ER_2014_15.pdf · (Schema ER) •Un DB ... professore del team insegni alcun corso

Basi di dati

Situazione 5

5. Ogni professore deve insegnare esattamente

un corso ed ogni corso deve essere insegnato da

qualche professore.

22

Page 23: ESERCITAZIONE ER-1 - art.uniroma2.itart.uniroma2.it/basili/didattica/DKBs1_14_15/003e_Primi_eserc_ER_2014_15.pdf · (Schema ER) •Un DB ... professore del team insegni alcun corso

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

Page 24: ESERCITAZIONE ER-1 - art.uniroma2.itart.uniroma2.it/basili/didattica/DKBs1_14_15/003e_Primi_eserc_ER_2014_15.pdf · (Schema ER) •Un DB ... professore del team insegni alcun corso

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

Page 25: ESERCITAZIONE ER-1 - art.uniroma2.itart.uniroma2.it/basili/didattica/DKBs1_14_15/003e_Primi_eserc_ER_2014_15.pdf · (Schema ER) •Un DB ... professore del team insegni alcun corso

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

Page 26: ESERCITAZIONE ER-1 - art.uniroma2.itart.uniroma2.it/basili/didattica/DKBs1_14_15/003e_Primi_eserc_ER_2014_15.pdf · (Schema ER) •Un DB ... professore del team insegni alcun corso

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