Laboratorio di Basi di Dati

Documenti analoghi
Generazione diagrammi ER

Corso di Laurea in Informatica Basi di Dati a.a

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

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

Requisiti della base di dati. Schema concettuale

Corso di Basi di Dati

Metodologie e modelli di progetto

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

Traduzione dal modello E/R al modello relazionale

Numero di contratto di noleggio CodiceInterno Chiave primaria CodiceInternazionale Codice identificativo internazionale

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

Un esempio di progettazione concettuale

Laboratorio di Basi di Dati

Progettazione di Basi di Dati

LA PROGETTAZIONE CONCETTUALE

Corso di Laurea in Informatica Basi di Dati a.a

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

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

Basi di dati: progettazione concettuale con schemi E-R

ESERCIZI DI MODELLAZIONE E-R

Modello Entità-Relazione (E-R)

Generalizzazione. Docente : Alfredo Cuzzocrea Tel. : Informatica

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

Atzeni, Ceri, Paraboschi, Torlone Basi di dati. Progettazione logica. Attenzione

Basi di dati Esercitazione

Modello Entità-Relazione

SCHEMA E/R DI UNA UNIVERSITA'

Progettazione logica

Fase di Analisi Class Diagram. Esercizi

Le basi di dati. Lez. 2: Progettazione di un DB. Laboratorio di informatica gestionale

Progettazione concettuale. Facoltà di Scienze Matematiche, Fisiche e Naturali. Progettazione concettuale. Acquisizione e analisi dei requisiti

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

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, Progettazione concettuale

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

IL MODELLO ENTITÀ- RELAZIONE. Gli altri costruttori

GESTIONE DEI REPARTI DI UN OSPEDALE

Progettare una base di dati. Progettare una base di dati

Le Basi di dati: progettazione concettuale

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

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

ESERCIZI DI MODELLAZIONE E-R

Informatica Industriale Modello funzionale: Informazione Modello Entità-Relazione

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

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw -Hill, Progettazione concettuale

Raccolta e analisi dei requisiti

Ciclo di vita di un sistema informativo

Fase di Analisi Class Diagram. Esercizi

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

Esercizi svolti sul modello ER con regole di lettura. Esercizio 1

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

Il modello Entità/Relazioni (ER)

ESAME di INFORMATICA e ARCHIVIAZIONE

Basi di dati. Progettazione di basi di dati: Metodologie e modelli

PROGETTAZIONE LOGICA. Prof. Ing. Alfredo GARRO 1/6. Artista. Cantante. DataDiNascita. Codice. Nazionalità

Atzeni, Ceri, Paraboschi, Torlone Basi di dati

Il modello Entity-Relationship: pattern di progettazione

Esercitazione 2: Progettazione Concettuale

SISTEMI INFORMATIVI E DATABASE

Esercizi su Modello Entità-Relazioni

IL MODELLO ENTITA - RELAZIONE

Schema Entità-Relazione n 1

PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE BIOLOGICHE

Basi di dati I 19 settembre 2016 Tempo a disposizione: un ora e 45 minuti.

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

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

IL MODELLO ENTITY RELATIONSHIP. il modello ER 1

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

Il modello concettuale dei dati

Numero di Componenti

Laboratorio di Basi di Dati prova totale 20 febbraio 2013

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

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

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

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

Transcript:

Laboratorio di Basi di Dati Esercizi di progettazione concettuale e logica Anno accademico 2016-2017 Paolo Perlasca Parte di questi lucidi è tratta da una versione precedente di Marco Mesiti, Stefano Valtolina, Daniele Riboni e Sergio Mascetti

Prima parte: Ripasso sulla progettazione logica 2

Dalla progettazione concettuale a quella logica Progettazione concettuale: analisi del problema in oggetto che non considera la soluzione per risolvere il problema Con la progettazione logica iniziamo a considerare come verrà risolto il problema Due passaggi principali: ristrutturazione dello schema ER realizzazione del modello relazionale 3

Ristrutturazione dello schema ER Lo schema ER ristrutturato tiene conto non solo del problema in oggetto, ma anche della soluzione E orientato al modello logico che vogliamo utilizzare Quattro fasi: analisi delle ridondanze eliminazione delle gerarchie partizionamento/accorpamento di entità/relationship scelta degli identificatori primari 4

Il modello relazionale Descrive come verrà realizzata la base di dati: è una descrizione astratta, cioè non è specifica per un particolare DBMS Idea di base: le entità diventano relazioni con gli stessi attributi le associazioni diventano relazioni o attributi di altre relazioni La loro traduzione dipende dai vincoli di cardinalità imposti sull associazione stessa 5

Seconda parte: Esercizi di progettazione logica 6

Esercizio videoteca Considera: la documentazione descrittiva sulla videoteca (tratta dalla lezione scorsa) il diagramma ER che avevamo realizzato Svolgi gli esercizi: Ristruttura il diagramma ER Traduci in un modello relazionale Per ora ignoriamo il carico di lavoro sul DBMS 7

Documentazione descrittiva Videoteca. Vogliamo realizzare una base di dati per una videoteca. La videoteca consente il noleggio di circa 1000 film. Film. Per ogni film, vogliamo memorizzare il titolo, il nome e il cognome del regista, l'anno di produzione, il genere e la valutazione della critica (espressa in una scala di valori decimali tra 0 e 5, estremi inclusi), se presente. Video. Ogni film è disponibile per il noleggio in un certo numero di video (dove video possono essere cassette o DVD). Ogni video disponibile nella videoteca (circa 3000) è identificato da un codice di collocazione e dal tipo di supporto (videocassetta o dvd). Clienti. La base di dati dovrà inoltre memorizzare informazioni sui clienti della videoteca (circa 2000) [...]. Per ogni cliente della videoteca vogliamo mantenere il suo nome, cognome, data di nascita, residenza (intesa come città, via, numero civico e cap) e uno o più recapiti telefonici. Ogni cliente è identificato da un codice che corrisponde al numero della tessera rilasciatagli per usufruire dei servizi della videoteca. Ogni cliente può avere contemporaneamente in noleggio un certo numero di video (non più di tre). Ogni cliente può inoltre consigliare dei film ad altri clienti, esprimendo per essi un giudizio (espresso in una scala di valori decimali tra 0 e 5, estremi inclusi). Noleggio. La base di dati dovrà inoltre memorizzare informazioni [ ] sui video che [gli utenti] hanno correntemente in noleggio o che hanno noleggiato. Il numero di noleggi giornalieri alla videoteca è circa 200. Per ogni noleggio, vogliamo memorizzare la data (giorno, mese, anno) in cui il noleggio è stato effettuato e, per i noleggi conclusi, la data (giorno, mese, anno) di restituzione. Punti. La videoteca prevede un programma di fidelizzazione dei clienti. Ogni noleggio consente l'accumulo di un certo numero di punti. Quando i punti accumulati superano una certa soglia, i clienti vengono qualificati come clienti VIP e hanno diritto ad un bonus (cioè uno sconto in percentuale). La base di dati dovrà memorizzare, per ogni cliente VIP, il valore corrente del suo bonus. Per i clienti standard, ovvero quelli che non hanno ancora accumulato punti sufficienti per accedere alla categoria VIP, vogliamo memorizzare il numero di punti mancanti ad accedere a tale categoria 8

città via no cap Schema ER telefono (1,n) codcli residenza datarest (0,1) datanol datan nome cognome Cliente (0,n) Effettua (1,1) Noleggio (0,n) (1,1) RelativoA Standard VIP giudizio colloc ptimancanti bonus Consi glia (0,n) Video DVD (1,1) VHS Contiene genere (0,n) (0,n) Film valutaz (0,1) anno ti tol o regi sta 9

Analisi delle ridondanze Occorre individuare La presenza di attributi derivabili da altri attributi o associazioni Se esistono associazioni che possono essere ottenute attraverso altre associazioni 10

Eliminazione generalizzazione Ci sono due generalizzazioni: video e cliente Per ogni generalizzazione si possono avere tre scelte possibili: Accorpamento delle figlie nel genitore Accorpamento del genitore nella generalizzazione delle figlie Sostituzione della generalizzazione con associazioni Come si sceglie? analizzando la presenza di associazioni che coinvolgono le entità (padre e figlie) e il tipo di generalizzazione analizzando il carico di lavoro in questo esercizio però non lo facciamo 11

Partizionamento/accorpamento di concetti Questa fase dipende fortemente dall analisi delle prestazioni che vedremo nella prossima lezione. Possiamo però ristrutturare gli attributi multivalore quali attributi multivalore ci sono? come li ristrutturi? 12

Scelta degli identificatori principali In quali casi è necessario effettuare una scelta? Quale identificatore principale scegli in ogni caso? motiva la risposta 13

Traduzione verso il modello relazionale Prova a tradurre lo schema ER nel modello relazionale: traduci le entità traduci le associazioni 14

Esercizio Università Considera: la documentazione descrittiva sull università (tratta dalla lezione scorsa) il diagramma ER che avevamo realizzato Svolgi gli esercizi: Ristruttura il diagramma ER Traduci in un modello relazionale Per ora ignoriamo i problemi di prestazioni 15

Documentazione descrittiva Si vogliono gestire i corsi offerti da un corso di laurea. I corsi sono caratterizzati dal nome e dal corso di laurea in cui vengono tenuti. Inoltre, si vuole mantenere il semestre in cui vengono erogati. Ogni corso è tenuto da un professore e deve avere una commissione di valutazione formata da almeno 3 e non più di 5 professori (compreso il docente del corso). Per ogni professore si vuole mantenere nome, cognome e data di nascita. I professori sono sempre docenti di almeno un corso. Non ci possono essere due professori con lo stesso nome, cognome e data di nascita. Ogni corso può essere propedeutico ad altri corsi. Gli studenti si iscrivono ad un corso di laurea e devono sostenere gli esami dei corsi da esso offerti. Di ogni studente si vogliono mantenere la matricola, il codice fiscale, nome, cognome, eventuali numeri di telefono e l indirizzo (via e città). Di ogni esame si vuole memorizzare il voto e la data in cui viene superato. Per ogni corso uno studente è seguito da un tutor. Un tutor è uno studente che ha già sostenuto con esito positivo tale esame. Del tutor si vuoi sapere il nome e l orario di ricevimento. 16

Ristruttura il diagramma ER analisi delle ridondanze eliminazione delle gerarchie partizionamento/accorpamento di entità/ relationship scelta degli identificatori primari 17

Traduzione verso il modello relazionale Prova a tradurre lo schema ER nel modello relazionale: traduci le entità traduci le associazioni 18

Terza parte: Esercizi di progettazione concettuale e logica 19

Esercizio 1 Località Nome Data Direttore Data_fondazione dataacquisto Nome Nposti Difficoltà LUNA PARK (1,N) OFFRE (1,N) GIOCHI b) Quali delle seguenti affermazioni sono vere? 1) Ci possono essere 2 lunapark con lo stesso nome ma in località diverse. 2) Un gioco è offerto da un solo lunapark. 3) I giochi devono avere tutti nomi distinti. 4) Non è detto che un lunapark offra un gioco. 5) Uno stesso lunapark può offrire tanti giochi. 6) Lo stesso gioco può essere offerto dallo stesso lunapark in date diverse? 20

Esercizio 2 Località Nome Data Direttore Data_fondazione dataacquisto Nome Nposti Difficoltà LUNA PARK (1,N) OFFRE (1,N) GIOCHI Tradurre lo schema ER nel corrispondente schema relazionale 21

Esercizio 3 Effettuare la progettazione di una base di dati a partire dal seguente documento di specifica: Si vuole realizzare una base di dati per una compagnia di taxi. Un taxi è caratterizzato dalla targa, il tipo di macchina e il nome in codice. Ogni macchina è caratterizzata da una capienza. Ai taxi sono associati gli autisti, ognuno caratterizzato dai suoi dati anagrafici, da un codice e dall indirizzo dell abitazione. I clienti telefonano alla sede centrale per richiedere un taxi. La sede centrale assegna un taxi alle richieste dei clienti. Nella richiesta viene specificato il nome del cliente, il luogo e l ora in cui desidera il taxi e la destinazione richiesta. Al termine della corsa, al cliente viene consegnata una ricevuta per l importo della corsa. Sulla ricevuta sono indicati il nome del cliente, il codice del taxi, il luogo e l ora sia della partenza che dell arrivo, la distanza percorsa e l importo pagato. Ad ogni ricevuta deve corrispondere una prenotazione, ma il viceversa può non essere vero. 22

Esercizio 3 Il primo passo è effettuare la disambiguazione del testo. Cioè rivedere la specifica per renderla più chiara con l ausilio del committente 23

Esercizio 3 Dopodiché il testo viene diviso in frasi in modo da evidenziare i concetti che sono presenti 24

Esercizio 3 Dopodiché si procede nell individuare le entità del dominio e le associazioni e si produce uno scheletro dello schema 25

Progettazione concettuale Realizza lo schema ER e indica i vincoli non esprimibili nello schema ER 26

Progettazione logica Ristruttura lo schema ER e realizza lo schema relazionale Indica se ci sono vincoli non esprimibili dallo schema relazionale 27

Documentazione descrittiva Si rappresenti la base di dati di un archivio per la gestione degli ordini e delle giacenze di una società di vendita di prodotti. Ogni azienda identifica internamente i propri prodotti tramite un codice. Aziende diverse possono usare gli stessi codici, ognuna per i propri prodotti. L azienda è identificata da un codice fiscale (CF); se ne conosce la sigla e il telefono. Per ogni prodotto si indica il prezzo e una descrizione. Ogni prodotto può essere soltanto un prodotto lavorato (in questo caso si indica anche il colore) o una materia prima. I prodotti sono stoccati in un magazzino, identificato da indirizzo e stanza; se ne conosce eventualmente la metratura. Si conosce la quantità di prodotto che è stoccata in un certo magazzino. I prodotti possono essere ordinati da altre aziende e da persone fisiche. Delle persone si conosce il CF, nome, cognome e indirizzo. Per ogni ordine si indica la quantità di prodotto e la data in cui è stata ordinata. Di ogni azienda si conosce il responsabile e i suoi dati (CF, nome, cognome, telefono e indirizzo). 28