1 / 32

Corso di Basi di Dati

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

nariko
Télécharger la présentation

Corso di Basi di Dati

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Corso di Basidi Dati Progettazione di Database: Esercizi Home page del corso: http://www.cs.unibo.it/~difelice/dbsi/

  2. 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.

  3. Esercizio 1 • Decidere la cardinalita’delleseguentirelazioni. • Ogniclientedispone di almeno un account. Ogni account e’ collegato al piu’ ad un cliente. CLIENTE ACCOUNT TITOLARE (?,?) (?,?)

  4. 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

  5. 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 (?,?) (?,?)

  6. 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)

  7. Esercizio 1 • Decidere la cardinalita’delleseguentirelazioni. • Un ristorantepuo’ averepiu’ fornitori. Ognifornitorepuo’ servirepiu’ ristoranti. FORNITORE RISTORANTE GESTIONE (?,?) (?,?)

  8. Esercizio 1 • Decidere la cardinalita’delleseguentirelazioni. • Un ristorantepuo’ averepiu’ fornitori. Ognifornitorepuo’ servirepiu’ ristoranti. FORNITORE RISTORANTE GESTIONE (1,N) (1,N)

  9. 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.

  10. 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.

  11. 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.

  12. 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?

  13. 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 

  14. 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 …

  15. Esercizio 4 • Tradurrel’E-R nelmodellorelazionale…

  16. Esercizio 5 • Tradurrel’E-R nelmodellorelazionale…

  17. Esercizio6 • Tradurrel’E-R nelmodellorelazionale…

  18. 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

  19. 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

  20. 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

  21. 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

  22. 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

  23. Esercizio 8 (NORMALIZZAZIONE) Datoilseguente schema, valutare se essopuo’ generareRINDONDANZELOGICHE o meno.

  24. Esercizio 8 (NORMALIZZAZIONE) Datoilseguente schema, valutare se essopuo’ generareRINDONDANZELOGICHE o meno.

  25. Esercizio 9 (NORMALIZZAZIONE) Datoilseguente schema: R(ABCDE), con le seguentidipendenzefunzionali: AB, AC, DE a)Verificare(formalmente) se ADE e’ superchiave o menodellarelazione R. b)Verificare (formalmente) se ADE e’ CHIAVE o menodellarelazione R. Giustificare la risposta.

  26. Esercizio 9 (NORMALIZZAZIONE) Datoilseguente schema: R(ABCDE), con le seguentidipendenzefunzionali: AB, AC, DE 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.

  27. Esercizio 10 (NORMALIZZAZIONE) Datoilseguente schema: R(ABCDE), con le seguentidipendenzefunzionali: F={CAB, BC DE, DB} 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.

  28. 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?

  29. 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?

  30. 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?

  31. 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).

  32. Esercizio12 Data la relazione: R(ABCDEFGH) Con le seguentidipendenzefunzionali: D={AB DEF, CH, G BDE, H  DEG, E B, BH AG} Verificarese D implicaf: AEBF

More Related