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

Documenti analoghi
IL MODELLO ENTITÀ-RELAZIONE

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

Lezione 4. Dallo schema ER al relazionale

Il Modello Concettuale Enità-Relazione (ER)

Il Modello Concettuale Enità-Relazione (ER)

IL MODELLO CONCETTUALE ENITÀ-RELAZIONE (ER) (CAPITOLO 5 DELLA VERSIONE ITALIANA)

LA PROGETTAZIONE LOGICA

Lezione 2. Il modello entità relazione

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

IL MODELLO RELAZIONALE

Progettazione Logica. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma

Il modello Entità/Relazioni (ER)

Esercizi su Modello Relazionale

PROGETTO LOGICO RELAZIONALE. progetto logico relazionale 1

Basi di Dati. Progettazione del Modello ER. K. Donno - Progettazione del Modello ER

PROGETTO LOGICO DA SCHEMI E/R. progetto logico da E/R 1

Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.2 Data Description Language - 2

ESERCITAZIONE: Fornitore-Fornisce-Articolo

LABORATORIO di INFORMATICA

IL MODELLO ER. Modello ER. ì En#ty-Rela#onship (ER) ì Diagrammi ER. ì Unified Modeling Language (UML)

Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 1 OTTOBRE 2015 Tempo: 2h30m

Progettazione logica. Algoritmo di traduzione E-A in DDL-SQL

Esercitazione di Gestione dei Dati e della Conoscenza (Modellazione ER) Diego De Cao a.a. 2008/2009

PRODOTTO CARTESIANO Caso Generale

Fondamenti di Informatica 2

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

StudiodiunCaso. Roberto Basili,

Laboratorio di Basi di Dati

Il modello Relazionale.

Normalizzazione. Le forme normali. La normalizzazione. Applicazione forme normali

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

LA NORMALIZZAZIONE. Seconda parte

Basi di dati. Giuseppe De Giacomo. Dipartimento di Informatica e Sistemistica Antonio Ruberti Università di Roma La Sapienza

Normalizzazione. Definizione

Esercitazione ER e Algebra Relazionale

Esercizi su Modello Entità-Relazioni

IL MODELLO RELAZIONALE

Dichiarazione degli schemi in SQL DDL 1

Progettazione di basi di dati

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

matricola Nome Cognome firma punti Basi di Dati Schema logico relazionale e tabelle SQL - 1 Esercitazione con valutazione del 24 Ottobre 2007 Conosce

Fondamenti di Informatica 2 Simulazione d esame dell 11 Dicembre 2009

Basi di Dati e Sistemi Informativi. Progettazione Concettuale: Il modello Entità-Relazioni

Dalla modellazione concettuale a SQL: Studio di un caso

Fondamenti di Informatica 2

Basi di dati. La normalizzazione

Il modello relazionale. A. Ferrari

Basi di Dati Corso di Laura in Informatica Umanistica

Prova del 14/09/09. Considerare la seguente descrizione di un campeggio:

Basi di Dati. SOLUZIONE della Prova Scritta del 12 Gennaio 2007

Fondamenti di Informatica 2

IL MODELLO RELAZIONALE (CAPITOLO 2)

Fondamenti di Informatica 2

Informatica Industriale Modello funzionale: Informazione Modello Entità-Relazione

A. Ferrari modello relazionale

Laboratorio di Basi di Dati Esercizio 8.4/9.1

Basi di Dati Corso di Laura in Informatica Umanistica

SQL: DDL, VI, Aggiornamenti e Viste

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

Il Modello Relazionale

TRADUZIONE DI SCHEMI

ESAME di INFORMATICA e ARCHIVIAZIONE

Tornando all esempio..

Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo.

SCHEMA E/R DI UNA UNIVERSITA'

IL MODELLO RELAZIONALE (CAP 2) R. Basili, aa. 2011/2012

Tecniche di normalizzazione

Vincoli. Chiavi esterne Vincoli locali e globali Triggers Leggere Cap 2 Riguzzi et al. Sistemi Informativi

Versione 1.0. (DB Visite Specialistiche)

Basi di Dati Prof. L. Tanca e F. A. Schreiber APPELLO DEL 6 MARZO 2015 Tempo: 2h30m

BASE DI DATI. Esercizi Progettazione concettuale Progettazione logica. Informatica Umanistica Università di Pisa

Il Dimensional Fact Model

Decomposizione senza perdita

Progettazione. Realizzazione

Lezione 3. Modellazione dei Dati mediante il Modello Entità Associazione (ER)

Ma: progettazione dei dati. progettazione delle applicazioni. Progettazione di basi di dati

BASE DI DATI. Esercizio: FACEBOOK Progettazione concettuale Progettazione logica. Informatica Umanistica Università di Pisa

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

GESTIONE MAGAZZINO 1

Versione 1.0. (DB Musei)

Il Modello Entity-Relationship

3.1. CorsodiElementidiBasididati Il modello Entita Relazione (72) vendita ordine studente. Impiegato. Dipartimento. città. Città.

Gestione NARRATIVA del 900

Corso di Basi di Dati

Esame di Basi di Dati, SOLUZIONE APPELLO 09/06/2009

A. Ferrari modello relazionale

Fondamenti di Informatica 2

Perché questi fenomeni indesiderabili?

SQL. Dott.ssa Elisa Quintarelli

Lezione 3. Il modello relazionale

Basi di dati: appello 14/07/06

Progettazione di basi di dati D B M G

Corso di Basi di Dati

Progettazione Logica. Alice Pavarani

Esercitazioni Basi di dati e web Dario Facchinetti

Basi di dati: appello 04/07/06

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

Basi di dati: appello 09/03/07

Corso di Basi di Dati A.A. 2015/2016

Transcript:

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

Aggregazione Usata quando dobbiamo modellare una relazione che coinvolge (insiemi di entità e) un insieme di relazioni L aggregazione ci permette di trattare un insieme di relazioni come un insieme di entità allo scopo di permetterne la partecipazione in (altre) relazioni Controllori è tradotta con una tabella come qualunque altro insieme di relazioni pid Iniziato_il Progetti Controllori pbudget Sponsors Aggregazione verso Relazione ternaria: Controllori è una relazione distinta, con un attributo descrittivo Inoltre, possiamo dire che ogni sponsorizzazione è monitorata da al più un impiegato rid Fino_al r Reparti budget 2

Progettazione concettuale usando il modello ER Scelte di progetto: Un concetto dovrebbe essere modellato come una entità o come un attributo? Un concetto dovrebbe essere modellato come una entità o come una relazione? Identificare le relazioni: binarie o ternarie? Aggregazione? Vincoli nel modello ER: molta della semantica dei dati può (e dovrebbe) essere catturata però alcuni vincoli non possono essere catturati dai diagrammi ER Necessità di ulteriori raffinamenti dello schema: lo schema relazionale ottenuto dai diagrammi ER è un buon punto di partenza. Ma il progetto ER è soggettivo e non può esprimere certi vincoli; quindi questo lo schema relazionale può aver bisogno di raffinamenti 3

Entità verso Attributi Indirizzo dovrebbe essere un attributo di o una entità (connessa a da una relazione)? Dipende dall uso che vogliamo fare delle informazioni sull indirizzo, e dalla semantica dei dati: se abbiamo diversi indirizzi per impiegati, indirizzo deve essere una entità (poiché gli attributi non possono assumere più valori) se la struttura (città, via, etc) è importante, ad esempio vogliamo trovare gli impiegati in una data città, indirizzo deve essere modellato come una entità (poiché i valori degli attributi sono atomici) 4

Entità verso Attributi (segue) Lavora_In2 non permette a un impiegato di lavorare in un reparto per due o più periodi dal al Lavora_In2 rid r Reparti budget Simile al problema della registrazione di indirizzi multipli per un impiegato: vogliamo registrare diversi valori degli attributi descrittivi per ciascuna istanza della relazione Lavora_In3 rid r budget Reparti dal Durata al 5

Entità verso Relazioni Il primo diagramma ER va bene se un direttore ha un budget discrezionale separato per ciascun reparto Che succede se un direttore ha un budget discrezionale che copre tutti i reparti da lui diretti? Ridondanza di rbudget, che è memorizzato per ciascun reparto gestito dal direttore ISA Direttore dal rbudget rid Gestisce2 rid Gestisce3 rbudget dal r budget Reparti r budget Reparti 6

Relazioni binarie verso relazioni ternarie Se ogni polizza è posseduta da un solo impiegato: un vincolo di chiave su Polizze significherebbe che una polizza può coprire solo un familiare! Progetto peggiore polizzaid Copre Polizze costo p p età Familiari età Familiari Intestatario Progetto migliore Polizze Beneficiario polizzaid costo 7

Relazioni binarie verso relazioni ternarie (segue) Il vincolo di chiave ci permette di combinare Acquirente con Polizze e Beneficiario con Familiari I vincoli di partecipazione portano a vincoli NOT NULL Che succederebbe se Polizze fosse un insieme di entità deboli? CREATE TABLE Polizze( polizzaid INTEGER, costo REAL, CHAR(15) NOT NULL, PRIMARY KEY (polizzaid), FOREIGN KEY (CF) REFERENCES ON DELETE CASCADE) CREATE TABLE Familiari ( P CHAR(20), Età INTEGER, polizzaid INTEGER, PRIMARY KEY (p, polizzaid), FOREIGN KEY (polizzaid) REFERENCES Polizze ON DELETE CASCADE) 8

Relazioni binarie verso relazioni ternarie (segue) L esempio precedente illustra un caso in cui due relazioni binarie sono migliori di una relazione ternaria Un esempio nell altra direzione: una relazione ternaria Contratti mette in relazione gli insiemi Pezzi (P), Reparti (R) e Fornitori (F), e ha l attributo descrittivo qta. Nessuna combinazione di relazioni binarie è un sostituto adeguato: F può fornire P, R ha bisogno di P, e R tratta con F non implicano che R sia d accordo sul comprare P da F Come registriamo qta? 9

Vincoli oltre il modello ER Dipendenze funzionali: ad esempio, un reparto può ordinare due pezzi distinti dallo stesso fornitore Non si può esprimere in termini della relazione ternaria Contratti La normalizzazione raffina il progetto ER tenendo in considerazione le DF Dipendenze di inclusione: caso speciale: chiavi esterne (si possono esprimere nel modello ER) ad esempio, almeno una persona deve dipendere da ciascun direttore (l insieme dei valori in Dirige deve essere un sottoinsieme dei valori supervisore_ in Dipende_da) Vincoli generali Ad esempio, budget discrezionale del direttore minore del 10% dei budget combinati di tutti i reparti che gestisce 10

Riassunto della progettazione concettuale La progettazione concettuale segue l analisi dei requisiti Porta a una descrizione ad alto livello dei dati che devono essere memorizzati Il modello ER è molto usato per la progettazione concettuale I costrutti sono espressivi, vicini al modo in cui la gente pensa alle alicazioni Costrutti di base: entità, relazioni e attributi (di entità e relazioni) Alcuni costrutti addizionali: entità deboli, gerarchie ISA e aggregazione Nota: ci sono molte varianti del modello ER 11