Basi di Dati e Sistemi Informativi Esercitazione: Il Modello Relazionale Home page del corso:...

38
Basi di Dati e Sistemi Informativi Esercitazione: Il Modello Relazionale Home page del corso: http://www.cs.unibo.it/~difelice/dbsi/

Transcript of Basi di Dati e Sistemi Informativi Esercitazione: Il Modello Relazionale Home page del corso:...

Page 1: Basi di Dati e Sistemi Informativi Esercitazione: Il Modello Relazionale Home page del corso: difelice/dbsi

Basi di Dati e Sistemi

Informativi

Esercitazione:Il Modello Relazionale

Home page del corso:

http://www.cs.unibo.it/~difelice/dbsi/

Page 2: Basi di Dati e Sistemi Informativi Esercitazione: Il Modello Relazionale Home page del corso: difelice/dbsi

Esercizio 0

Dati i seguenti insiemi:A= {a,b,c,d,e} B={d,1,2}

Qual e’ la cardinalita’ del prodotto cartesiano AxB?

{(d,a),(d,b)} e’ una relazione valida su AxB

{(a,d),(e,2),(c,2)} e’ una relazione valida su AxB

{(b,1),(b,2),(b,1)} e’ una relazione valida su AxB

Page 3: Basi di Dati e Sistemi Informativi Esercitazione: Il Modello Relazionale Home page del corso: difelice/dbsi

Esercizio 0

Dati i seguenti insiemi:A= {a,b,c,d,e} B={d,1,2}

Qual e’ la cardinalita’ di AxB? 15

{(d,a),(d,b)} e’ una relazione valida su AxB

{(a,d),(e,2),(c,2)} e’ una relazione valida su AxB

{(b,1),(b,2),(b,1)} e’ una relazione valida su AxB

Page 4: Basi di Dati e Sistemi Informativi Esercitazione: Il Modello Relazionale Home page del corso: difelice/dbsi

Esercizio 1

Definire lo schema della base di dati riportata sotto. Quante istanze sono rappresentate?

Codice Autore

Conferenza

Sito Anno Pagine

101212 Marco ICC Bologna 2012 7

101214 Matteo INFOCOM Las Vegas

2011 8

11212 Luca INFOCOM Las Vegas

2011 8

11212 Luigi INFOCOM Las Vegas

2011 8

101214 Matteo INFOCOM Las Vegas

2011 8

101244 Luca MOBICOM NY 2008 10

101233 Carlo DYSPAN Londra 2012 5

ARTICOLI

Page 5: Basi di Dati e Sistemi Informativi Esercitazione: Il Modello Relazionale Home page del corso: difelice/dbsi

Esercizio 1

Definire lo schema della base di dati riportata sotto. Quante istanze sono rappresentate?

Codice Autore

Conferenza

Sito Anno Pagine

ARTICOLI

ARTICOLI(Codice,Autore,Conferenza,Sito,Anno,Pagine)

Page 6: Basi di Dati e Sistemi Informativi Esercitazione: Il Modello Relazionale Home page del corso: difelice/dbsi

Esercizio 1

Definire lo schema della base di dati riportata sotto. Quante istanze sono rappresentate?

Codice Autore

Conferenza

Sito Anno Pagine

101212 Marco ICC Bologna 2012 7

101214 Matteo

INFOCOM Las Vegas

2011 8

11212 Luca INFOCOM Las Vegas

2011 18

ARTICOLI

tt2

t3

t[Autore] ???t[Sito] ???t3[Pagine] ???

Page 7: Basi di Dati e Sistemi Informativi Esercitazione: Il Modello Relazionale Home page del corso: difelice/dbsi

Esercizio 1.a

Indicare se la tabella seguente costituisce una relazione valida nel modello relazionale.

Codice Autore

Conferenza

Sito Anno Pagine

101212 Marco ICC Bologna 2012 7

101214 Matteo INFOCOM Las Vegas

2011 8

11212 Luca INFOCOM Las Vegas

2011 8

11212 Luigi INFOCOM Las Vegas

2011 8

101214 Matteo INFOCOM Las Vegas

2011 8

101244 Luca MOBICOM NY 2008 10

101233 Carlo DYSPAN Londra 2012 5

Page 8: Basi di Dati e Sistemi Informativi Esercitazione: Il Modello Relazionale Home page del corso: difelice/dbsi

Esercizio 1.b

Indicare se la tabella seguente costituisce una relazione valida nel modello relazionale.

Codice Autore

Conferenza

Sito Anno Pagine

101212 Marco ICC Bologna 2012 7

101214 Matteo INFOCOM Las Vegas

2011 8

11212 Luca INFOCOM Las Vegas

2011 8

11212 Luigi INFOCOM Las Vegas

2011 8

NULL Matteo INFOCOM Las Vegas

2011 8

101244 Luca MOBICOM NY 2008 10

101233 Carlo DYSPAN Londra 2012 5

Page 9: Basi di Dati e Sistemi Informativi Esercitazione: Il Modello Relazionale Home page del corso: difelice/dbsi

Esercizio 1.c

Indicare se la tabella seguente costituisce una relazione valida nel modello relazionale.

Codice Autore

Conferenza

Sito Anno Pagine

101212 Marco ICC Bologna 2012 7

NULL Matteo INFOCOM Las Vegas

2011 8

11212 Luca INFOCOM Las Vegas

2011 8

11212 Luigi INFOCOM Las Vegas

2011 8

NULL Matteo INFOCOM Las Vegas

2011 8

101244 Luca MOBICOM NY 2008 10

101233 Carlo DYSPAN Londra 2012 5

Page 10: Basi di Dati e Sistemi Informativi Esercitazione: Il Modello Relazionale Home page del corso: difelice/dbsi

Esercizio 2.a

Rappresentare per mezzo di una o piu’ relazioni le informazioni relative al traffico aereo giornaliero di un aeroporto, in particolare:

- I voli in ingresso (nr. volo, destinazione, ora decollo, codice compagnia)

- I voli in uscita (nr. volo, partenza, ora atterraggio, codice compagnia)

- Le informazioni sui passeggeri di ciascun volo (nome, cognome, nr. prenotazione, posto).

- Le compagnie aeree (codice, nome, nr di voli forniti)

Page 11: Basi di Dati e Sistemi Informativi Esercitazione: Il Modello Relazionale Home page del corso: difelice/dbsi

Esercizio 2.a

Codice

Dest. Orario Comp.

Tipo

AZ123 Londra 12:00am AZ P

AF12 Parigi 13:10pm AF P

AZ125 Monaco

11:40am AZ A

LH124 Dresda 13:30 LH A

Codice Pren. Nome Cognome

Posto

AZ125 #121 Marco DiFelice 34D

AZ125 #124 Luca Rossi 12A

LH124 #125 Michele Bianchi 5B

Codice

Nome Num

AZ Alitalia 2

LH Lufthansa

1

AF AirFrance

1

VOLI

PASSEGGERI

COMPAGNIA

Page 12: Basi di Dati e Sistemi Informativi Esercitazione: Il Modello Relazionale Home page del corso: difelice/dbsi

Esercizio 3 (V/F)

Data la relazione seguente:

Codice Nome Cognome

Progetto

Ufficio

123 Michele Rossi IoE 1A

124 Luca Bianchi IoE 1A

125 Antonio Rossi ARTEMIS 1B

126 Giorgio Rossi ARTEMIS 1B

127 Daniele Verdi NADIR 1C

IMPIEGATI

Q. La tripla {Cognome, Progetto, Ufficio} e’ una superchiave.Q. L’attributo Nome e’ una chiave a livello di istanza.Q. L’attributo Nome e’ una chiave a livello di schema.

Page 13: Basi di Dati e Sistemi Informativi Esercitazione: Il Modello Relazionale Home page del corso: difelice/dbsi

Esercizio 3 (V/F)

Data la relazione seguente:

Codice Nome Cognome

Progetto

Ufficio

123 Michele Rossi IoE 1A

124 Luca Bianchi IoE 1A

125 Antonio Rossi ARTEMIS 1B

126 Giorgio Rossi ARTEMIS 1B

127 Daniele Verdi NADIR 1C

IMPIEGATI

Q. La tripla {Cognome, Progetto, Ufficio} e’ una superchiave.Q. L’attributo Nome e’ una chiave a livello di istanza.Q. L’attributo Nome e’ una chiave a livello di schema.

Page 14: Basi di Dati e Sistemi Informativi Esercitazione: Il Modello Relazionale Home page del corso: difelice/dbsi

Esercizio 3 (V/F)

Data la relazione seguente:

Codice Nome Cognome

Progetto

Ufficio

123 Michele Rossi IoE 1A

124 Luca Bianchi IoE 1A

NULL Antonio Rossi ARTEMIS 1B

126 NULL Rossi ARTEMIS 1B

127 NULL Verdi NADIR 1C

IMPIEGATI

Q. L’attributo Codice e’ una chiave primaria.Q. L’attributo Nome e’ una chiave a livello di istanza.Q. Gli attributi {Cognome,Nome} sono una chiave primaria.

Page 15: Basi di Dati e Sistemi Informativi Esercitazione: Il Modello Relazionale Home page del corso: difelice/dbsi

Esercizio 3 (V/F)

Data la relazione seguente:

Codice Nome Cognome

Progetto

Ufficio

123 Michele Rossi IoE 1A

124 Luca Bianchi IoE 1A

NULL Antonio Rossi ARTEMIS 1B

126 NULL Rossi ARTEMIS 1B

127 NULL Verdi NADIR 1C

IMPIEGATI

Q. L’attributo Codice e’ una chiave primaria.Q. L’attributo Nome e’ una chiave a livello di istanza.Q. Gli attributi {Cognome,Nome} sono una chiave primaria.

Page 16: Basi di Dati e Sistemi Informativi Esercitazione: Il Modello Relazionale Home page del corso: difelice/dbsi

Esercizio 4

Considerando lo schema relazionale dell’esercizio 2.a, indicare:

Chiavi primarie di ciascuna relazione.

Eventuali vincoli di integrita’ referenziale tra le tabelle.

Page 17: Basi di Dati e Sistemi Informativi Esercitazione: Il Modello Relazionale Home page del corso: difelice/dbsi

Esercizio 4

Codice

Dest. Orario Comp.

Tipo

AZ123 Londra 12:00am AZ P

AF12 Parigi 13:10pm AF P

AZ125 Monaco

11:40am AZ A

LH124 Dresda 13:30 LH A

Codice Pren. Nome Cognome

Posto

AZ125 #121 Marco DiFelice 34D

AZ125 #124 Luca Rossi 12A

LH124 #125 Michele Bianchi 5B

Codice

Nome Num

AZ Alitalia 2

LH Lufthansa

1

AF AirFrance

1

VOLI

PASSEGGERI

COMPAGNIA

Page 18: Basi di Dati e Sistemi Informativi Esercitazione: Il Modello Relazionale Home page del corso: difelice/dbsi

Esercizio 5 (V/F) Ogni relazione ha almeno una chiave. Ogni relazione ha esattamente una chiave. Ogni attributo appartiene al massimo ad una

chiave. Possono esistere attributi che non appartengono

a nessuna chiave. Una chiave puo’ essere sottoinsieme di

un’altra chiave. Puo’ esistere una chiave che coinvolge tutti gli

attributi. Puo’ succedere che esistano piu’ chiavi ed una

di esse coinvolga tutti gli attributi. Ogni relazione ha almeno una superchiave. Ogni relazione ha esattamente una

superchiave. Puo’ succedere che esistano piu’ superchiavi

ed una di esse coinvolga tutti gli attributi.

ESERCIZIO 2.9 del LIBRO di TESTO

Page 19: Basi di Dati e Sistemi Informativi Esercitazione: Il Modello Relazionale Home page del corso: difelice/dbsi

Esercizio 5 (V/F) Ogni relazione ha almeno una chiave. Ogni relazione ha esattamente una chiave. Ogni attributo appartiene al massimo ad una

chiave. Possono esistere attributi che non appartengono

a nessuna chiave. Una chiave puo’ essere sottoinsieme di

un’altra chiave. Puo’ esistere una chiave che coinvolge tutti gli

attributi. Puo’ succedere che esistano piu’ chiavi ed una

di esse coinvolga tutti gli attributi. Ogni relazione ha almeno una superchiave. Ogni relazione ha esattamente una

superchiave. Puo’ succedere che esistano piu’ superchiavi

ed una di esse coinvolga tutti gli attributi.

ESERCIZIO 2.9 del LIBRO di TESTO

Page 20: Basi di Dati e Sistemi Informativi Esercitazione: Il Modello Relazionale Home page del corso: difelice/dbsi

Esercizio 6

Dato lo schema relazionale seguente:

AGENZIA(Nome, Indirizzo, Telefono)CASA(Indirizzo,NrInterno,CAP,CodProprietario, Prezzo)INSERZIONI(IndirizzoCasa, InternoCasa, NomeAgenzia, DataInserzione)PROPRIETARIO(Codice, Nome, Cognome, Telefono)

Q.0 Identificare i vincoli di integrita’ referenziale.

Page 21: Basi di Dati e Sistemi Informativi Esercitazione: Il Modello Relazionale Home page del corso: difelice/dbsi

Esercizio 6

Dato lo schema relazionale seguente:

AGENZIA(Nome, Indirizzo, Telefono)CASA(Indirizzo,NrInterno,CAP,CodProprietario, Prezzo)INSERZIONI(IndirizzoCasa, InternoCasa, NomeAgenzia, DataInserzione)PROPRIETARIO(Codice, Nome, Cognome, Telefono)

Q.1 Le due notazioni sono equivalenti: INSERZIONI.IndirizzoCasa CASA.Indirizzo INSERZIONI.InternoCasa CASA.NrInterno INSERZIONI.{IndirizzoCasa,InternoCasa}

CASA.{Indirizzo,NrInterno}

Page 22: Basi di Dati e Sistemi Informativi Esercitazione: Il Modello Relazionale Home page del corso: difelice/dbsi

Esercizio 6

Dato lo schema relazionale seguente:

AGENZIA(Nome, Indirizzo, Telefono)CASA(Indirizzo,NrInterno,CAP,CodProprietario, Prezzo)INSERZIONI(IndirizzoCasa, InternoCasa, NomeAgenzia, DataInserzione)PROPRIETARIO(Codice, Nome, Cognome, Telefono)

Q.2 Nella tabella CASA, il CodProprietario puo’ NON essere specificato (senza violare i vincoli di integrita’ referenziale).

Page 23: Basi di Dati e Sistemi Informativi Esercitazione: Il Modello Relazionale Home page del corso: difelice/dbsi

Esercizio 6

Dato lo schema relazionale seguente:

AGENZIA(Nome, Indirizzo, Telefono)CASA(Indirizzo,NrInterno,CAP,CodProprietario, Prezzo)INSERZIONI(IndirizzoCasa, InternoCasa, NomeAgenzia, DataInserzione)PROPRIETARIO(Codice, Nome, Cognome, Telefono)

Q.3 E’ possibile che la relazione CASA contenga 0 instanze, e la relazione PROPRIETARIO contenga 5 istanze (senza violare i vincoli di integrita’ referenziale).

Page 24: Basi di Dati e Sistemi Informativi Esercitazione: Il Modello Relazionale Home page del corso: difelice/dbsi

Esercizio 6

Dato lo schema relazionale seguente:

AGENZIA(Nome, Indirizzo, Telefono)CASA(Indirizzo,NrInterno,CAP,CodProprietario, Prezzo)INSERZIONI(IndirizzoCasa, InternoCasa, NomeAgenzia, DataInserzione)PROPRIETARIO(Codice, Nome, Cognome, Telefono)

Q.4 E’ possibile che la relazione INSERZIONI contenga 10 instanze, e la relazione CASA contenga 5 istanze (senza violare i vincoli di integrita’ referenziale).

Page 25: Basi di Dati e Sistemi Informativi Esercitazione: Il Modello Relazionale Home page del corso: difelice/dbsi

Esercizio 6

Dato lo schema relazionale seguente:

AGENZIA(Nome, Indirizzo, Telefono)CASA(Indirizzo,NrInterno,CAP,CodProprietario, Prezzo)INSERZIONI(IndirizzoCasa, InternoCasa, NomeAgenzia, DataInserzione)PROPRIETARIO(Codice, Nome, Cognome, Telefono)

Q.5 E’ possibile che la relazione INSERZIONI contenga 10 instanze, e la relazione CASA contenga 0 istanze (senza violare i vincoli di integrita’ referenziale).

Page 26: Basi di Dati e Sistemi Informativi Esercitazione: Il Modello Relazionale Home page del corso: difelice/dbsi

Esercizio 7

Titolo NomeAutore

Cognome

Autore

Anno Editore Edizione

Intelligenza

Meccanica

Alan Turing 1994 Bollati 1

Ubik Philip Dick 1969 Fanucci 1

MinorityReport

Philip Dick 1970 Fanucci 1

Ubik Philip Dick 1979 Feltrinelli 2

I.A. NULL NULL 1994 Einaudi 4

Andromeda

Michael Crichton 1969 Feltrinelli 2

J. Park Michael Crichton 1973 Einaudi 4

NULL Orson Wells 1968 NULL 5

LIBRO

Page 27: Basi di Dati e Sistemi Informativi Esercitazione: Il Modello Relazionale Home page del corso: difelice/dbsi

Esercizio 7

{Titolo, Autore} e’ una superchiave di LIBRO.{Titolo, Autore} e’ una chiave di LIBRO.{Titolo, Edizione} e’ una superchiave di LIBRO.{Titolo, Edizione} e’ una chiave di LIBRO.{Titolo, Anno, Edizione} e’ una superchiave. {Titolo, Anno, Edizione} e’ una chiave di LIBRO.{Titolo, Edizione} e’ una chiave primaria.{Titolo, Anno, Edizione} e’ una chiave primaria.{Anno, Edizione} e’ una chiave primaria a livello di schema.

Page 28: Basi di Dati e Sistemi Informativi Esercitazione: Il Modello Relazionale Home page del corso: difelice/dbsi

Esercizio 7

{Titolo, Autore} e’ una superchiave di LIBRO.{Titolo, Autore} e’ una chiave di LIBRO.{Titolo, Edizione} e’ una superchiave di LIBRO.{Titolo, Edizione} e’ una chiave di LIBRO.{Titolo, Anno, Edizione} e’ una superchiave. {Titolo, Anno, Edizione} e’ una chiave di LIBRO.{Titolo, Edizione} e’ una chiave primaria.{Titolo, Anno, Edizione} e’ una chiave primaria.{Anno, Edizione} e’ una chiave primaria a livello di schema.

Page 29: Basi di Dati e Sistemi Informativi Esercitazione: Il Modello Relazionale Home page del corso: difelice/dbsi

Esercizio 7.b

Titolo Nome Cognome

Anno Editore Edizione

Ubik Philip Dick 1969 Fanucci 1

I.A. Micheal Crichton 1994 Einaudi 4

Andromeda

Michael Crichton 1969 Feltrinelli 2

J. Park Michael Crichton 1973 Einaudi 4

La guerra…

Orson Wells 1968 Einaudi 5

LIBRO

AUTORE

Codice Nome Cognome

Anno

122 Philip Dick 1945

145 Orson Wells 1920

156 Orson Wells 1967

EDITORI

Nome Sede

Fanucci Torino

Einaudi Roma

Feltrinelli Bologna

Page 30: Basi di Dati e Sistemi Informativi Esercitazione: Il Modello Relazionale Home page del corso: difelice/dbsi

Esercizio 7.bVincolo di integrita’ referenziale tra LIBRO.{Nome, Cognome} e la relazione AUTORE.

Vincolo di integrita’ referenziale tra LIBRO.Editoree la relazione EDITORI.

E’ possibile rimuovere la prima riga della relazione LIBRO senza violare i vincoli di integrita’ con la relazione EDITORI.

E’ possibile fare il viceversa?

Page 31: Basi di Dati e Sistemi Informativi Esercitazione: Il Modello Relazionale Home page del corso: difelice/dbsi

Esercizio 7.bVincolo di integrita’ referenziale tra LIBRO.{Nome, Cognome} e la relazione AUTORE.

Vincolo di integrita’ referenziale tra LIBRO.Editoree la relazione EDITORI.

E’ possibile rimuovere la prima riga della relazione LIBRO senza violare i vincoli di integrita’ con la relazione EDITORI.

E’ possibile fare il viceversa?

Page 32: Basi di Dati e Sistemi Informativi Esercitazione: Il Modello Relazionale Home page del corso: difelice/dbsi

Esercizio 8

Dato lo schema relazionale seguente:

GIOCATORE (Codice, Nome, Cognome, Data Nascita)SQUADRA(Nome, Sede, Anno, Presidente) FORMAZIONE(CodGiocatore,NomeSquadra)PARTITA(Squadra1, Squadra2, Data, Punti1, Punti2)ARBITRO(Codice, Nome, Cognome, Data Nascita)DESIGNAZIONE(Squadra1, Squadra2, Data,NomeArbitro)

Indicare i possibili vincoli di integrita’ referenziale.

Page 33: Basi di Dati e Sistemi Informativi Esercitazione: Il Modello Relazionale Home page del corso: difelice/dbsi

Esercizio 8

Un giocatore puo’ far parte di piu’ squadre.

Ogni partita ha sempre e solo 1 arbitro designato.

Ogni partita ha almeno un arbitro designato.

Ogni partita ha 0 o piu’ arbitri designati.

Una squadra puo’ avere piu’ di 1 presidente.

Data.PARTITA puo’ essere non specificato.

Page 34: Basi di Dati e Sistemi Informativi Esercitazione: Il Modello Relazionale Home page del corso: difelice/dbsi

Esercizio 8

Un giocatore puo’ far parte di piu’ squadre.

Ogni partita ha sempre e solo 1 arbitro designato.

Ogni partita ha almeno un arbitro designato.

Ogni partita ha 0 o piu’ arbitri designati.

Una squadra puo’ avere piu’ di 1 presidente.

Data.PARTITA puo’ essere non specificato.

Page 35: Basi di Dati e Sistemi Informativi Esercitazione: Il Modello Relazionale Home page del corso: difelice/dbsi

Esercizio 8

Verificare se l’istanza rispetta lo schema relazionale.

Codice Nome Cognome

Nascita

1234 Antonio

Rossi NULL

4567 Antonio

NULL 10/05/1970

6777 Antonio

Rossi NULL

GIOCATORE

Nome Sede Anno Pres.

Virtus Bologna

1967 NULL

Pol. Rossi Bologna

1987 Giorgi

Pol. Verdi NULL 1999 NULL

SQUADRA

NomeG NomeS

1234 NULL

4567 Virtus

4567 Pol.Rossi

FORMAZIONE

S1 S2 Data

P1

P2

Pol.Gialli

Pol.Rossi

10/03/2012

60 89

PARTITA

Page 36: Basi di Dati e Sistemi Informativi Esercitazione: Il Modello Relazionale Home page del corso: difelice/dbsi

Esercizio 9

Rappresentare nel modello relazionale le informazioni relative ad i pazienti e medici di una clinica ospedaliera. Ogni medico ha un codice identificativo, nome, cognome, e codice del reparto in cui opera. Ogni paziente e’ identificato da un codice reparto e dal #di letto nel reparto, e dispone di nome, cognome, data di nascita. A ciascun paziente possone essere associate piu’ cure. La cura e’ composta dal nome di un farmaco, ha una data di inizio e fine, ed e’ somministrata da un medico. Ogni medico puo’ somministrare al max 1 cura per lo stesso paziente. Ogni reparto ha un codice, un nome, ed un # di letti disponibili.

Page 37: Basi di Dati e Sistemi Informativi Esercitazione: Il Modello Relazionale Home page del corso: difelice/dbsi

Esercizio 9

MEDICO (Codice, Nome, Cognome, CodReparto)PAZIENTE (CodReparto, NrLetto, Nome, Cognome, Data)CURA (CodPaziente, LettoPaziente, CodMedico, FarmacoId,DataInizio, DataFine)REPARTO(Codice, Nome, NumeroLetti)

Vincoli di integrita’:

CURA.{CodPaziente, LettoPaziente} PAZIENTECURA.{CodMedico} MEDICOMEDICO.Reparto REPARTOPAZIENTE.CodReparto REPARTO

Page 38: Basi di Dati e Sistemi Informativi Esercitazione: Il Modello Relazionale Home page del corso: difelice/dbsi

Esercizio 9

Q.1 Che accade se rimuovo la frase seguente dalla specifiche:

“Ogni medico puo’ somministrare al max 1 cura per lo stesso paziente”

Q2 Estensione dello schema precedente: ogni cura puo’ essere composta da un numero arbitrario di farmaci. Di ogni farmaco si vogliono rappresentare le seguenti informazioni: codice, nome, casa farmaceutica.