Basi di Dati e Sistemi Informativi Esempi & Esercizi Il Modello Relazionale Home page del corso:
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
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
Esercizio 1 Definire lo schema della base di dati riportata sotto. Quante istanze sono rappresentate? CodiceAutoreConferenzaSitoAnnoPagine MarcoICCBologna MatteoINFOCOMLas Vegas LucaINFOCOMLas Vegas LuigiINFOCOMLas Vegas MatteoINFOCOMLas Vegas LucaMOBICOMNY CarloDYSPANLondra20125 ARTICOLI
Esercizio 1 Definire lo schema della base di dati riportata sotto. Quante istanze sono rappresentate? CodiceAutoreConferenzaSitoAnnoPagine ARTICOLI ARTICOLI (Codice,Autore,Conferenza,Sito,Anno,Pagine) #Instanze =#Righe della Relazione= 7
Esercizio 1 Utilizzo della notazione posizionale. CodiceAutoreConferenzaSitoAnnoPagine MarcoICCBologna MatteoINFOCOMLas Vegas LucaINFOCOMLas Vegas ARTICOLI t t2t2 t3t3 t[Autore] ??? t[Sito] ??? t 3 [Pagine] ???
Esercizio 1.a Indicare se la tabella seguente costituisce una relazione valida nel modello relazionale. CodiceAutoreConferenzaSitoAnnoPagine MarcoICCBologna MatteoINFOCOMLas Vegas LucaINFOCOMLas Vegas LuigiINFOCOMLas Vegas MatteoINFOCOMLas Vegas LucaMOBICOMNY CarloDYSPANLondra20125
Esercizio 1.b Indicare se la tabella seguente costituisce una relazione valida nel modello relazionale. CodiceAutoreConferenzaSitoAnnoPagine MarcoICCBologna MatteoINFOCOMLas Vegas LucaINFOCOMLas Vegas LuigiINFOCOMLas Vegas20118 NULL MatteoINFOCOMLas Vegas LucaMOBICOMNY CarloDYSPANLondra20125
Esercizio 1.c Indicare se la tabella seguente costituisce una relazione valida nel modello relazionale. CodiceAutoreConferenzaSitoAnnoPagine MarcoICCBologna20127 NULL MatteoINFOCOMLas Vegas LucaINFOCOMLas Vegas LuigiINFOCOMLas Vegas20118 NULL MatteoINFOCOMLas Vegas LucaMOBICOMNY CarloDYSPANLondra20125
Esercizio 2 (V/F) Data la relazione seguente: CodiceNomeCognomeProgettoUfficio 123MicheleRossiIoE1A 124LucaBianchiIoE1A 125AntonioRossiARTEMIS1B 126GiorgioRossiARTEMIS1B 127DanieleVerdiNADIR1C 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.
Esercizio 2 (V/F) Data la relazione seguente: CodiceNomeCognomeProgettoUfficio 123MicheleRossiIoE1A 124LucaBianchiIoE1A 125AntonioRossiARTEMIS1B 126GiorgioRossiARTEMIS1B 127DanieleVerdiNADIR1C 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.
Esercizio 2 (V/F) Data la relazione seguente: CodiceNomeCognomeProgettoUfficio 123MicheleRossiIoE1A 124LucaBianchiIoE1A NULLAntonioRossiARTEMIS1B 126NULLRossiARTEMIS1B 127NULLVerdiNADIR1C 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.
Esercizio 3 (V/F) Data la relazione seguente: CodiceNomeCognomeProgettoUfficio 123MicheleRossiIoE1A 124LucaBianchiIoE1A NULLAntonioRossiARTEMIS1B 126NULLRossiARTEMIS1B 127NULLVerdiNADIR1C 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.
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 CodiceDest.OrarioComp.Tipo AZ123Londra12:00amAZP AF12Parigi13:10pmAFP AZ125Monaco11:40amAZA LH124Dresda13:30LHA CodicePren.NomeCognomePosto AZ125#121MarcoDiFelice34D AZ125#124LucaRossi12A LH124#125MicheleBianchi5B CodiceNomeNum AZAlitalia2 LHLufthansa1 AFAirFrance1 VOLI PASSEGGERI COMPAGNIA
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 CodiceDest.OrarioComp.Tipo AZ123Londra12:00amAZP AF12Parigi13:10pmAFP AZ125Monaco11:40amAZA LH124Dresda13:30LHA CodicePren.NomeCognomePosto AZ125#121MarcoDiFelice34D AZ125#124LucaRossi12A LH124#125MicheleBianchi5B CodiceNomeNum AZAlitalia2 LHLufthansa1 AFAirFrance1 VOLI PASSEGGERI COMPAGNIA
Esercizio 6 Definire i vincoli di integrità referenziale nel seguente schema: IMPIEGATI (Matricola, Nome, Cognome, Età) PROGETTI(ID, Titolo, Budget) PARTECIPAZIONI(Impiegato, Progetto,MesiUomo) Decidere se l’istanza mostrata (nella slide seguente) rispetta i vincoli definiti.
Esercizio 6 MatricolaNomeCognomeEta’ 3232MarcoRossi MarcoVerdi MicheleBianchi54 IMPIEGATI IDTitoloBudget 23PRIN34K 45ARTIS34K PROGETTI ImpiegatoProgettoMesi PARTECIPAZIONE
Esercizio 6 MatricolaNomeCognomeEta’ 3232MarcoRossi MarcoVerdi MicheleBianchi54 IMPIEGATI IDTitoloBudget 23PRIN34K 45ARTIS34K PROGETTI ImpiegatoProgettoMesi PARTECIPAZIONE
Esercizio 6 MatricolaNomeCognomeEta’ 3232MarcoRossi MarcoVerdi MicheleBianchi54 IMPIEGATI IDTitoloBudget 23PRIN34K 45ARTIS34K PROGETTI ImpiegatoProgettoMesi PARTECIPAZIONE
Esercizio 7 TitoloNomeCognomeAnnoEditoreEdizione UbikPhilipDick1969Fanucci1 I.A.MichealCrichton1994Einaudi4 AndromedaMichaelCrichton1969Feltrinelli2 J. ParkMichaelCrichton1973Einaudi4 La guerra…OrsonWells1968Einaudi5 LIBRO AUTORE CodiceNomeCognomeNascita 122PhilipDick OrsonWells OrsonWells1967 EDITORI NomeSede FanucciTorino EinaudiRoma FeltrinelliBologna
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 base delle specifiche fornite.
Esercizio 9 Dato lo schema relazionale seguente: AGENZIA(Nome, Indirizzo, Telefono) CASA(Indirizzo,NrInterno,CodProprietario, Prezzo) INSERZIONI(IndirizzoCasa, InternoCasa, NomeAgenzia, DataInserzione) 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,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}
Esercizio 9 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’ essere NULL.
Esercizio 9 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).
Esercizio 9 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).
Esercizio 9 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).
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.