Lezione 7. da Modello Concettuale a Logico



Documenti analoghi
Basi di Dati e Sistemi Informativi. Progettazione logica: Il modello relazionale

PROGETTAZIONE DI BASI DI DATI RELAZIONALI ATTRAVERSO LA TRADUZIONE DI SCHEMI ER ED EER A SCHEMI RELAZIONALI

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

Lezione 4. Modello EER

Il modello EER comprende tutti i concetti di modellazione del modello ER, cui si aggiungono:

Rappresentazione grafica di entità e attributi

LE BASI DI DATI. Seconda parte La progettazione di database Relazionali SCHEMA CONCETTUALE LE ASSOCIAZIONI

BASI DI DATI - : I modelli di database

Progettazione Logica. Progettazione Logica

MODELLO E/R. Modellazione dei dati

Database. Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014

Progettare una base di dati che permetta di gestire il problema descritto nel seguito, nei seguenti punti:

Lezione 2. Il modello entità relazione

Progettazione logica relazionale (1/2)

Basi di dati Progettazione logica. Elena Baralis Politecnico di Torino

Modello dei Dati ENTITÀ-RELAZIONE (ENTITY-RELATIONSHIP) é l insieme di concetti, simboli, regole che useremo per rappresentare il modello concettuale

PROGETTAZIONE DI UN DATABASE

Progettazione di Database

Basi di dati. Le funzionalità del sistema non vanno però ignorate

Basi di dati. Gabriella Trucco

Il seguente esempio ha lo scopo di illustrare i 3 tipi di relazione 1:1,1:N,N:N. Tabella Conto: Tabella Conto:

I database. Cosa sono e a cosa servono i Database

Gestione Voti Scolastici

I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere.

Traduzione da ER a Relazionale

SISTEMI INFORMATIVI AVANZATI -2010/ Introduzione

Alessandra Raffaetà. Basi di Dati

Esercitazione di Basi di Dati

Il modello Entity-Relationship (ER)

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due:

MODELLO RELAZIONALE. Introduzione

Il Modello Relazionale

Progettazione di un DB....in breve

Introduzione alla teoria dei database relazionali. Come progettare un database

Progettazione di Database. Un Esempio

Corso di Sistemi di Elaborazione delle Informazioni I Anno 2005/2006. Esercizi entità relazione risolti. a cura di Angela Campagnaro

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

Dati relazionali e XML

Associazioni. Informatica. Associazioni. Associazioni. Associazioni. Attributi. Possono esistere associazioni diverse che coinvolgono le stesse entità

Progettaz. e sviluppo Data Base

Informatica (Basi di Dati)

N ORE LEZIONI FRONTALI: STUDIO INDIVIDUALE ( ) N ORE ESERCITAZIONI/LABORATORIO: STUDIO INDIVIDUALE ( )

Organizzazione degli archivi

Progettazione di Basi di Dati

Cardinalità e identificatori. Informatica. Generalizzazioni. Generalizzazioni. Generalizzazioni. Generalizzazioni

Database 1 biblioteca universitaria. Testo del quesito

MODELLO E/R. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Esercizio data base "Biblioteca"

Programmazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

Progettare una basi di dati vuole dire progettare la struttura dei dati e le applicazioni

Raffinamento dello schema e forme normali. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma

Corso di Sistemi di Elaborazione delle informazioni

TRADUZIONE DI SCHEMI

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

Dal modello concettuale al modello logico

Operazioni sui database

DBMS (Data Base Management System)

Prefazione Sistemi informativi e basi di dati Il modello relazionale Il modello ER

TEORIA sulle BASI DI DATI

PROGRAMMA DI CLASSE 5AI

Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica.

Il Modello Relazionale

Progettazione dei Dati

Esercitazione di Basi di Dati

Introduzione ai Sistemi di Gestione di Basi di Dati XML

Progettazione base dati relazionale

Informatica per le discipline umanistiche 2 lezione 10

La rubrica degli indirizzi di posta elettronica associati al dominio scuole.piemonte.it

IL MODELLO RELAZIONALE

Decomposizione senza perdita. Decomposizione senza perdita. Conservazione delle dipendenze. Conservazione delle dipendenze

INFORMATICA PER LE APPLICAZIONI ECONOMICHE PROF.SSA BICE CAVALLO

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Database: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro

Corso di Laboratorio di Basi di Dati

Progettazione concettuale

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

Gli attributi di STUDENTE saranno: Matricola (chiave primaria), Cognome, Nome.

Capitolo 13. Interrogare una base di dati

Schema della base di dati del Catalogo dei Dati della Pubblica Amministrazione Renzo Orsini

PSNET UC RUPAR PIEMONTE MANUALE OPERATIVO

La progettazione di un database

Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere;

Esercizio 1 (15 punti)

Il modello Entity-Relationship: elementi di base

PROGRAMMAZIONE MODULARE. Periodo mensile. Ore previste

Creare diagrammi di Gantt con Visio 2003

Università degli Studi di Trieste

DATABASE. A cura di Massimiliano Buschi

Lezione V. Aula Multimediale - sabato 29/03/2008

Strumenti di modellazione. Gabriella Trucco

La progettazione concettuale: il modello ER. 17/12/2007 Unità di Apprendimento A2 1

Progetto Motorizzazione. Si vuole realizzare un'applicazione base di dati per la gestione di un ipotetico ufficio della motorizzazione.

ALF0021M MANUALE UTENTE MODULO "SETUP"

Link e permessi. Corso di Laurea Triennale in Ingegneria delle TLC e dell Automazione. Corso di Sistemi Operativi A. A

PROGETTAZIONE CONCETTUALE

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

Vincoli di integrità

Le Basi di Dati. Le Basi di Dati

Transcript:

Lezione 7 da Modello Concettuale a Logico 1

Sommario Algoritmo di mappatura ER-Relazionale 1. Entità 2. Entità deboli 3. Associazioni binarie 1:1 4. Associazioni binarie 1:N 5. Associazioni binarie N:M 6. Attributi multivalore 7. Associazioni N-arie Da modello EER a relazioni a. Possibilità per mappatura di specializzazioni o generalizzazioni b. Tipi unione 2

ER Relazionale 1. Entità Per ciascuna entità E del diagramma ER, creare una relazione R che includa tutti gli attributi semplici di E. Scegliere uno degli attributi chiave di E come chiave primaria di R. Se la chiave di E scelta è composta, ľinsieme degli attributi semplici che la formano saranno chiave primaria di R. Esempio: Si creano le relazioni DIPENDENTE, DIPARTIMENTO e PROGETTO nello schema relazionale, in corrispondenza delle entità del diagramma ER. SSN, DNUMBER e PNUMBER sono le chiavi primaria delle tre relazioni. 3

4

ER Relazionale 2. Entità deboli Per ciascuna entità debole W nel diagramma ER, avente come entità proprietaria ľentità E, creare una relazione R e includere tutti gli attributi semplici di W come attributi di R. Inoltre, includere come chiave esterna di R gli attributi chiav! primaria della relazione corrispondente alľentità proprietaria E. La chiave primaria di R è la combinazione della chiave primaria delľentità proprietaria E e della chiave parziale delľentità debole W. Esempio: Creare la relazione A_CARICO, includere la chiave primaria SSN della relazione DIPENDENTE come chiave esterna (rinominandola ESSN). La chiave primaria di A_CARICO è la combinazione {ESSN, NOME} in quanto NOME è chiave parziale delľentità debole A_CARICO. 5

ER Relazionale 3. Associazioni binarie 1:1 Per ciascuna associazione A binaria 1:1 nel diagramma ER, identificare le relazioni S e T che corrispondono alle entità che partecipano ad A. 1. Chiave esterna: Scegliere una delle relazioni - S ad esempio - e si includa in S come chiave esterna la chiave primaria di T. Inserire tutti gli attributi semplici delľassociazione A in S. È meglio scegliere un entità con partecipazione totale in A nel ruolo di S. 2. Unica relazione: Riunire le due entità e ľassociazione in una singola relazione. Ciò è adeguato quando entrambe le partecipazioni sono totali. 3. Relazione associazione: Creare una terza relazione R con lo scopo di definire un riferimento incrociato tra le chiavi primarie delle due relazioni S e T. Esempio: Ľassociazione 1:1 DIRIGE è trasformata scegliendo ľentità DIPARTIMENTO nel ruolo di S. 6

ER Relazionale 4. Associazioni binarie 1:N Per ciascuna associazione A binaria 1:N, identificare la relazione S che rappresenta ľentità partecipante del lato N. Includere come chiave esterna in S la chiave primaria della relazione T che rappresenta ľentità partecipante del lato 1. Includere tutti gli attributi semplici delľassociazione A come attributi della relazione S. Esempio: Ľassociazione 1:N LAVORA_PER, CONTROLLA, e SUPERVISIONA in figura. Per LAVORA_PER si include la chiave primaria DNUMBER della relazione DIPARTIMENTO come chiave esterna nella relazione DIPENDENTE, chiamandola DNO. 7

ER Relazionale 5. Associazione binarie N:M Per ciascuna associazione A binaria N:M creare una nuova relazione S che rappresenti A. Includere come chiavi esterne in S le chiavi primarie delle relazioni che rappresentano le entità partecipanti (entrambe!). La loro combinazione forma (non sempre!) la chiave primaria di S. Includere anche tutti gli attributi semplici delľassociazione A come attributi di S. Esempio: Ľassociazione N:M LAVORA_SU diventa la relazione LAVORA_SU. Le chiavi primarie di PROGETTI e di DIPENDENTE sono incluse come chiavi esterne e rinominate PNO e ESSN. Ľattributo ORE viene aggiunto. La chiave primaria della relazione LAVORA_SU è la combinazione di {ESSN, PNO}. 8

ER Relazionale 6. Attributi multivalore Per ciascun attributo multivalore A, creare una nuova relazione R. Questa relazione R avrà un attributo corrispondente ad A e, in qualità di chiave esterna, ľattributo K corrispondente alla chiave primaria della relazione che rappresenta ľentità che aveva A come attributo multivalore. La chiave primaria di R è la combinazione degli attributi A e K. Se ľattributo multivalore è composto, occorre includere tutte le componenti semplici nella relazione R. 9

ER Relazionale 7. Associazioni N-arie Per ciascuna associazione A n-aria, con n>2, creare una nuova relazione S per rappresentare A. Includere come chiavi esterne di S le chiavi primarie delle relazioni che rappresentano le n entità partecipanti. Includere anche tutti gli attributi semplici di A come attributi di S. Example: Ľassociazione SUPPY nello schema ER seguente può essere trasformata nella relazione SUPPLY mostrata nello schema relazionale, la cui chiave primaria è la combinazione delle tre chiavi esterne {SNAME, PARTNO, PROJNAME} 10

11

Riassunto Corrispondenza tra modello ER e modello Relazionale Modello ER Entità Associazione 1:1 o 1:N Associazione N:M Associazione n-aria Attributo semplice Attributo composto Attributo multivalore Insieme di valori Attributo chiave Modello Relazionale Relazione Entità Chiave esterna (oppure Relazione Associazione ) Relazione Associazione e due chiavi esterne Relazione Associazione e n chiavi esterne Attributo Insieme di attributi (componenti semplici) Relazione e chiave esterna Dominio Chiave primaria 12

EER Relazionale 8. Specializzazioni e Generalizzazioni Convertire ciascuna specializzazione di m sottoclassi {S1, S2,..., Sm} e superclasse generalizzata C avente attributi {k, A1,..., An} (k attributo chiave di C) in uno schema relazionale seguendo una delle seguenti quattro possibili opzioni: Opzione A: Relazioni multiple - superclasse e sottoclasse Creare una relazione L per C con attributi Attr(L) = {k, A1,..., An} e PK(L) = k. Creare una relazione Li per ciascuna sottoclasse Si, 1 < i < m, con attributi Attr(Li) = {k} U {attr. di Si} e PK(Li) = k. Questa opzione è adatta per tutte le specializzazioni (tot, parz, disg., sovr.). Opzione B: Relazioni multiple - solo relazioni sottoclasse Creare una relazione Li per ogni sottoclasse Si, 1 < i < m, con attributi Attr(Li) = {attr. di Si} U {k, A1,..., An} e PK(Li) = k. Questa opzione è adatta per una specializzazione le cui sottoclassi sono totali. 13

8. Opzione A 14

8. Opzione B 15

EER Relazionale 8. Specializzazioni e Generalizzazioni Opzione C: Relazione singola con un attributo tipo Creare una singola relazione L con gli attributi Attr(L) = {k, A1,..., An} U {attr. di S1} U... U {attr. di Sm} U {t} e PK(L) = k. Ľattributo t è chiamato tipo (o discriminante) e indica a quale sottoclasse appartiene ciascuna tupla. Opzione D: Relazione singola con molti attributi tipo Creare una singola relazione L con gli attributi Attr(L) = {k, A1,..., An} U {attr. di S1} U... U {attr. di Sm} U {t1, t2,..., tm} e PK(L) = k. Ciascun ti, 1 < i < m, è un attributo di tipo booleano che indica se una tupla appartiene alla sottoclasse Si. 16

8. Opzione C 17

8. Opzione D 18

19