Esercitazione: Dalle Specifiche alla Modellazione...

35
Esercitazione: Dalle Specifiche alla Modellazione ER Roberto Basili a.a. 2011/2012

Transcript of Esercitazione: Dalle Specifiche alla Modellazione...

Page 1: Esercitazione: Dalle Specifiche alla Modellazione ERart.uniroma2.it/basili/didattica/DKBs1/000_dalla_specifica_all_er.pdf · Specifiche alla Modellazione ER Roberto Basili a.a. 2011/2012

Esercitazione: Dalle Specifiche alla Modellazione ER

Roberto Basili

a.a. 2011/2012

Page 2: Esercitazione: Dalle Specifiche alla Modellazione ERart.uniroma2.it/basili/didattica/DKBs1/000_dalla_specifica_all_er.pdf · Specifiche alla Modellazione ER Roberto Basili a.a. 2011/2012

Outline

!  Analisi delle specifiche

!  Estrazione di entità, attributi e relazioni

!  Creazione di uno schema relazionale

Page 3: Esercitazione: Dalle Specifiche alla Modellazione ERart.uniroma2.it/basili/didattica/DKBs1/000_dalla_specifica_all_er.pdf · Specifiche alla Modellazione ER Roberto Basili a.a. 2011/2012

Esempio: un DB musicale

Una casa discografica decide di organizzare in

un archivio i dati sui musicisti che suonano nei

dischi di sua produzione.

Page 4: Esercitazione: Dalle Specifiche alla Modellazione ERart.uniroma2.it/basili/didattica/DKBs1/000_dalla_specifica_all_er.pdf · Specifiche alla Modellazione ER Roberto Basili a.a. 2011/2012

Esempio: un DB musicale (2)

Ogni brano ha un autore. Per ogni album è importante registrare

la data di deposito (copyright date) e il formato (come ad es. CD o

MC). Ogni album ha esattamente un musicista che svolge il ruolo

di produttore. Nessuna canzone può apparire in più di un album,

Una canzone può essere suonata da uno o più musicisti."

Ogni musicista deve essere registrato con i suoi dati anagrafici

(nome, cognome, indirizzo e ssn). Allo scopo di rintracciare i

musicisti all’ occorrenza, devono essere rappresentati i loro

(anche molteplici) numeri telefonici. Gli strumenti suonati da

ciascun musicista vanno registrati con le loro chiavi."

SPECIFICHE:

Page 5: Esercitazione: Dalle Specifiche alla Modellazione ERart.uniroma2.it/basili/didattica/DKBs1/000_dalla_specifica_all_er.pdf · Specifiche alla Modellazione ER Roberto Basili a.a. 2011/2012

Esempio: un DB musicale (2)

musicisti."

Ogni musicista deve essere registrato con i suoi dati anagrafici

(nome, cognome, indirizzo e ssn). Allo scopo di rintracciare i

musicisti all’ occorrenza, devono essere rappresentati i loro

(anche molteplici) numeri telefonici. Gli strumenti suonati da

ciascun musicista vanno registrati con le loro chiavi."

Ogni brano ha un solo autore. Per ogni album è importante

registrare la data di deposito (copyright date) e il formato (come

ad es. CD o MC). Ogni album ha esattamente un musicista che

svolge il ruolo di produttore. Nessuna canzone può apparire in più

di un album, Una canzone può essere suonata da uno o più

SPECIFICHE: ENTITA’

Page 6: Esercitazione: Dalle Specifiche alla Modellazione ERart.uniroma2.it/basili/didattica/DKBs1/000_dalla_specifica_all_er.pdf · Specifiche alla Modellazione ER Roberto Basili a.a. 2011/2012

Esempio: un DB musicale (2)

musicisti."

Ogni musicista deve essere registrato con i suoi dati anagrafici

(nome, cognome, indirizzo e ssn). Allo scopo di rintracciare i

musicisti all’ occorrenza, devono essere rappresentati i loro

(anche molteplici) numeri telefonici. Gli strumenti suonati da

ciascun musicista vanno registrati con le loro chiavi."

Ogni brano ha un solo autore. Per ogni album è importante

registrare la data di deposito (copyright date) e il formato (come

ad es. CD o MC). Ogni album ha esattamente un musicista che

svolge il ruolo di produttore. Nessuna canzone può apparire in più

di un album, Una canzone può essere suonata da uno o più

SPECIFICHE: ATTRIBUTI

Page 7: Esercitazione: Dalle Specifiche alla Modellazione ERart.uniroma2.it/basili/didattica/DKBs1/000_dalla_specifica_all_er.pdf · Specifiche alla Modellazione ER Roberto Basili a.a. 2011/2012

Esempio: un DB musicale (2)

musicisti."

Ogni musicista deve essere registrato con i suoi dati anagrafici

(nome, cognome, indirizzo e ssn). Allo scopo di rintracciare i

musicisti all occorrenza, devono essere rappresentati i loro

(anche molteplici) numeri telefonici. Gli strumenti suonati da

ciascun musicista vanno registrati con le loro chiavi."

Ogni brano ha un solo autore. Per ogni album è importante

registrare la data di deposito (copyright date) e il formato (come

ad es. CD o MC). Ogni album ha esattamente un musicista che

svolge il ruolo di produttore. Nessuna canzone può apparire in

più di un album, Una canzone può essere suonata da uno o più

SPECIFICHE: RELAZIONI

Page 8: Esercitazione: Dalle Specifiche alla Modellazione ERart.uniroma2.it/basili/didattica/DKBs1/000_dalla_specifica_all_er.pdf · Specifiche alla Modellazione ER Roberto Basili a.a. 2011/2012

Esempio: un DB musicale (2)

più musicisti."

Ogni musicista deve essere registrato con i suoi dati anagrafici

(nome, cognome, indirizzo e ssn). Allo scopo di rintracciare i

musicisti all occorrenza, devono essere rappresentati i loro

(anche molteplici) numeri telefonici. Gli strumenti suonati da

ciascun musicista vanno registrati con le loro chiavi."

Ogni brano ha un solo autore. Per ogni album è importante

registrare la data di deposito (copyright date) e il formato (come

ad es. CD o MC). Ogni album ha esattamente un musicista che

svolge il ruolo di produttore. Nessuna canzone può apparire in

più di un album, Una canzone può essere suonata da uno o

SPECIFICHE: VINCOLI

Page 9: Esercitazione: Dalle Specifiche alla Modellazione ERart.uniroma2.it/basili/didattica/DKBs1/000_dalla_specifica_all_er.pdf · Specifiche alla Modellazione ER Roberto Basili a.a. 2011/2012

Esempio: un DB musicale (3)

Progettare la base dati in modo che risponda alle seguenti query:"

-  Quali recapiti ha un musicista X"

-  Quali canzoni sono presenti nellʼalbum X"

-  Quali artisti hanno suonato nel brano X"

-  Quali artisti hanno suonato nellʼalbum X"

SPECIFICHE:

Page 10: Esercitazione: Dalle Specifiche alla Modellazione ERart.uniroma2.it/basili/didattica/DKBs1/000_dalla_specifica_all_er.pdf · Specifiche alla Modellazione ER Roberto Basili a.a. 2011/2012

Analisi delle specifiche

Entità:

• Album

• Musicista

• Telefono

• Canzone (Brano)

• Strumento

Relazioni:

• Suona Strumento (Musicista – Strumento)

• Suona Canzone (Musicista – Canzone)

• Produce (Musicista – Album)

• Essere Autore (Musicista – Canzone)

• Ha Recapito (Musicista – Telefono)

• Contiene (Album – Canzone)

• Compare (Musicista in Album)!

Page 11: Esercitazione: Dalle Specifiche alla Modellazione ERart.uniroma2.it/basili/didattica/DKBs1/000_dalla_specifica_all_er.pdf · Specifiche alla Modellazione ER Roberto Basili a.a. 2011/2012

Analisi delle specifiche

Entità:

• Album

• Musicista

• Telefono

• Canzone (Brano)

• Strumento

Relazioni:

• Suona Strumento (Musicista – Strumento)

• Suona Canzone (Musicista – Canzone)

• Produce (Musicista – Album)

• Essere Autore (Musicista – Canzone)

• Ha Recapito (Musicista – Telefono)

• Contiene (Album – Canzone)

• Compare (Musicista in Album)!

Page 12: Esercitazione: Dalle Specifiche alla Modellazione ERart.uniroma2.it/basili/didattica/DKBs1/000_dalla_specifica_all_er.pdf · Specifiche alla Modellazione ER Roberto Basili a.a. 2011/2012
Page 13: Esercitazione: Dalle Specifiche alla Modellazione ERart.uniroma2.it/basili/didattica/DKBs1/000_dalla_specifica_all_er.pdf · Specifiche alla Modellazione ER Roberto Basili a.a. 2011/2012

Analisi delle specifiche

Entità:

• Album

• Musicista

• Telefono

• Canzone (Brano)

• Strumento

Relazioni:

• Suona_Strumento(Musicista – Strumento)

• Suona_Canzone(Musicista – Canzone)

• Produce(Musicista – Album)

• Essere_Autore(Musicista – Canzone)

• Ha Recapito(Musicista – Telefono)

• Contiene(Album – Canzone)

• Compare(Musicista in Album)!

Page 14: Esercitazione: Dalle Specifiche alla Modellazione ERart.uniroma2.it/basili/didattica/DKBs1/000_dalla_specifica_all_er.pdf · Specifiche alla Modellazione ER Roberto Basili a.a. 2011/2012
Page 15: Esercitazione: Dalle Specifiche alla Modellazione ERart.uniroma2.it/basili/didattica/DKBs1/000_dalla_specifica_all_er.pdf · Specifiche alla Modellazione ER Roberto Basili a.a. 2011/2012

Analisi delle specifiche

Entità:

• Album

• Musicista

• Telefono

• Canzone (Brano)

• Strumento

Relazioni:

• Suona Strumento (Musicista – Strumento)

• Suona Canzone (Musicista – Canzone)

• Produce (Musicista – Album)

• Essere Autore (Musicista – Canzone) • Ha Recapito (Musicista – Telefono)

• Contiene (Album – Canzone)

• Compare (Musicista in Album)!

Page 16: Esercitazione: Dalle Specifiche alla Modellazione ERart.uniroma2.it/basili/didattica/DKBs1/000_dalla_specifica_all_er.pdf · Specifiche alla Modellazione ER Roberto Basili a.a. 2011/2012
Page 17: Esercitazione: Dalle Specifiche alla Modellazione ERart.uniroma2.it/basili/didattica/DKBs1/000_dalla_specifica_all_er.pdf · Specifiche alla Modellazione ER Roberto Basili a.a. 2011/2012

Analisi delle specifiche

Entità:

• Album

• Musicista

• Telefono

• Canzone (Brano)

• Strumento

Relazioni:

• Suona Strumento (Musicista – Strumento)

• Suona Canzone (Musicista – Canzone)

• Produce (Musicista – Album)

• Essere Autore (Musicista – Canzone) • Ha Recapito (Musicista – Telefono)

• Contiene (Album – Canzone)

• Compare (Musicista in Album)!

Page 18: Esercitazione: Dalle Specifiche alla Modellazione ERart.uniroma2.it/basili/didattica/DKBs1/000_dalla_specifica_all_er.pdf · Specifiche alla Modellazione ER Roberto Basili a.a. 2011/2012
Page 19: Esercitazione: Dalle Specifiche alla Modellazione ERart.uniroma2.it/basili/didattica/DKBs1/000_dalla_specifica_all_er.pdf · Specifiche alla Modellazione ER Roberto Basili a.a. 2011/2012

Analisi delle specifiche

Entità:

• Album

• Musicista

• Telefono

• Canzone (Brano)

• Strumento

Relazioni:

• Suona Strumento (Musicista – Strumento)

• Suona Canzone (Musicista – Canzone)

• Produce (Musicista – Album)

• Essere Autore (Musicista – Canzone) • Ha Recapito (Musicista – Telefono)

• Contiene (Album – Canzone)

• Compare (Musicista in Album)!

Page 20: Esercitazione: Dalle Specifiche alla Modellazione ERart.uniroma2.it/basili/didattica/DKBs1/000_dalla_specifica_all_er.pdf · Specifiche alla Modellazione ER Roberto Basili a.a. 2011/2012
Page 21: Esercitazione: Dalle Specifiche alla Modellazione ERart.uniroma2.it/basili/didattica/DKBs1/000_dalla_specifica_all_er.pdf · Specifiche alla Modellazione ER Roberto Basili a.a. 2011/2012

Analisi delle specifiche

Entità:

• Album

• Musicista

• Telefono

• Canzone (Brano)

• Strumento

Relazioni:

• Suona Strumento (Musicista – Strumento)

• Suona Canzone (Musicista – Canzone)

• Produce (Musicista – Album)

• Essere Autore (Musicista – Canzone) • Ha Recapito (Musicista – Telefono)

• Contiene (Album – Canzone)

• Compare (Musicista in Album)!

Page 22: Esercitazione: Dalle Specifiche alla Modellazione ERart.uniroma2.it/basili/didattica/DKBs1/000_dalla_specifica_all_er.pdf · Specifiche alla Modellazione ER Roberto Basili a.a. 2011/2012
Page 23: Esercitazione: Dalle Specifiche alla Modellazione ERart.uniroma2.it/basili/didattica/DKBs1/000_dalla_specifica_all_er.pdf · Specifiche alla Modellazione ER Roberto Basili a.a. 2011/2012

Analisi delle specifiche

Entità:

• Album

• Musicista

• Telefono

• Canzone (Brano)

• Strumento

Relazioni:

• Suona Strumento (Musicista – Strumento)

• Suona Canzone (Musicista – Canzone)

• Produce (Musicista – Album)

• Essere Autore (Musicista – Canzone) • Ha Recapito (Musicista – Telefono)

• Contiene (Album – Canzone)

• Compare (Musicista in Album)!

Page 24: Esercitazione: Dalle Specifiche alla Modellazione ERart.uniroma2.it/basili/didattica/DKBs1/000_dalla_specifica_all_er.pdf · Specifiche alla Modellazione ER Roberto Basili a.a. 2011/2012
Page 25: Esercitazione: Dalle Specifiche alla Modellazione ERart.uniroma2.it/basili/didattica/DKBs1/000_dalla_specifica_all_er.pdf · Specifiche alla Modellazione ER Roberto Basili a.a. 2011/2012

Analisi delle specifiche

Entità:

• Album

• Musicista

• Telefono

• Canzone (Brano)

• Strumento

Relazioni:

• Suona Strumento (Musicista – Strumento)

• Suona Canzone (Musicista – Canzone)

• Produce (Musicista – Album)

• Essere Autore (Musicista – Canzone) • Ha Recapito (Musicista – Telefono)

• Contiene (Album – Canzone)

• Compare (Musicista in Album)!

Page 26: Esercitazione: Dalle Specifiche alla Modellazione ERart.uniroma2.it/basili/didattica/DKBs1/000_dalla_specifica_all_er.pdf · Specifiche alla Modellazione ER Roberto Basili a.a. 2011/2012
Page 27: Esercitazione: Dalle Specifiche alla Modellazione ERart.uniroma2.it/basili/didattica/DKBs1/000_dalla_specifica_all_er.pdf · Specifiche alla Modellazione ER Roberto Basili a.a. 2011/2012

Come si trasforma in uno schema logico?

Ogni Entità è una tabella:

1- Musicista (ssn,indirizzo, nome, cognome) 2- Telefono (num_telefono) 3- Album (aid, titolo, formato, copyrightDate) 4- Canzone (cid, titolo) 5- Strumento (iid, nome, chiave)

Page 28: Esercitazione: Dalle Specifiche alla Modellazione ERart.uniroma2.it/basili/didattica/DKBs1/000_dalla_specifica_all_er.pdf · Specifiche alla Modellazione ER Roberto Basili a.a. 2011/2012
Page 29: Esercitazione: Dalle Specifiche alla Modellazione ERart.uniroma2.it/basili/didattica/DKBs1/000_dalla_specifica_all_er.pdf · Specifiche alla Modellazione ER Roberto Basili a.a. 2011/2012

Analizziamo le relazioni per raffinare le tabelle…

Ha_Recapito (Musicista, Telefono) 1– Molti con partecipazione (univoca per “Musicista”) ?- Ha_Recapito(num_telefono, ssn) 1- Musicista(ssn,indirizzo, nome, cognome) 2- Telefono(num_telefono) Poichè è unico il musicista di un telefono posso risparmiarmi la tabella e aggiungere un campo nella tabella Telefono 1- Telefono(num_telefono, ssn)

Page 30: Esercitazione: Dalle Specifiche alla Modellazione ERart.uniroma2.it/basili/didattica/DKBs1/000_dalla_specifica_all_er.pdf · Specifiche alla Modellazione ER Roberto Basili a.a. 2011/2012

Analizziamo le relazioni per raffinare le tabelle…

Lo stesso si puo’ dire per le relazioni: 1- Produce(Musicista, Album) 2- è_Autore(Musicista, Canzone) 3- contiene(Album,Canzone) 1- Musicista (ssn,indirizzo, nome, cognome) 2- Album (aid, titolo, formato, copyrightDate, ssn) 4- Canzone (cid, titolo, aid, ssn)

Page 31: Esercitazione: Dalle Specifiche alla Modellazione ERart.uniroma2.it/basili/didattica/DKBs1/000_dalla_specifica_all_er.pdf · Specifiche alla Modellazione ER Roberto Basili a.a. 2011/2012
Page 32: Esercitazione: Dalle Specifiche alla Modellazione ERart.uniroma2.it/basili/didattica/DKBs1/000_dalla_specifica_all_er.pdf · Specifiche alla Modellazione ER Roberto Basili a.a. 2011/2012

Analizziamo le relazioni per raffinare le tabelle…

Compare_In (Muicista, Album) Molti – Molti con partecipazione (per “Album”) ?- Compare_In (ssn, aid) 1- Musicista (ssn,indirizzo, nome, cognome, num_tel) 2- Album (aid, titolo, formato, copyrightDate,cid) Non possiamo fare altro, la coppia (ssn, aid) sono chiavi univoche per rappresentare i musicisti che partecipano ad un album 1- Compare_In(ssn, aid)

Page 33: Esercitazione: Dalle Specifiche alla Modellazione ERart.uniroma2.it/basili/didattica/DKBs1/000_dalla_specifica_all_er.pdf · Specifiche alla Modellazione ER Roberto Basili a.a. 2011/2012

Analizziamo le relazioni per raffinare le tabelle…

Lo stesso si puo’ dire per le relazioni: 1- Suona_in (Musicista, Canzone) 2- Suona_canzone (Musicista, Strumento) Diventano due tabelle: 1- Suona_in (ssn, cid) 2- Suona_canzone (ssn, iid)

Page 34: Esercitazione: Dalle Specifiche alla Modellazione ERart.uniroma2.it/basili/didattica/DKBs1/000_dalla_specifica_all_er.pdf · Specifiche alla Modellazione ER Roberto Basili a.a. 2011/2012

Cosa succede se cambio la seguente specifica?

Ogni musicista deve essere registrato con i suoi dati

anagrafici (nome, cognome, indirizzo e ssn). Allo

scopo di rintracciare i musicisti all’ occorrenza,

devono essere rappresentati i loro (anche molteplici)

numeri telefonici.

Allo scopo di rintracciare i musicisti all’ occorrenza,

devono essere rappresentati i loro indirizzi ed i loro

(anche molteplici) numeri telefonici. Ogni indirizzo ha

almeno un numero telefonico associato.

in

Page 35: Esercitazione: Dalle Specifiche alla Modellazione ERart.uniroma2.it/basili/didattica/DKBs1/000_dalla_specifica_all_er.pdf · Specifiche alla Modellazione ER Roberto Basili a.a. 2011/2012

Esercizi

!  Si modifichi lo schema ER per vincolarlo ai casi in cui: (1) Si vuole registrare con quale strumento un

musicista suona in una canzone

(2) Il servizio viene offerto a più case

discografiche. Si deve quindi tenere traccia

anche quale casa discografica ha prodotto un

determinato album. Un album può essere

prodotto solo da una casa discografica.

!  Si definisca lo schema ER del linguaggio ER