Progettazione di Database: Esercizi

Slides:



Advertisements
Presentazioni simili
Informatica II – Basi di Dati (08/09) – Parte 1
Advertisements

Il raffinamento dello schema e la normalizzazione nei database relazionali Eugenio Di Sciascio.
IL MODELLO ENTITÀ-RELAZIONE Gli altri costruttori
Normalizzazione Forme Normali.
Safe.dschola.it Attenti alle sovrapposizioni! Procedure Reali Procedure Qualità Procedure Privacy Le politiche per la privacy e la sicurezza non si risolvono.
4 – Progettazione – Introduzione e Modello E-R
Basi di Dati prof. A. Longheu 4 – Progettazione – Introduzione e Modello E-R Cap. 5 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.
Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
L’uso dei database in azienda
Basi di dati Prova parziale del 12/01/2009 Possibili soluzioni.
LA PROGETTAZIONE LOGICA
Basi di dati Università Degli Studi Parthenope di Napoli
Basi di dati 2002 EER Vogliamo aumentare lespressività degli Entity Model EER: Entity Model Esteso.
Progettare una base di dati che permetta di gestire il problema descritto nel seguito, nei seguenti punti: 1. Definire uno schema Entità/Relazione che.
Progettazione di una base di dati
Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti.
Partizionamento/accorpamento di concetti
Nuovo Sito Nazionale Cd Card e relativi Servizi
GETICA srl uninominale Settembre 2008 AGENZIA TERRITORIALE PER LA CASA DELLA PROVINCIA DI TORINO.
Esercitazione di Basi di Dati
Area BASE Modulo Base - Controparti. Area BASE Modulo Base - Controparti Il Modulo BASE contiene le funzioni e i 3 gruppi di archivi utilizzati in comune.
LACQUISTO IMMOBILIARE A NEW YORK. IL MERCATO IMMOBILIARE DI NEW YORK caratterizzato da particolare DINAMICITA e TRASPARENZA la TUTELA dei venditori e.
Progettazione di Database: Esercizi
PROGETTAZIONE CONCETTUALE DI UNA BIBLIOTECA PERSONALE
L’algebra relazionale
Basi di Dati e Sistemi Informativi
Indicazioni per le famiglie 1 - Come funziona l'iscrizione online
Corso di Basi di Dati Progettazione di Basi di Dati
Corso di Basi di Dati Progettazione Logica
Basi di Dati e Sistemi Informativi
Basi di Dati e Sistemi Informativi
Basi di Dati e Sistemi Informativi
Basi di Dati e Sistemi Informativi
Basi di Dati e Sistemi Informativi
1Ingegneria Del Software L-A Progetto realizzato da: Luca Iannario, Enrico Baioni, Sara Sabioni. A.A. 2008/2009.
1Ingegneria Del Software L-A Progetto realizzato da: Luca Iannario, Enrico Baioni, Sara Sabioni. A.A. 2008/2009.
1Ingegneria Del Software L-A Progetto realizzato da: Luca Iannario, Enrico Baioni, Sara Sabioni. A.A. 2008/2009.
1Ingegneria Del Software L-A Progetto realizzato da: Luca Iannario, Enrico Baioni, Sara Sabioni. A.A. 2008/2009.
Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012.
Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012.
Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka.
Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012.
FUMETTERIA ON-LINE Anna Habib matr: Laboratorio Basi di dati II Università di Roma La Sapienza 18/12/2003.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
La modellazione degli oggetti
Dal sito del Polo Qualità di Napoli
Il software per la gestione dei Panifici
S. Costantini 06/05/2006 (parte del materiale è tratto da slide del 2001 di Ceri-Atzeni) Normalizzazione di Schemi.
Progettazione Logica Il prodotto della progettazione logica è uno schema logico che rappresenta le informazioni contenute nello schema E-R in modo corretto.
DIGITAL RECIPE Progetto Realizzato da: Vitiello Pier Angelo Il progetto si trova all’indirizzo :
Progettazione di una base di dati Ciclo di vita di un sistema informativo Studio di fattibilità definisce le varie alternative possibili, i relativi costi.
1Ingegneria Del Software L-A Progetto realizzato da: Luca Iannario, Enrico Baioni, Sara Sabioni. A.A. 2008/2009.
S. Costantini 06/05/2006 (parte del materiale è tratto da slide del 2001 di Ceri-Atzeni) Normalizzazione di Schemi.
Sistemi di Elaborazione delle Informazioni
Metodologie e modelli per il progetto. 2 Introduzione alla progettazione Il problema: progettare una base di base di dati a partire dai suoi requisiti.
1 Esami Esame scritto: Tra 21 e 25 domande: 20 domande chiuse (20 punti),  5 domande aperte (10 punti) 1½ ore Esame orale/applicativo: Esercizi usando.
Progettazione database a cura di Roberta Mancini – matr CdLM in Marketing.
PROGETTAZIONE DI UN DATABASE SARA A. L. DI GAETANO.
NORMALIZZAZIONE ESERCIZI. INTRODUZIONE La modellazione E-R ci ha consentito di descrivere schemi relazionali Lo strumento base per la modellizzazione.
Operazioni Relazionali
ICT e Sistemi informativi Aziendali Materiale di supporto alla didattica.
Prima esercitazione di Basi di Dati Barcelli, Bardine, Loconsole, Manganelli e MIgliorini.
Progettazione concettuale Castagnozzi Savino Ciaramello Massimo Emiliano Galeazzi Federico Guerriero Lorenzo Macauda Giorgio.
Basi di Dati e Sistemi Informativi Esempi & Esercizi Il Modello Relazionale Home page del corso:
Normalizzazione. Introduzione Nell’organizzazione tradizionale degli archivi, si verificano alcuni problemi, quali: Ridondanza dei dati (gli stessi dati.
1 “ Le Basi di Dati ”. 2 Parte 5: Tabelle –Creazione di una tabella –Indici e chiavi primarie –Relazioni e integrità referenziale Basi di Dati Struttura.
BASI DATI: modello relazionale BIOINGEGNERIA ELETTRONICA ED INFORMATICA Lezione IIIb - AA 2014/20151.
Basi di dati - 09Marco Maggini1 Forme normali forme normali  Le forme normali verificano la qualità di uno schema di una base di dati relazionale  Presenza.
Normalizzazione. Forme normali Evitare la ripetizione e la ridondanza Evitare alcuni problemi in modifiche/cancellazioni Obiettivo: Normalizzazione =>
Transcript della presentazione:

Progettazione di Database: Esercizi 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 L’agenzia tratta immobili. Ogni immobile dispone di un indirizzo (univoco), un data di vendita, una metratura, un prezzo. Gli immobili appartengono a clienti dell’agenzia. Di ogni cliente si vuole memorizzare nome, cognome, data di nascita, indirizzo di residenza (strada, via, CAP) Di ogni immobile si vogliono memorizzare le proposte di acquisto. Le proposte hanno una data, un prezzo, una validita’ ed un nome di compratore.

Esercizio 1 CLIENTE ACCOUNT Decidere la cardinalita’ delle seguenti relazioni. Ogni cliente dispone di almeno un account. Ogni account e’ collegato al piu’ ad un cliente. CLIENTE ACCOUNT TITOLARE (?,?) (?,?)

Esercizio 1 CLIENTE ACCOUNT Decidere la cardinalita’ delle seguenti relazioni. Ogni cliente dispone 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’ delle seguenti relazioni. Un cliente puo’ disporre o meno di un’assicurazione sulla vita. Ogni assicurazione e’ associata ad uno ed un solo cliente intestatario. CLIENTE ASSICURAZIONE INTESTATARIO (?,?) (?,?)

Esercizio 1 Decidere la cardinalita’ delle seguenti relazioni. Un cliente puo’ disporre o meno di un’assicurazione sulla vita. Ogni assicurazione e’ associata ad uno ed un solo cliente intestatario. CLIENTE ASSICURAZIONE INTESTATARIO (0,1) (1,1)

Esercizio 1 Decidere la cardinalita’ delle seguenti relazioni. Un ristorante puo’ avere piu’ fornitori. Ogni fornitore puo’ servire piu’ ristoranti. RISTORANTE FORNITORE GESTIONE (?,?) (?,?)

Esercizio 1 Decidere la cardinalita’ delle seguenti relazioni. Un ristorante puo’ avere piu’ fornitori. Ogni fornitore puo’ servire piu’ ristoranti. RISTORANTE FORNITORE GESTIONE (1,N) (1,N)

Esercizio 2 Modellare con uno schema E-R il caso seguente. Un cinema e’ identificato da un indirizzo (via, nr civico, citta’) e da un nome. Dispone di un recapito telefonico. Ogni cinema e’ composto da un certo insieme di sale. Ogni sala dispone di un nome (univoco per quel cinema), una capienza massima e di un numero di uscite.

Esercizio 2 Modellare con uno schema E-R il caso seguente. Un condominio e’ composto di appartamenti. Ogni appartamento dispone di un numero interno, una scala ed una metratura. Gli appartamenti possono essere di due tipi: uffici o abitazioni. Dei primi si vuole sapere il nome della societa’ proprietaria ed il numero di persone che vi operano. Dei secondi si vuole conoscere la rendita catastale e la classe di certificazione energetica. Inoltre, per le abitazioni si vuole conoscere la lista degli inquilini (nome/cognome/codice fiscale/anno nascita) che vi abitano. Gli inquilini possono essere proprietari o affittuari. Dei primi si vuole memorizzare la quota annua di spese condominiali.

Esercizio 2 Q. Definire il costo dello schema E-R. Considerando la seguente tabella dei volumi: Numero medio di appartamenti: 20 Numero medio di inquilini per appartamento: 4 E le seguenti operazioni sui dati: Inserire un nuovo inquilino ed associarlo ad un dato appartamento. (10 volte/anno) Per ogni appartamento, visualizzare la informazioni di tutti gli inquilini con meno di 50 anni presenti. (200 volte/anno). Q. Definire il costo dello schema E-R.

Esercizio 2 Q. Come posso ottimizzare lo schema? Considerando la seguente tabella dei volumi: Numero medio di appartamenti: 20 Numero medio di inquilini per appartamento: 4 E le seguenti operazioni sui dati: Inserire un nuovo inquilino ed associarlo ad un dato appartamento. (10 volte/anno) Per ogni appartamento, visualizzare la informazioni di tutti gli inquilini con meno di 50 anni presenti. (200 volte/anno). Q. Come posso ottimizzare lo schema?

Esercizio 2.b (per casa) Modellare con uno schema E-R il caso seguente. Si vuole progettare una base di dati per gestire uno store online di applicazioni mobili. Ogni applicazione dispone di un nome (univoco), una categoria, un anno di pubblicazione, una dimensione ed un prezzo. Inoltre, per ciascuna app si vuole tenere traccia della lista di aggiornamenti rilasciati. Ogni aggiornamento dispone di un numero (progressivo per quell’app), una data, una dimensione, ed una descrizione. Si vogliono poi gestire le informazioni relative agli utenti che possono accedere allo store. Ogni utente dispone di un identificativo (univoco), un’email ed un recapito telefonico. Sono previste due categorie di utenti: sviluppatori ed acquirenti. Ogni app e’ associata ad un utente sviluppatore che ne ha curato la realizzazione e l’upload sul sito. Gli utenti sviluppatori dispongono di Partita Iva e Codice Fiscale, e possono essere a loro volta di due tipi: software house o programmatori singoli. Delle prime si vuole memorizzare nome e sede legale (via/ncivico/citta’/cap). Dei secondi si vuole memorizzare nome, cognome, ed anno di nascita. Gli utenti acquirenti possono fare acquisti di app presenti nello store. A tal proposito, essi dispongono di una o piu’ carte di credito, di cui si vogliono memorizzare numero, data di scadenza, e tipologia (es. VISA). Si vuole tenere traccia dello storico degli acquisti operati da ciascun acquirente. Ogni acquisto dispone di un codice (univoco) ed una data, puo’ includere piu’ prodotti (ossia piu’ app mobili) ed e’ collegato ad una carta di credito dell’acquirente. Infine, si vuole fornire la possibilita’ agli utenti (sia acquirenti sia sviluppatori) di inserire commenti sulle applicazioni presenti nello store. Ogni commento dispone di una data, un testo, ed una valutazione (un numero tra 0 e 5), e’ inserito da un utente, e fa riferimento ad un’ app mobile dello store.

Esercizio 3 Si vuole realizzare una base di dati per la gestione di un programma di eventi teatrali. Il programma e’ composto da eventi. Ogni evento ha un nome, un’edizione, una data e si tiene in una o piu’ sale del teatro. Ogni sala e’ identificata da un codice univoco e caratterizzata da nome, indirizzo e capienza massima, numero di posti a sedere. Gli eventi sono di due tipi: concerti o rappresentazioni teatrali. Per le rappresentazioni, si vuole tenere traccia del nome dell’opera e del direttore. Ogni concerto e’ identificato da un codice numerico, ha un titolo ed una descrizione, ed e’ composto da un certo numero di pezzi. Ogni pezzo ha un titolo, uno o piu’ autori ed una data di composizione CONTINUA 

Esercizio 3 Costruire il modello E-R del sistema descritto … Ogni pezzo e’ eseguito da un esecutore. Ogni esecutore ha un codice univoco ed un nome. Inoltre, per ogni esecutore, si vuole tenere traccia dei concerti predentemente eseguiti in quel teatro Gli esecutori possono essere di due tipi: solisti ed orchestre Per l’orchestra si vuole tenere traccia del nome del direttore, dell’insieme degli strumenti, e del nome di ciascun componente dell’orchestra. Costruire il modello E-R del sistema descritto …

Esercizio 4 Tradurre l’E-R nel modello relazionale …

Esercizio 5 Tradurre l’E-R nel modello relazionale …

Esercizio 6 Tradurre l’E-R nel modello relazionale …

Esercizio 7 100 Pazienti 300 Cure (3 in media per Paziente) 20 Medici Nome Cognome 100 Pazienti 300 Cure (3 in media per Paziente) 20 Medici 500 Farmaci Ogni cura e’ composta in media da 5 farmaci MEDICO Reparto (0,N) R2 (1,1) (0,N) R1 (1,1) PAZIENTE CURA Codice Durata (1,N) Data Inizio Nome Cognome R3 Determinare il costo dell’operazione (10v/gg): Dato un paziente, visualizzare tutte le le informazioni relative ad i farmaci assunti in ogni cura (a=2, wI=1). (0,N) FARMACO Composizione Nome Prezzo

Esercizio 7 100 Pazienti 300 Cure (3 in media per Paziente) 20 Medici Nome Cognome 100 Pazienti 300 Cure (3 in media per Paziente) 20 Medici 500 Farmaci Ogni cura e’ composta in media da 3 farmaci MEDICO Reparto (0,N) R2 (1,1) (0,N) R1 (1,1) PAZIENTE CURA Codice Durata (1,N) Data Inizio Nome Cognome R3 Determinare il costo dell’operazione (1v/gg): Dato un paziente ed una cura, aggiungere un farmaco ad una cura (a=2, wI=1). (0,N) FARMACO Composizione Nome Prezzo

Esercizio 7 100 Pazienti 300 Cure (3 in media per Paziente) 20 Medici Nome Cognome 100 Pazienti 300 Cure (3 in media per Paziente) 20 Medici 500 Farmaci Ogni cura e’ composta in media da 3 farmaci MEDICO Reparto (0,N) R2 (1,1) (0,N) R1 (1,1) PAZIENTE CURA Codice Durata (1,N) Data Inizio Nome Cognome R3 Determinare il costo dell’operazione (1v/gg): Rimuovere un medico, e tutte le cure da lui prescritte (a=2, wI=1). (0,N) FARMACO Composizione Nome Prezzo

Esercizio 7 Tradurre lo schema E-R nel modello relazionale. Nome Cognome 100 Pazienti 300 Cure (3 in media per Paziente) 20 Medici (ognuno prescrive in media 15 cure) 500 Farmaci Ogni cura e’ composta in media da 3 farmaci MEDICO Reparto (0,N) R2 (1,1) (0,N) R1 (1,1) PAZIENTE CURA Codice Durata (1,N) Data Inizio Nome Cognome R3 Tradurre lo schema E-R nel modello relazionale. (0,N) FARMACO Composizione Nome Prezzo

Esercizio 7 Come cambia la traduzione Nome Cognome 100 Pazienti 300 Cure (3 in media per Paziente) 20 Medici (ognuno prescrive in media 15 cure) 500 Farmaci Ogni cura e’ composta in media da 3 farmaci MEDICO Reparto (0,N) R2 (1,1) (0,N) R1 (1,1) PAZIENTE CURA Codice Durata (1,N) Data Inizio Nome Cognome R3 Come cambia la traduzione se si elemina l`attributo Reparto dell`entita’ MEDICO? (0,N) FARMACO Composizione Nome Prezzo

Esercizio 8 (NORMALIZZAZIONE) Dato il seguente schema, valutare se esso puo’ generare RINDONDANZE LOGICHE o meno. Comune Regione Prefisso Bologna Emilia-Romagna 051 Milano Lombardia 02 Piacenza 0523 Castro Bergamo 035 Lecce 0832 Cosenza Calabria 0984

Esercizio 8 (NORMALIZZAZIONE) Dato il seguente schema, valutare se esso puo’ generare RINDONDANZE LOGICHE o meno. NomeFilm Regista Nascita Regista Copia Collocazione Odissea nello spazio Kubrik 26/7/1928 1 HC1234 C’era una volta in America Leone 3/1/1929 LF3434 Il Padrino Coppola 7/4/1939 LF2312 2 LF6437 Barry Lyndon HC1212 HC2144

Esercizio 9 (NORMALIZZAZIONE) Dato il seguente schema: R(ABCDE), con le seguenti dipendenze funzionali:   AB, AC, DE a) Verificare (formalmente) se ADE e’ superchiave o meno della relazione R. b) Verificare (formalmente) se ADE e’ CHIAVE o meno della relazione R. Giustificare la risposta.

Esercizio 9 (NORMALIZZAZIONE) Dato il seguente schema: R(ABCDE), con le seguenti dipendenze funzionali:   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) Nel caso la relazione non risulti in 3FN, decomporla in terza forma normale.

Esercizio 10 (NORMALIZZAZIONE) Dato il seguente schema: R(ABCDE), con le seguenti dipendenze funzionali:   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) Nel caso la relazione non risulti in 3FN, decomporla in terza forma normale.

Esercizio 11 (NORMALIZZAZIONE) PRODUZIONE(CodiceComponente, Fornitore, CodiceProdotto, PrezzoProdotto, SedeProduzione, ResponsabileSede) CodiceComponente Fornitore  SedeProduzione CodiceProdotto  PrezzoProdotto SedeProduzione 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) CodiceComponente Fornitore  SedeProduzione CodiceProdotto  PrezzoProdotto SedeProduzione SedeProduzione  ResponsabileSede Se effettuo la decomposizione in: R1(CodiceComponente, Fornitore, SedeProduzione) R2 (CodiceProdotto, PrezzoProdotto, SedeProduzione) R3(SedeProduzione,ResponsabileSede) Q.2  La decomposizione conserva le dipendenze?

Esercizio 11 (NORMALIZZAZIONE) PRODUZIONE(CodiceComponente, Fornitore, CodiceProdotto, PrezzoProdotto, SedeProduzione, ResponsabileSede) CodiceComponente Fornitore  SedeProduzione CodiceProdotto  PrezzoProdotto SedeProduzione SedeProduzione  ResponsabileSede Se effettuo la decomposizione in: R1(CodiceComponente, Fornitore, SedeProduzione) R2 (CodiceProdotto, PrezzoProdotto, SedeProduzione) R3(SedeProduzione,ResponsabileSede) Q.3  La decomposizione e’ senza perdita di informazioni?

Esercizio 11 (NORMALIZZAZIONE) PRODUZIONE(CodiceComponente, Fornitore, CodiceProdotto, PrezzoProdotto, SedeProduzione, ResponsabileSede) CodiceComponente Fornitore  SedeProduzione CodiceProdotto  PrezzoProdotto SedeProduzione 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).