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

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

Atzeni, Ceri, Paraboschi, Torlone Basi di dati

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

Traduzione dal modello E/R al modello relazionale

Corso di Basi di Dati

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

Informatica Industriale

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

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

Requisiti della base di dati. Schema concettuale

Progettazione logica

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

Progettazione logica

Gerarchia di Generalizzazione. Esempio. Rappresentazione grafica. Cap. 4 - Modello E/R avanzato: Gerarchie di Generalizzazione/ specializzazione

Cap. 3 - Il modello ER

IL MODELLO ENTITÀ- RELAZIONE. Gli altri costruttori

Un esempio di progettazione concettuale

Corso di Laurea in Informatica Basi di Dati a.a

Generalizzazione. Docente : Alfredo Cuzzocrea Tel. : Informatica

LE BASI DI DATI. Seconda parte La progettazione di database Relazionali SCHEMA LOGICO - Ristrutturazione dello schema concettuale

Progettazione logica: criteri di ottimizzazione

Progettazione logica: criteri di ottimizzazione

Modello Entità-Relazione

Dr. C. d'amat LA PROGETTAZIONE LOGICA

Progettazione di basi di dati: Progettazione Concettuale e Progettazione Logica

Informatica Industriale Modello funzionale: Informazione Modello Entità-Relazione

Progettazione Logica. ISProgLog 1

Laboratorio di Basi di Dati

Modello Entità - Relazione. Basi di dati. Elena Baralis 2007 Politecnico di Torino D B M G D B M G2 D B M G4 D B M G6. Progettazione di basi di dati

D B M G D B M G 2. Sistemi informativi. Progettazione di basi di dati

TRADUZIONE DI SCHEMI

Progettazione di Basi di Dati

Strategie top-down. Primitive di trasformazione top-down. Primitive di trasformazione top-down

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

Il modello Entità/Relazioni (ER)

Traduzione ER - relazionale

Ciclo di vita di un sistema informativo

Schema Entità-Relazione n 1

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

Modello Entità-Relazione (E-R)

ESAME di INFORMATICA e ARCHIVIAZIONE

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

Gestione NARRATIVA del 900

LA PROGETTAZIONE CONCETTUALE

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

Progetto Database. Redatto da: Silvio Lo Nano. Approvato da: Bianca Lo Cascio Silvio Lo Nano Mariarosaria Padalino Davide Rizzo

Numero di Componenti

4/16/07. Le Basi di Dati Relazionali. Concetti Fondamentali. Base di dati, tabella, ennupla, attributo, dominio. Valori nulli

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

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

Il modello Entity-Relationship: elementi avanzati

Basi di Dati. Conversione Modello ER in Modello Relazionale. K. Donno - Conversione Modello ER in Modello Relazionale

Progettazione di basi di dati

Il modello Entity-Relationship: elementi avanzati

Il modello Entity-Relationship per il progetto delle basi di dati

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

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

SCHEMA E/R DI UNA UNIVERSITA'

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

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

Il Modello Concettuale Enità-Relazione (ER)

la città in cui si svolgono, nonché il motivo della variazione di città.

diagrammi entità-relazioni

Progettazione di basi di dati. Progettazione di basi di dati. Ciclo di vita dei sistemi informativi. Fasi del ciclo di vita [1]

Sommario. Introduzione... 13

PROGETTAZIONE CONCETTUALE

INTRODUZIONE ALLA PROGETTAZIONE. Patrizio Dazzi a.a

Generazione diagrammi ER

Corso di Basi di Dati

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

Traduzione dello schema E-R in modello logico relazionale

REGIONE BASILICATA UFFICIO S. I. R. S.

Progettazione Logica. Progettazione Logica

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

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

Basi di Dati. Il Modello Entità-Relazione. Il Modello Entità-Relazione

Progettazione concettuale

IL MODELLO ENTITA - RELAZIONE

LA PROGETTAZIONE LOGICA

Progettazione di basi di dati

Elena Baralis, Claudio Demartini

Insegnamento di Basi di Dati

Metodologie e modelli di progetto

Il modello concettuale dei dati

Dal modello concettuale al modello logico

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

Basi di dati Modelli e linguaggi di interrogazione

Complementi di. Basi di Dati e Sistemi Informativi

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

Basi di dati: progettazione concettuale con schemi E-R

Il modello relazionale

Il modello logico dei dati

Progettazione di Basi di Dati. Dr. C. d'amat

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

Fasi del progetto ( 1 )

Fase di Analisi Class Diagram. Esercizi

Progettazione logica e normalizzazione (lucidi del corso)

Esercitazione 5 Progettazione Concettuale e logica

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

DIPARTIMENTO IMPIEGATO PROGETTO SEDE. (0,1) (1,1) DIREZIONE Cognome. Codice. Telefono (0,1) (1,N) AFFERENZA. Stipendio (0,N) Nome (1,1) Età

Transcript:

La progettazione logica Traduzione dal modello Entità-Associazione al modello Anno accademico 2008/2009 Obiettivo: Costruire uno schema logico in grado di descrivere le informazioni contenute nello schema Entità- Associazione prodotto nella fase di progettazione concettuale Prima di passare allo schema logico, lo schema Entità-Relazione va ristrutturato: Per semplificare la traduzione: non tutti i costrutti del modello E-A hanno una traduzione naturale nei modelli logici (es. attributi composti, attributi multivalore, generalizzazioni) 2 Ristrutturazione di schemi E-A Una serie di passi da effettuare in sequenza: 1. Eliminazione degli attributi multivalore 2. Eliminazione degli attributi composti 3. 4. Scelta degli identificatori primari (per quelle entità che ne hanno più di uno) Eliminazione degli attributi multivalore Attributo multivalore: attributo con cardinalità massima N Ogni attributo multivalore dà luogo a un associazione Fiscale Fiscale Ha recapito Numero 3 4 Eliminazione degli attributi composti Eliminazione degli attributi composti Ogni attributo composto viene sostituiti con gli attributi componenti Se l attributo composto è multivalore o opzionale, si usa una nuova associazione indirizzo matricola nome cognome via CAP citta via CAP citta matricola nome Fiscale telefono Fiscale Ha recapito Prefisso internazionale Prefisso Numero Prefisso internazion. Prefisso Numero 5 6 1

I modelli logici tradizionali (per esempio, il modello ) non consentono di rappresentare direttamente una generalizzazione È necessario trasformare le generalizzazioni in entità e/o associazioni Tre metodi: 1. Accorpamento del genitore nei figli 2. Accorpamento dei figli nel genitore 3. Sostituzione della generalizzazione con associazioni Corso di Per esempio: di universitario Dottorando Iscritto 7 8 1. Accorpamento del genitore nei figli: Per l ereditarietà, attributi e associazioni del genitore vanno aggiunti a tutti i figli Possibile solo se la generalizzazione è totale ed esclusiva Corso di 1. Accorpamento del genitore nei figli: di Dottorando StudIscritto DottIscritto 9 Per preservare l equivalenza con lo schema originale, bisogna aggiungere il vincolo che ogni università ha almeno uno studente 10 (di o dottorando) 2. Accorpamento dei figli nel genitore: Si aggiunge al genitore un attributo che indichi il tipo dell individuo (a quale entità figlia eventualmente appartiene) Si aggiungono al padre gli attributi e le associazioni dei figli, che diventano opzionali Sempre applicabile, ma comporta la presenza di attributi e associazioni opzionali e l aggiunta di vincoli 11 2. Accorpamento dei figli nel genitore: Corso di Tipo universitario Iscritto Per preservare l equivalenza con lo schema originale, bisogna aggiungere vincoli: Lo studente ha un ufficio solo se è un dottorando, ha corso di solo se è studente di ; deve avere advisor solo se è dottorando 12 2

3. Sostituzione della generalizzazione con associazioni: Si aggiungono nuove associazioni che rappresentazione la generalizzazione I figli partecipano obbligatoriamente all associazione, il genitore opzionalmente 13 Corso di 3. Sostituzione della generalizzazione con associazioni: È stud di di universitario È dottorando Dottorando Iscritto 14 Scelta degli identificatori principali Identificatori principali: cioè, le chiavi primarie Criteri per la scelta degli identificatori principali: Gli attributi con valori nulli non possono essere usati come identificatori principali È meglio scegliere un identificatore composto da pochi attributi È meglio scegliere un identificatore interno (composto da pochi attributi) Ora vediamo come tradurre uno schema E-A ristrutturato in uno schema equivalente 15 16 matricola nome cognome data_nascita Se l entità ha identificazione esterna, la chiave primaria della relazione viene derivata dagli identificatori delle entità coinvolte nell identificazione esterna Le entità vengono tradotte con una relazione che comprende gli attributi e la cui chiave primaria corrisponde all identificatore dell entità (matricola,nome,cognome,data_nascita) 17 iscritto () (,) 18 3

Se l entità ha identificazione esterna, la chiave primaria della relazione viene derivata dagli identificatori delle entità coinvolte nell identificazione esterna iscritto Vincoli () di integrità referenziale (,) 19 Partecipazione Progetto Schema corrispondente: (,, ) Progetto(,, Budget) Partecipazione(,, DataInizio) Due vincoli di integrità: tra Partecipazione e () e tra Partecipazione e Progetto () Budget 20 Per rendere più comprensibile lo schema è conveniente effettuare ridenominazioni Per esempio: in Partecipazione,, Progetto (,, ) Progetto(,, Budget) Partecipazione(, Progetto, DataInizio) ditta Partita IVA Fornitore Fornitura Quantità Prodotto Fornitore(PartitaIVA, Ditta) (, ) Prodotto(, Genere) Fornitura(Fornitore, Prodotto,, Quantità) Genere 21 22 ditta Partita IVA Fornitore Fornitura Quantità Prodotto Fornitore(PartitaIVA, Ditta) (, ) Prodotto(, Genere) Fornitura(Fornitore, Prodotto,, Quantità) Genere Data nascita Ruolo 2. Associazioni uno a molti Giocatore Contratto Ingaggio Squadra Uno schema corrispondente: Giocatore(, DataNascita, Ruolo) Squadra(, Città, Colori) Contratto(Giocatore, DataNascitaGiocatore, Squadra, Ingaggio) Città Colori Tre vincoli di integrità (mostrati dalle frecce): ognuno da un attributo dell associazione Fornitura 23 24 4

Data nascita Ruolo 2. Associazioni uno a molti Giocatore Contratto Ingaggio Squadra Un altro schema corrispondente: Giocatore(, DataNascita, Ruolo, Squadra, Ingaggio) Squadra(, Città, Colori) Un vincolo di integrità : tra Squadra della relazione Giocatore e della relazione Squadra Città Colori relazione Direttore Direzione Due possibilità simmetriche e ugualmente valide: Direttore(,,, Diretto, InizioDirezione) (,, ) Direttore(,, ) (,,, Direttore, InizioDirezione) 25 26 relazione Direttore Direzione Due possibilità simmetriche e ugualmente valide: Direttore(,,, Diretto, InizioDirezione) Vincoli di (,, ) integrità referenziale Direttore(,, ) (,,, Direttore, InizioDirezione) Una terza possibilità: rappresentare tutti i concetti in una singola relazione Svantaggi: nello schema E-A le due entità sono separate per qualche ragione: meglio tenere le entità separate anche nel modello logico 27 28 Direzione Direzione Uno schema : (,, ) (,,, Direttore, InizioDirezione) Vincolo di integrità referenziale: tra Direttore della relazione e della relazione Preferibile all alternativa in cui l associazione Direzione viene rappresentata nella relazione : per il nome del dipartimento diretto, sono possibili valori nulli 29 a) Combinare l entità e l associazione Direzione in una relazione, lasciando l entità separata b) Combinare l entità e l associazione Direzione in una relazione, lasciando l entità separata 30 5

Direzione Direzione c) Lasciare l entità, l associazione Direzione e l entità separate: (,, ) (,, ) Direzione(Direttore,, DataInizioDirezione) Vincoli di integrità referenziale c) Lasciare l entità, l associazione Direzione, e l entità separate: (,, ) (,, ) Direzione(Direttore,, DataInizioDirezione) 31 32 Direzione c) Lasciare l entità, l associazione Direzione, e l entità separate: (,, ) (,, ) Direzione(Direttore,, DataInizioDirezione) Vantaggio rispetto le opzioni a) e b): non ci sono i valori nulli 33 6