Basi di Dati e Sistemi Informativi Esempi Esercizi
Basi di Dati e Sistemi Informativi Esempi & Esercizi Il Modello Relazionale Home page del corso: http: //www. cs. unibo. it/~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 Ax. B? Ø {(d, a), (d, b)} e’ una relazione valida su Ax. B Ø {(a, d), (e, 2), (c, 2)} e’ una relazione valida su Ax. B Ø {(b, 1), (b, 2), (b, 1)} e’ una relazione valida su Ax. B
Esercizio 0 Dati i seguenti insiemi: A= {a, b, c, d, e} B={d, 1, 2} Ø Qual e’ la cardinalita’ di Ax. B? 15 Ø {(d, a), (d, b)} e’ una relazione valida su Ax. B Ø {(a, d), (e, 2), (c, 2)} e’ una relazione valida su Ax. B Ø {(b, 1), (b, 2), (b, 1)} e’ una relazione valida su Ax. B
Esercizio 1 Ø Definire lo schema della base di dati riportata sotto. Quante istanze sono rappresentate? ARTICOLI 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
Esercizio 1 Ø Definire lo schema della base di dati riportata sotto. Quante istanze sono rappresentate? ARTICOLI Codice Autore Conferenza Sito Anno Pagine ARTICOLI(Codice, Autore, Conferenza, Sito, Anno, Pagine) #Instanze=#Righe della Relazione=7
Esercizio 1 Ø Utilizzo della notazione posizionale. ARTICOLI t t 2 t 3 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 t[Autore] ? ? ? t[Sito] ? ? ? t 3[Pagine] ? ? ?
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
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
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
Esercizio 2 (V/F) Data la relazione seguente: IMPIEGATI Codice Nome Cognom e Progetto Ufficio 123 Michele Rossi Io. E 1 A 124 Luca Bianchi Io. E 1 A 125 Antonio Rossi ARTEMIS 1 B 126 Giorgio Rossi ARTEMIS 1 B 127 Daniele Verdi NADIR 1 C 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.
Esercizio 2 (V/F) Data la relazione seguente: IMPIEGATI Codice Nome Cognom e Progetto Ufficio 123 Michele Rossi Io. E 1 A 124 Luca Bianchi Io. E 1 A 125 Antonio Rossi ARTEMIS 1 B 126 Giorgio Rossi ARTEMIS 1 B 127 Daniele Verdi NADIR 1 C 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.
Esercizio 2 (V/F) Data la relazione seguente: IMPIEGATI Codice Nome Cognom e Progetto Ufficio 123 Michele Rossi Io. E 1 A 124 Luca Bianchi Io. E 1 A NULL Antonio Rossi ARTEMIS 1 B 126 NULL Rossi ARTEMIS 1 B 127 NULL Verdi NADIR 1 C 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.
Esercizio 3 (V/F) Data la relazione seguente: IMPIEGATI Codice Nome Cognom e Progetto Ufficio 123 Michele Rossi Io. E 1 A 124 Luca Bianchi Io. E 1 A NULL Antonio Rossi ARTEMIS 1 B 126 NULL Rossi ARTEMIS 1 B 127 NULL Verdi NADIR 1 C 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.
Esercizio 4 (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 4 (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 5 Rappresentare nel modello relazionale 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)
Esercizio 5 VOLI Codice Dest. Orario Comp. Tipo AZ 123 Londra 12: 00 am AZ P AF 12 Parigi 13: 10 pm AF P AZ 125 Monaco 11: 40 am AZ A LH 124 Dresda 13: 30 LH A COMPAGNIA Codice Nome Num AZ Alitalia 2 LH Lufthansa 1 AF Air. France PASSEGGERI Codice Pren. Nome Cognom e Posto AZ 125 #121 Marco Di. Felice 34 D AZ 125 #124 Luca Rossi 12 A LH 124 #125 Michele Bianchi 5 B 1
Esercizio 5 Considerando lo schema relazionale mostrato nella slide precedente, indicare: Ø Chiavi primarie di ciascuna relazione. Ø Eventuali vincoli di integrita’ referenziale tra le tabelle.
Esercizio 5 VOLI Codice Dest. Orario Comp. Tipo AZ 123 Londra 12: 00 am AZ P AF 12 Parigi 13: 10 pm AF P AZ 125 Monaco 11: 40 am AZ A LH 124 Dresda 13: 30 LH A COMPAGNIA Codice Nome Num AZ Alitalia 2 LH Lufthansa 1 AF Air. France PASSEGGERI Codice Pren. Nome Cognom e Posto AZ 125 #121 Marco Di. Felice 34 D AZ 125 #124 Luca Rossi 12 A LH 124 #125 Michele Bianchi 5 B 1
Esercizio 6 Definire i vincoli di integrità referenziale nel seguente schema: IMPIEGATI (Matricola, Nome, Cognome, Età) PROGETTI(ID, Titolo, Budget) PARTECIPAZIONI(Impiegato, Progetto, Mesi. Uomo) Decidere se l’istanza mostrata (nella slide seguente) rispetta i vincoli definiti.
Esercizio 6 IMPIEGATI Matricola Nome Cognome Eta’ 3232 Marco Rossi 25 5565 Marco Verdi 34 7899 Michele Bianchi 54 PROGETTI PARTECIPAZIONE ID Titolo Budget Impiegato Progetto Mesi 23 PRIN 34 K 3232 23 12 45 ARTIS 34 K 3232 45 12 7899 23 6
Esercizio 6 IMPIEGATI Matricola Nome Cognome Eta’ 3232 Marco Rossi 25 5565 Marco Verdi 34 7899 Michele Bianchi 54 PROGETTI PARTECIPAZIONE ID Titolo Budget Impiegato Progetto Mesi 23 PRIN 34 K 3232 23 12 45 ARTIS 34 K 3232 50 12 4500 23 6
Esercizio 6 IMPIEGATI Matricola Nome Cognome Eta’ 3232 Marco Rossi 25 5565 Marco Verdi 34 7899 Michele Bianchi 54 PROGETTI PARTECIPAZIONE ID Titolo Budget Impiegato Progetto Mesi 23 PRIN 34 K 3232 23 12 45 ARTIS 34 K 3232 45 12 5565 45 6
Esercizio 7 LIBRO 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 AUTORE EDITORI Codice Nome Cognome Nascita Nome Sede 122 Philip Dick 1945 Fanucci Torino 145 Orson Wells 1920 Einaudi Roma 156 Orson Wells 1967 Feltrinelli Bologna
Esercizio 7 ØVincolo di integrita’ referenziale tra LIBRO. {Nome, Cognome} e la relazione AUTORE. Ø Vincolo di integrita’ referenziale tra LIBRO. Editore e la relazione EDITORI. Ø E’ possibile rimuovere la prima riga della relazione LIBRO senza violare i vincoli di integrità con la relazione EDITORI. Ø E’ possibile fare il viceversa?
Esercizio 7 ØVincolo di integrita’ referenziale tra LIBRO. {Nome, Cognome} e la relazione AUTORE. Ø Vincolo di integrita’ referenziale tra LIBRO. Editore e la relazione EDITORI. Ø E’ possibile rimuovere la prima riga della relazione LIBRO senza violare i vincoli di integrità con la relazione EDITORI. Ø E’ possibile fare il viceversa?
Esercizio 8 Si vogliono gestire i dati degli impiegati di un ufficio: ogni impiegato dispone di un codice identificativo, un nome, cognome, data di nascita e indirizzo di residenza. Si vogliono inoltre gestire le informazioni relative ai progetti sviluppati dagli impiegati; ogni progetto dispone di un nome (identificativo), una data di inizio, una di fine, ed un budget. Si vuole tenere traccia della partecipazione degli impiegati ai progetti. Ogni impiegato può partecipare ad un numero arbitrario di progetti. Ogni progetto può coinvolgere un numero arbitrario di impiegati. Progettare una base di dati nel modello relazionale sulla bas delle specifiche fornite.
Esercizio 9 Dato lo schema relazionale seguente: AGENZIA(Nome, Indirizzo, Telefono) CASA(Indirizzo, Nr. Interno, Cod. Proprietario, Prezzo) INSERZIONI(Indirizzo. Casa, Interno. Casa, Nome. Agenzia, Data. Inserzione) PROPRIETARIO(Codice, Nome, Cognome, Telefono) Q. 0 Identificare i vincoli di integrita’ referenziale.
Esercizio 9 Dato lo schema relazionale seguente: AGENZIA(Nome, Indirizzo, Telefono) CASA(Indirizzo, Nr. Interno, CAP, Cod. Proprietario, Prezzo) INSERZIONI(Indirizzo. Casa, Interno. Casa, Nome. Agenzia, Data. Inserzione) PROPRIETARIO(Codice, Nome, Cognome, Telefono) Q. 1 Le due notazioni sono equivalenti? Ø INSERZIONI. Indirizzo. Casa CASA. Indirizzo INSERZIONI. Interno. Casa CASA. Nr. Interno Ø INSERZIONI. {Indirizzo. Casa, Interno. Casa} CASA. {Indirizzo, Nr. Interno}
Esercizio 9 Dato lo schema relazionale seguente: AGENZIA(Nome, Indirizzo, Telefono) CASA(Indirizzo, Nr. Interno, CAP, Cod. Proprietario, Prezzo) INSERZIONI(Indirizzo. Casa, Interno. Casa, Nome. Agenzia, Data. Inserzione) PROPRIETARIO(Codice, Nome, Cognome, Telefono) Q. 2 Nella tabella CASA, il Cod. Proprietario puo’ essere NULL.
Esercizio 9 Dato lo schema relazionale seguente: AGENZIA(Nome, Indirizzo, Telefono) CASA(Indirizzo, Nr. Interno, CAP, Cod. Proprietario, Prezzo) INSERZIONI(Indirizzo. Casa, Interno. Casa, Nome. Agenzia, Data. Inserzione) 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).
Esercizio 9 Dato lo schema relazionale seguente: AGENZIA(Nome, Indirizzo, Telefono) CASA(Indirizzo, Nr. Interno, CAP, Cod. Proprietario, Prezzo) INSERZIONI(Indirizzo. Casa, Interno. Casa, Nome. Agenzia, Data. Inserzione) 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).
Esercizio 9 Dato lo schema relazionale seguente: AGENZIA(Nome, Indirizzo, Telefono) CASA(Indirizzo, Nr. Interno, CAP, Cod. Proprietario, Prezzo) INSERZIONI(Indirizzo. Casa, Interno. Casa, Nome. Agenzia, Data. Inserzione) 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).
Esercizio 10 Ø 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.
- Slides: 34