320 likes | 482 Views
Corso di Basi di Dati. Progettazione di Database: Esercizi Home page del corso : http:// www.cs.unibo.it /~ difelice / dbsi /. Esercizio 0. Si vuole realizzare una base di dati per la gestione di un’agenzia immobiliare
E N D
Corso di Basidi Dati Progettazione di Database: Esercizi Home page del corso: http://www.cs.unibo.it/~difelice/dbsi/
Esercizio 0 • Si vuolerealizzareuna base di dati per la gestione di un’agenziaimmobiliare • L’agenziatrattaimmobili. Ogni immobile dispone di un indirizzo (univoco), un data di vendita, unametratura, un prezzo. • Gliimmobiliappartengono a clientidell’agenzia. Di ogniclientesivuolememorizzarenome, cognome, data di nascita, indirizzo di residenza (strada, via, CAP) • Di ogni immobile sivoglionomemorizzare le proposte di acquisto. Le propostehannouna data, un prezzo, unavalidita’ ed un nome di compratore.
Esercizio 1 • Decidere la cardinalita’delleseguentirelazioni. • Ogniclientedispone di almeno un account. Ogni account e’ collegato al piu’ ad un cliente. CLIENTE ACCOUNT TITOLARE (?,?) (?,?)
Esercizio 1 • Decidere la cardinalita’delleseguentirelazioni. • Ogniclientedispone di almeno un account. Ogni account e’ collegato al piu’ ad un cliente. CLIENTE ACCOUNT TITOLARE 1,N 0,1
Esercizio 1 • Decidere la cardinalita’delleseguentirelazioni. • Un clientepuo’ disporre o meno di un’assicurazionesulla vita. Ogniassicurazione e’ associata ad unoed un solo clienteintestatario. ASSICURAZIONE CLIENTE INTESTATARIO (?,?) (?,?)
Esercizio 1 • Decidere la cardinalita’delleseguentirelazioni. • Un clientepuo’ disporre o meno di un’assicurazionesulla vita. Ogniassicurazione e’ associata ad unoed un solo clienteintestatario. ASSICURAZIONE CLIENTE INTESTATARIO (0,1) (1,1)
Esercizio 1 • Decidere la cardinalita’delleseguentirelazioni. • Un ristorantepuo’ averepiu’ fornitori. Ognifornitorepuo’ servirepiu’ ristoranti. FORNITORE RISTORANTE GESTIONE (?,?) (?,?)
Esercizio 1 • Decidere la cardinalita’delleseguentirelazioni. • Un ristorantepuo’ averepiu’ fornitori. Ognifornitorepuo’ servirepiu’ ristoranti. FORNITORE RISTORANTE GESTIONE (1,N) (1,N)
Esercizio 2 • Modellare con uno schema E-R ilcasoseguente. • Un cinema e’ identificato da un indirizzo (via, nr civico, citta’) e da un nome. Dispone di un recapitotelefonico. Ogni cinema e’ composto da un certoinsieme di sale. Ognisaladispone di un nome (univoco per quel cinema), unacapienzamassima e di un numero di uscite.
Esercizio 2 • Modellare con uno schema E-R ilcasoseguente. • Un condominio e’ composto di appartamenti. Ogniappartamentodispone di un numerointerno, unascalaedunametratura. Gliappartamentipossonoessere di due tipi: uffici o abitazioni. Dei primisivuolesapereilnomedellasocieta’ proprietariaedilnumero di personeche vi operano. Dei secondi sivuoleconoscere la renditacatastalee la classe di certificazioneenergetica. Inoltre, per le abitazionisivuoleconoscere la listadegliinquilini (nome/cognome/codicefiscale/anno nascita) che vi abitano. Gliinquilinipossonoessereproprietari o affittuari. Dei primisivuolememorizzare la quota annua di spesecondominiali.
Esercizio 2 • Considerando la seguentetabelladeivolumi: • Numeromedio di appartamenti: 20 • Numeromedio di inquilini per appartamento: 4 • E le seguentioperazioni sui dati: • Inserire un nuovoinquilinoedassociarlo ad un datoappartamento. (10 volte/anno) • Per ogniappartamento, visualizzare la informazioni di tuttigliinquilini con meno di 50 annipresenti. (200 volte/anno). • Q. Definireilcostodello schema E-R.
Esercizio 2 • Considerando la seguentetabelladeivolumi: • Numeromedio di appartamenti: 20 • Numeromedio di inquilini per appartamento: 4 • E le seguentioperazioni sui dati: • Inserire un nuovoinquilinoedassociarlo ad un datoappartamento. (10 volte/anno) • Per ogniappartamento, visualizzare la informazioni di tuttigliinquilini con meno di 50 annipresenti. (200 volte/anno). • Q. Come possoottimizzare lo schema?
Esercizio3 • Si vuolerealizzareuna base di dati per la gestione di un programma di eventiteatrali. • Il programma e’ composto da eventi. Ognievento ha un nome, un’edizione, una data e sitiene in una o piu’ sale del teatro. • Ognisala e’ identificata da un codiceunivoco e caratterizzatada nome, indirizzo e capienzamassima, numero di posti a sedere. • Glieventisono di due tipi: concerti o rappresentazioniteatrali. • Per le rappresentazioni, sivuoleteneretraccia del nomedell’opera e del direttore. • Ogni concerto e’ identificatoda un codicenumerico, ha un titoloedunadescrizione, ed e’ composto da un certonumero di pezzi. • Ognipezzo ha un titolo, uno o piu’ autorieduna data di composizione • CONTINUA
Esercizio3 • Ognipezzo e’ eseguito da un esecutore. • Ogniesecutore ha un codiceunivocoed un nome. Inoltre, per ogniesecutore, sivuoleteneretracciadei concerti predentementeeseguiti in quelteatro • Gliesecutoripossonoessere di due tipi: solistiedorchestre • Per l’orchestrasivuoleteneretraccia del nome del direttore, dell’insiemedeglistrumenti, e del nome di ciascuncomponentedell’orchestra. • Costruireilmodello E-R del sistemadescritto …
Esercizio 4 • Tradurrel’E-R nelmodellorelazionale…
Esercizio 5 • Tradurrel’E-R nelmodellorelazionale…
Esercizio6 • Tradurrel’E-R nelmodellorelazionale…
Esercizio 7 Nome Cognome • 100 Pazienti • 300 Cure (3 in media per Paziente) • 20 Medici • 500 Farmaci • Ognicura e’ composta in media da 5 farmaci MEDICO Reparto (0,N) R2 (1,1) (1,1) (0,N) R1 PAZIENTE CURA Codice Durata (1,N) Data Inizio R3 Cognome Nome • Determinareilcostodell’operazione (10v/gg): • Dato un paziente, visualizzaretutte le • le informazioni relative ad ifarmaci • assuntiin ognicura (a=2, wI=1). (0,N) FARMACO Composizione Nome Prezzo
Esercizio 7 Nome Cognome • 100 Pazienti • 300 Cure (3 in media per Paziente) • 20 Medici • 500 Farmaci • Ognicura e’ composta in media da 3 farmaci MEDICO Reparto (0,N) R2 (1,1) (1,1) (0,N) R1 PAZIENTE CURA Codice Durata (1,N) Data Inizio R3 Cognome Nome • Determinareilcostodell’operazione (1v/gg): • Dato un pazienteedunacura, aggiungere • un farmaco ad unacura • (a=2, wI=1). (0,N) FARMACO Composizione Nome Prezzo
Esercizio 7 Nome Cognome • 100 Pazienti • 300 Cure (3 in media per Paziente) • 20 Medici • 500 Farmaci • Ognicura e’ composta in media da 3 farmaci MEDICO Reparto (0,N) R2 (1,1) (1,1) (0,N) R1 PAZIENTE CURA Codice Durata (1,N) Data Inizio R3 Cognome Nome • Determinareilcostodell’operazione (1v/gg): • Rimuovere un medico, e tutte le cure • da luiprescritte(a=2, wI=1). (0,N) FARMACO Composizione Nome Prezzo
Esercizio 7 Nome Cognome • 100 Pazienti • 300 Cure (3 in media per Paziente) • 20 Medici (ognunoprescrive in media 15 cure) • 500 Farmaci • Ognicura e’ composta in media da 3 farmaci MEDICO Reparto (0,N) R2 (1,1) (1,1) (0,N) R1 PAZIENTE CURA Codice Durata (1,N) Data Inizio R3 Cognome Nome • Tradurre lo schema E-R nelmodello • relazionale. (0,N) FARMACO Composizione Nome Prezzo
Esercizio 7 Nome Cognome • 100 Pazienti • 300 Cure (3 in media per Paziente) • 20 Medici (ognunoprescrive in media 15 cure) • 500 Farmaci • Ognicura e’ composta in media da 3 farmaci MEDICO Reparto (0,N) R2 (1,1) (1,1) (0,N) R1 PAZIENTE CURA Codice Durata (1,N) Data Inizio R3 Cognome Nome • Come cambia la traduzione • se sieleminal`attributoReparto • dell`entita’ MEDICO? (0,N) FARMACO Composizione Nome Prezzo
Esercizio 8 (NORMALIZZAZIONE) Datoilseguente schema, valutare se essopuo’ generareRINDONDANZELOGICHE o meno.
Esercizio 8 (NORMALIZZAZIONE) Datoilseguente schema, valutare se essopuo’ generareRINDONDANZELOGICHE o meno.
Esercizio 9 (NORMALIZZAZIONE) Datoilseguente schema: R(ABCDE), con le seguentidipendenzefunzionali: AB, AC, DE a)Verificare(formalmente) se ADE e’ superchiave o menodellarelazione R. b)Verificare (formalmente) se ADE e’ CHIAVE o menodellarelazione R. Giustificare la risposta.
Esercizio 9 (NORMALIZZAZIONE) Datoilseguente schema: R(ABCDE), con le seguentidipendenzefunzionali: AB, AC, DE c)La relazione e’ in forma normale di Boyce e Codd (FNBC)? E’ in terza forma normale (3FN)? d)Nelcaso la relazione non risulti in 3FN, decomporla in terza forma normale.
Esercizio 10 (NORMALIZZAZIONE) Datoilseguente schema: R(ABCDE), con le seguentidipendenzefunzionali: F={CAB, BC DE, DB} a)La relazione e’ in forma normale di Boyce e Codd (FNBC)? E’ in terza forma normale (3FN)? b)Nelcaso la relazione non risulti in 3FN, decomporla in terza forma normale.
Esercizio 11 (NORMALIZZAZIONE) • PRODUZIONE(CodiceComponente, Fornitore, CodiceProdotto, PrezzoProdotto, SedeProduzione, ResponsabileSede) • CodiceComponenteFornitore SedeProduzione • CodiceProdotto PrezzoProdottoSedeProduzione • SedeProduzione ResponsabileSede • Se effettuo la decomposizione in: • R1(CodiceComponente, Fornitore, SedeProduzione) • R2 (CodiceProdotto, PrezzoProdotto, SedeProduzione) • R3(SedeProduzione,ResponsabileSede) Q.1 R1, R2 ed R3 sono in terza forma normale?
Esercizio 11 (NORMALIZZAZIONE) • PRODUZIONE(CodiceComponente, Fornitore, CodiceProdotto, PrezzoProdotto, SedeProduzione, ResponsabileSede) • CodiceComponenteFornitore SedeProduzione • CodiceProdotto PrezzoProdottoSedeProduzione • SedeProduzione ResponsabileSede • Se effettuo la decomposizione in: • R1(CodiceComponente, Fornitore, SedeProduzione) • R2 (CodiceProdotto, PrezzoProdotto, SedeProduzione) • R3(SedeProduzione,ResponsabileSede) Q.2 La decomposizioneconserva le dipendenze?
Esercizio 11 (NORMALIZZAZIONE) • PRODUZIONE(CodiceComponente, Fornitore, CodiceProdotto, PrezzoProdotto, SedeProduzione, ResponsabileSede) • CodiceComponenteFornitore SedeProduzione • CodiceProdotto PrezzoProdottoSedeProduzione • SedeProduzione ResponsabileSede • Se effettuo la decomposizione in: • R1(CodiceComponente, Fornitore, SedeProduzione) • R2 (CodiceProdotto, PrezzoProdotto, SedeProduzione) • R3(SedeProduzione,ResponsabileSede) Q.3 La decomposizione e’ senzaperdita di informazioni?
Esercizio 11 (NORMALIZZAZIONE) • PRODUZIONE(CodiceComponente, Fornitore, CodiceProdotto, PrezzoProdotto, SedeProduzione, ResponsabileSede) • CodiceComponenteFornitore SedeProduzione • CodiceProdotto PrezzoProdottoSedeProduzione • SedeProduzione ResponsabileSede • Se effettuo la decomposizione in: • R1(CodiceComponente, Fornitore, SedeProduzione) • R2 (CodiceProdotto, PrezzoProdotto, SedeProduzione) • R3(SedeProduzione,ResponsabileSede) Q.4 Decomporre lo schema in Terza Forma Normale(TFN).
Esercizio12 Data la relazione: R(ABCDEFGH) Con le seguentidipendenzefunzionali: D={AB DEF, CH, G BDE, H DEG, E B, BH AG} Verificarese D implicaf: AEBF