Basi di Dati 1 Esercitazione 5 08/01/2013. Matteo Picozzi

Documenti analoghi
Laboratorio n 7 del Ing. Dario Cogliati

Della suddetta realtà fornire lo schema E/R, lo schema logico e la realizzazione in SQL.

Compito Sistemi Informativi LA. Tempo concesso : 90 minuti 27 Marzo 07 Nome: Cognome: Matricola:

Laboratorio di Basi di Dati

Compito Sistemi Informativi LA. Tempo concesso : 90 minuti 28 Giugno 05 Nome: Cognome: Matricola: Esercizio 1

Esercizi di progettazione. Basi di dati

Progettazione logica Fase 2: Traduzione nel modello relazionale. adattato da Atzeni et al., Basi di dati, McGrawHill

Esercizi di progettazione di Basi di Dati Relazionali

Esercizi su Modello Entità-Relazioni

Si considerino le seguenti specifiche relative alla realizzazione di un sistema informativo per un concessionario di automobili.

Corso di Laurea in Informatica Basi di Dati a.a

Atzeni, Ceri, Paraboschi, Torlone Basi di dati

Basi di Dati - III. La costruzione di una base di dati. Progettazione concettuale di schemi. Esercizio: Segreteria studenti

Compito Basi di Dati. Tempo concesso : 90 minuti 28 aprile 2005 Nome: Cognome: Matricola:

Informatica Industriale

Basi di dati (nuovo ordinamento) 16 giugno 2008 Compito A

La progettazione logica Traduzione dal modello Entità-Associazione al modello relazionale Anno accademico 2008/2009

GESTIONE DEI REPARTI DI UN OSPEDALE

Progettazione logica relazionale (1/2) Progettazione logica. Progettazione logica relazionale (2/2) Introduzione. Progettazione logica

SCHEMA E/R DI UNA UNIVERSITA'

Compito Sistemi Informativi LA. Tempo concesso : 90 minuti 22 Giugno 04 Nome: Cognome: Matricola:

ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella le informazioni relative ad un negozio di libri online:

ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella le informazioni relative ad una piattaforma di gestione di gare podistiche:

Compito Sistemi Informativi LA. Tempo concesso : 90 minuti 26 Giugno 07 Nome: Cognome: Matricola: Esercizio 1

Insegnamento di Basi di Dati

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, Progettazione logica. Dati di ingresso e uscita

Un esempio di progettazione concettuale

Progettazione logica: criteri di ottimizzazione

LA PROGETTAZIONE LOGICA

Corso di Basi di Dati

Metodologie e Modelli di Progetto

Requisiti della base di dati. Schema concettuale

LE BASI DI DATI. Seconda parte La progettazione di database Relazionali SCHEMA LOGICO e SCHEMA FISICO Costruzione delle tabelle

Basi di dati I 27 gennaio 2016 Esame Compito A Tempo a disposizione: un ora e quarantacinque minuti. Libri chiusi.

PROGETTAZIONE DI DATABASE

Progettazione logica: criteri di ottimizzazione

Sommario. Introduzione... 13

Metodologie e modelli di progetto

Complementi di. Basi di Dati e Sistemi Informativi

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw -Hill, Progettazione logica. Dati di ingresso e uscita

ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella i dati di un sistema di gestione di campionati di basket.

Esercizio 1: un semplice schema concettuale. Descrivere lo schema concettuale della seguente realtà:

COGNOME MATRICOLA. STUDENTE(Codice, Nome, Cognome, LuogoNascita) CDL (Codice, Nome, PunteggioMinimo) QUIZ(CodiceCorso, CodiceStudente, Punteggio)

Vincoli di integrità Normalizzazione

Progettare Basi di Dati

PROGETTAZIONE CONCETTUALE

Esercitazione 5 Progettazione Concettuale e logica

Traduzione dal modello E/R al modello relazionale

Compito Sistemi Informativi LA. Tempo concesso : 90 minuti 14 Dicembre 04 Nome: Cognome: Matricola:

Basi di dati Esercitazione

Unità A2. Progettazione concettuale. Obiettivi. Astrazione. Astrazione per aggregazione

BASI DATI INFORMATICA

Normalizzazione di Basi di Dati

Fase di Analisi Class Diagram. Esercizi

Progettazione concettuale usando il modello Entità-Relazione (ER)

Basi di dati 19 dicembre 2016 Prova parziale Compito A Tempo a disposizione: un ora e quindici minuti. Libri chiusi.

Conversione Modello ER in Modello Relazionale. A.Bardine - Conversione Modello ER in Modello Relazionale

Il modello Entity-Relationship: elementi avanzati

Informatica. Dipartimento di Economia. Ing. Cristiano Gregnanin. 20 ottobre Corso di laurea in Economia

Esempi sul modello Entità-Associazione

Appunti lezione 01/12/2016 Giovedì (pomeriggio) Mattia Marzano, Annicchiarico Cristian

Esercizio 1 ESERCIZI DI PROGETTAZIONE CONCETTUALE DI BASI DI DATI. La base di dati di una università contiene informazioni

Forme normali. Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill. La normalizzazione. Normalizzazione. Una relazione con anomalie.

Si considerino le seguenti specifiche relative alla realizzazione di un sistema informativo per la gestione di un sito di blog.

ESAME di INFORMATICA e ARCHIVIAZIONE

Basi di Dati: Elementi

B a s i d i D a t i ( M o d u l o T e o r i a ) P r o v a s c r i t t a

LA PROGETTAZIONE CONCETTUALE

NORMALIZZAZIONE. Fino ad ora. Dipendenze funzionali e Normalizzazione per basi di dati relazionali

Forme normali. Le forme normali sono di solito definite sul modello relazionale, ma hanno senso in altri contesti, ad esempio il modello E-R

LA NORMALIZZAZIONE. Seconda parte

Programmazione con Java

Si considerino le seguenti specifiche relative alla realizzazione di un sistema informativo per la comunità scientifica di ricerca paleontologica.

Database. Cos è un database? Intro Tipi di entità Mapping ER/EER à Relazionale

Il modello concettuale dei dati

Il modello Entity-Relationship: elementi avanzati

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, La normalizzazione

Basi di Dati e Sistemi Informativi. Raffinamento dello schema e Normalizzazione nei database relazionali

Traduzione ER - relazionale

Modello Entità-Relazione (E-R)

Progettazione Logica. ISProgLog 1

Il modello Entità/Relazioni (ER)

Generazione diagrammi ER

Architettura Client-Server. In a nutshell

Il modello Entity-Relationship: pattern di progettazione

Cap. 3 - Il modello ER

ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella le informazioni relative ad una Software (SW) House:

Forme normali 1NF,2NF,3NF,BCNF

Esercitazione 2: Progettazione Concettuale

COGNOME MATRICOLA. Con vincoli di integrità referenziale: RECENSIONE.NomeUtente à UTENTE.Username RECENSIONE.TitoloSerie à SERIETV.

Elaborati per idoneità Access

Normalizzazione Progettazione di basi di dati Normalizzazione Normalizzazione Normalizzazione e modello ER Esempio Esame Superato

Considerate lo schema ER in figura: lo schema rappresenta varie proprietà di uomini e donne. Copyright The McGraw-Hill Companies, srl

Il Modello Concettuale Enità-Relazione (ER)

INTRODUZIONE ALLA PROGETTAZIONE. Patrizio Dazzi a.a

Manuale NoiPA. Modifica Dati Personali

1. Vendita all ingrosso di piante (29/06/98)

BASI DATI: modello relazionale

Progettazione di basi di dati

Progettazione di basi di dati D B M G

Transcript:

Basi di Dati 1 Esercitazione 5 08/01/2013 Matteo Picozzi http://home.dei.polimi.it/picozzi {picozzi@elet.polimi.it}

proprietà logiche prevalenti su efficienza tenere sulla stessa entità informazioni che verranno frequentemente consultate assieme tenere su entità separate informazioni destinate ad essere consultate separatamente limitare l incidenza di valori NULL per attributi opzionali N.B. Questa slide non ha la pretesa di essere esaustiva, vuole solo richiamare i concetti fondamentali che devono essere assimilati. Si rimanda alle slide di lezione per esempi e maggiore completezza

1. Eliminazioni delle gerarchie ISA 2. Selezione delle chiavi primarie 3. Eliminazione delle identificazioni esterne 4. Normalizzazione degli attributi composti 5. Normalizzazione degli attributi ripetuti (o multipli) 6. Traduzione di entità e associazioni in schemi di relazioni 7. Verifica di normalizzazione N.B. Questa slide non ha la pretesa di essere esaustiva, vuole solo richiamare i concetti fondamentali che devono essere assimilati. Si rimanda alle slide di lezione per esempi e maggiore completezza

1. Eliminazioni delle gerarchie ISA a. Mantenimento delle entità con associazioni b. Collasso verso l alto c. Collasso verso il basso (solo con copertura totale ed esclusiva) N.B. Questa slide non ha la pretesa di essere esaustiva, vuole solo richiamare i concetti fondamentali che devono essere assimilati. Si rimanda alle slide di lezione per esempi e maggiore completezza

2. Selezione delle chiavi primarie a. Identificatore usato più di frequente per accedere all entità b. Preferibili chiavi semplici rispetto a chiavi composte c. Preferibili chiavi interne a chiavi esterne N.B. Questa slide non ha la pretesa di essere esaustiva, vuole solo richiamare i concetti fondamentali che devono essere assimilati. Si rimanda alle slide di lezione per esempi e maggiore completezza

3. Eliminazione delle identificazioni esterne N.B. Questa slide non ha la pretesa di essere esaustiva, vuole solo richiamare i concetti fondamentali che devono essere assimilati. Si rimanda alle slide di lezione per esempi e maggiore completezza

4. Normalizzazione degli attributi composti a. Attributi dell attributo composto come attributi semplici b. Considerare l attributo come semplice N.B. Questa slide non ha la pretesa di essere esaustiva, vuole solo richiamare i concetti fondamentali che devono essere assimilati. Si rimanda alle slide di lezione per esempi e maggiore completezza

5. Normalizzazione degli attributi ripetuti (o multipli) a. Si crea una nuova entità che contiene l attributo b. La nuova entità è collegata a quella originaria c. Un valore può comparire una volta o più di una volta nella ripetizione N.B. Questa slide non ha la pretesa di essere esaustiva, vuole solo richiamare i concetti fondamentali che devono essere assimilati. Si rimanda alle slide di lezione per esempi e maggiore completezza

6. Traduzione di entità e associazioni (relazioni E-R) in schemi di relazioni (tabelle) a. Entità b. Associazioni (relazioni E-R) n:m traduzione standard 1:n l associazione (relazione E-R) e la chiave dell altra entità diventano attributi dell entità con cardinalità 1:1 si traduce con una sola tabella che comprende tutti gli attributi delle entità ed associazioni (relazioni E- R) coinvolte N.B. Questa slide non ha la pretesa di essere esaustiva, vuole solo richiamare i concetti fondamentali che devono essere assimilati. Si rimanda alle slide di lezione per esempi e maggiore completezza

7. Verifica di normalizzazione Forma Normale 1NF - I domini degli attributi devono comprendere solamente valori atomici (semplici ed indivisibili) - Ogni valore di un attributo deve essere essere singolo Forma Normale 2NF - Gli attributi che non appartengono alla chiave devono dipendere completamente dalla chiave - Se la chiave è formata da più attributi, non ci devono essere altri attributi che non dipendono dalla chiave intera Forma Normale 3NF - Ogni attributo non appartenente alla chiave deve dipendere funzionalmente da ogni chiave e non deve dipendere transitivamente da nessuna chiave Forma Normale di Boyce-Codd (BCNF) N.B. Questa slide non ha la pretesa di essere esaustiva, vuole solo richiamare i concetti fondamentali che devono essere assimilati. Si rimanda alle slide di lezione per esempi e maggiore completezza

Si progetti la base di dati per una compagnia aerea. Elemento principale dell attività della compagnia aerea sono i voli di linea. Ogni volo è caratterizzato da un numero, dall ora di partenza e di arrivo, Infine dalla durata. Si ha anche un elenco di tutti gli aeroporti serviti dalla compagnia, caratterizzati da un, dal dell aeroporto, dalla città e dalla nazione; in particolare, per ogni volo, si vuole sapere l aeroporto di partenza e quello di arrivo. Per ogni volo si devono conoscere i viaggi previsti o da effettuare. Ogni viaggio è identificato dalla data e da un attributo che indica se il volo è previsto o effettuato, pertanto ad ogni volo vengono associati tanti viaggi identificati dalla data. I viaggi sono effettuati con degli aeromobili, identificati dal numero di matricola e caratterizzati dal modello, dalla marca e dall anno di acquisto. Ovviamente, ogni viaggio viene effettuato con uno e un solo aeromobile. Per effettuare i viaggi serve anche il personale viaggiante. Il personale viaggiante è identificato dal numero di matricola ed è caratterizzato da cog, e data di nascita. Il personale viaggiante viene poi suddiviso in piloti ed assistenti (es, le hostess); per i piloti, si vuole conoscere il grado. Per ogni viaggio occorre conoscere il comandante, il vicepilota e gli assistenti del viaggio (almeno uno).

VOLO AEROPORTO VIAGGIO AEROMOBILE PERSONALE PILOTA ASSISTENTE partenza arrivo effettuati fa comandante vicepilota (t,e) assistente numero orapartenza oraarrivo durata città nazione matricola modello marca annoacquisto data stato matricola cog datanascita grado

VOLO AEROPORTO VIAGGIO AEROMOBILE PERSONALE PILOTA ASSISTENTE partenza arrivo effettuati fa comandante vicepilota (t,e) assistente numero orapartenza oraarrivo durata città nazione matricola modello marca annoacquisto data stato matricola cog datanascita grado Attributo ridondante

comandante vicepilota VOLO fa numero orapartenza oraarrivo VIAGGIO PERSONALE (t,e) partenza data stato arrivo effettuati matricola cog datanascita AEROPORTO AEROMOBILE assistente città nazione matricola modello marca annoacquisto PILOTA grado ASSISTENTE

Si progetti la base di dati per un servizio di radio-taxi. Il centralino del radio-taxi riceve le chiamate di richiesta di un taxi; al centralino lavorano le centraliniste, caratterizzate da un, cog,, data di nascita. Le chiamate vengono tutte registrate e sono caratterizzate da un numero di chiamata, la data e l ora della chiamata, il luogo di partenza e il luogo di destinazione (le centraliniste non accettano chiamate se non viene indicato il luogo di destinazione). Per ogni chiamata si vuole anche sapere quale è stata la centralinista che l ha ricevuta. Le chiamate sono poi suddivise in chiamate urgenti e chiamate per appuntamento; per queste ultime si vuole conoscere anche data e ora dell appuntamento richiesto dal cliente. I taxi sono caratterizzati da un, il e il cog del proprietario (che fa anche da conducente); i taxi si dividono in disponibili (che possono quindi servire le chiamate) e indisponibili, e di questi ultimi si vuole sapere fino a che data e ora sono indisponibili. Le chiamate vengono servite dai taxi; si vuole sapere in un certo momento chi sta servendo una certa chiamata (una chiamata può essere servita al più da un taxi e un taxi può servire al più una chiamata), con l indicazione dell ora presunta alla quale il taxi terminerà di servire la chiamata; in più, si vuole tenere storia di tutte le volte che un taxi ha servito una chiamata con l indicazione della data e ora d inizio e data e ora di fine servizio; da ultimo, i taxi disponibili vengono riservati per servire le chiamate ad appuntamento (per ogni chiamata c è al più un taxi riservato).

CHIAMATA CHIAMATA URGENTE CHIAMATA APPUNTAMENTO (t,e) CENTRALINISTA TAXI TAXI DISPONIBILE TAXI NON DISPONIBILE (t,e) numero data ora luogopartenza luogodestinazione dataappuntamento oraappuntamento matricola cog datanascita risposta datadisonibilità oradisponibilità riservato (0,1) storico servizio servizio corrente (0,1) (0,1) cog proprietario presuntaorafine datainizio orainizio orafine datafine

CHIAMATA CHIAMATA URGENTE CHIAMATA APPUNTAMENTO (t,e) CENTRALINISTA TAXI TAXI DISPONIBILE TAXI NON DISPONIBILE (t,e) numero data ora luogopartenza luogodestinazione dataappuntamento oraappuntamento matricola cog datanascita risposta datadisonibilità oradisponibilità riservato (0,1) storico servizio servizio corrente (0,1) (0,1) Proprietario cogproprietario presuntaorafine datainizio orainizio orafine datafine

Progettazione di una base di dati (15 PUNTI) Progettare la base di dati relativa alla situazione descritta nel seguito. Svolgere il progetto concettuale usando il modello ER, e il progetto logico con il modello relazionale. Specificare le chiavi e gli eventuali vincoli d integrità. L università di Milano vuole tenere gestire un database per la memorizzazione di tutti i progetti europei in cui è coinvolta. Ogni progetto è caratterizzato da un e un periodo di svolgimento per il quale si memorizza una data di inizio e una data di fine. Ogni progetto è suddiviso in fasi identificate da un numero progressivo unico nell ambito di ciascun progetto. Per ogni fase si memorizza il periodo in cui si svolge (data inizio e data fine). Per ogni fase di un progetto si redigono un certo numero di rapporti tecnici. Per ogni rapporto tecnico il sistema memorizza, le unità coinvolte, distinguendo l unità responsabile dalle altre unità che collaborano nella redazione, il titolo, il numero di pagine, lo stato di ciascun contributo rilasciato da ciascuna unità (versione provvisoria/definitiva). Ogni rapporto è univocamente identificato dalla fase in cui si svolge e dall unità responsabile. Ogni unità può essere responsabile di un solo rapporto in ciascuna fase. Per ogni progetto si vuole conoscere il finanziamento richiesto da ogni unità che vi partecipa. Le unità coinvolte possono essere sia università che aziende e per ogni unità si memorizza il e la città. Nel caso l unità sia una azienda si memorizza anche il capitale sociale e il numero di dipendenti. Infine il sistema memorizza le persone che lavorano in ciascuna unità delle quali si conoscono il fiscale, il cog, il, la data di nascita, la nazionalità e il ruolo. Il sistema è in grado di ricostruire tutti i progetti in cui una persona ha partecipato con i rispettivi periodi (data inizio e data fine).

PERSONA PROGETTO UNITÀ AZIENDA UNIVERSITÀ (t,e) cf cog datanascita nazionalità datainizio datafine partecipazione FASE RAPPORTO TECNICO ruolo responsabile collaboratore costituita redazione risorsa partecipazione finanziamento numero datainizio datafine titolo stato numeropagine città numerodipendenti capitalesociale

Progettazione di una base di dati (15 PUNTI) Progettare la base di dati relativa alla situazione descritta nel seguito. Svolgere il progetto concettuale usando il modello ER, e il progetto logico con il modello relazionale. Specificare le chiavi e gli eventuali vincoli d integrità. Si vuole progettare un sistema informativo per una società che realizza applicazioni multimediali. Ogni applicazione è caratterizzata da un titolo, una data d inizio della realizzazione, una data di rilascio, un responsabile di progetto, un costo complessivo di realizzazione. La base di dati memorizza il contenuto e la struttura di ogni applicazione in termini di: documenti, fotografie con didascalia e spezzoni di filmati. I documenti sono caratterizzati da un titolo, un testo, una data di realizzazione e una dimensione. Da un documento è possibile raggiungere altri documenti ad esso collegati. Ogni fotografia fa parte di uno e un solo documento e ha un formato e una didascalia descrittiva. Per ogni filmato si descrive il soggetto, la durata, il tipo (bianco, nero o a colori) e il formato. I filmati sono raggiungibili a partire da link presenti in un documento. Diversi documenti possono essere collegati allo stesso filmato. Tutti gli elementi di una applicazione sono identificati da un numerico univoco in tutta la base di dati. Di ogni applicazione multimediale rilasciata vengono utilizzate più copie su CDROM. I CDROM sono identificati da un numero di chiave stampato all esterno del CDROM. In taluni casi ne viene resa disponibile una copia su sito Web (di cui si conosce l indirizzo). Ad ogni applicazione corrisponde un unico sito Web. Si vogliono memorizzare le informazioni sui clienti; al momento dell acquisto il cliente sceglie dalla lista delle applicazioni rilasciate quella che gli interessa e perfeziona l acquisto indicando tutti i propri dati anagrafici: fiscale, cog,, indirizzo, numero di telefono, indirizzo di posta elettronica e data in cui è avvenuto l acquisto.

CLIENTE CD-ROM APPLICAZIONE SITO_WEB DOCUMENTO FOTOGRAFIA FILMATO acquisto acquisto rilascio rilascio composizione contiene link data data (0,1) (0,1) cf cog indirizzo telefono email titolo datainizio datarilascio responsabile costo soggetto durata tipo formato formato didascalia titolo testo datarealizzazione dimensione