Progetto Logico per il Modello Relazionale

Documenti analoghi
Elena Baralis, Claudio Demartini

Progettazione logica relazionale. Basi di dati. Elena Baralis 2007 Politecnico di Torino D B M G D B M G3 D B M G6 D B M G5

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

Vincoli. In ogni schema E/R sono presenti dei vincoli Alcuni sono impliciti, in quanto dipendono dalla semantica stessa dei costrutti del modello:

Vendita all ingrosso di piante

Progettazione logica relazionale (1/2)

Progettazione di basi di dati D B M G

Il modello Entità-Relazioni (entity-relationship)

2 - Metodologie e modelli per la progettazione di BD. Informatica II Basi di Dati (08/09) Parte 1. Introduzione alla progettazione

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

Mini Corso di Data Base. Dott. Nicola Dragoni

IL MODELLO ENTITÀ- RELAZIONE. Gli altri costruttori

Basi di Dati. Modello Concettuale

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

Il modello Entità/Relazioni (ER)

MODELLO ENTITY-RELATIONSHIP

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

Progetto concettuale delle basi di dati

Altri costrutti del modello E-R. Esempio di cardinalità. Cardinalità di Residenza. Occorrenze di Residenza. Cardinalità di relationship

Basi di dati Modello ER Figure ed esempi

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

Il Modello Entity-Relationship

Il modello Entity-Relationship: elementi avanzati

Chiarimenti sul modello Entity/Relationship

Il modello Entity-Relationship: elementi avanzati

Progettazione di una base di dati. Il Modello Entity-Relationship (E-R) Requisiti della base di dati

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

Entità. Modello Entità-Relazione (E-R) Relazioni (associazioni) Attributi

SCHEMA E/R DI UNA UNIVERSITA'

diagrammi entità-relazioni

Il Il progetto concettuale

Traduzione. Scelta degli identificatori principali

Progettazione di basi di dati

Progettazione di basi di dati. Progettazione di basi di dati

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

Corso di Basi di Dati

Corso di Laurea in Ingegneria Informatica Fondamenti di informatica II Modulo Basi di dati a.a

Laboratorio di Basi di Dati

PROGETTAZIONE CONCETTUALE

Obiettivi della progettazione logica. Fasi della progettazione logica. Ristrutturazione dello schema ER. Parte VI. Progettazione logica

Introduzione alla progettazione Metodologie e modelli per la progettazione di basi di dati Modello Entità-Associazione Anno accademico 2009/2010

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

Corso di Basi di Dati

Traduzione dal modello E/R al modello relazionale

Atzeni, Ceri, Paraboschi, Torlone Basi di dati

Introduzione alla progettazione Metodologie e modelli per la progettazione di basi di dati Modello Entità-Associazione

Modello Entità-Relazione

Modello Entità-Relazione

TRADUZIONE DI SCHEMI

Basi di dati McGraw-Hill

Il modello Entity-Relationship

Progettazione logica. Requisiti della base di dati. Schema concettuale. Schema logico. Schema fisico. Obiettivo della progettazione logica

Progettazione di basi di dati

Tecnologie dell'informazione e della Comunicazione. Sistemi per la gestione di basi di Dati

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, Capitolo 6: Progettazione di basi di dati: Metodologie e modelli

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

IL MODELLO ENTITY RELATIONSHIP. il modello ER 1

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

Programmazione con Java

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

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

LE BASI DI DATI. Seconda parte La progettazione di database Relazionali SCHEMA LOGICO Regole di derivazione

Entità. Relazioni. Cardinalità delle relazioni. Ogni entità ha un nome che la identifica

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

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

Progettazione di un DB

La Progettazione Logica

Progettazione Logica. Alice Pavarani

Generalizzazione. Docente : Alfredo Cuzzocrea Tel. : Informatica

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

Basi di dati. Progettazione logica

E. Giunchiglia Basi di dati 1 (trasparenze basate su Atzeni,, Ceri, Paraboschi, Torlone: : Basi di dati, Capitolo 8) Progettazione logica

Fondamenti di Informatica e Programmazione

Progettare una base di dati. Progettare una base di dati

Traduzione ER - relazionale

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

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

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

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

PROGETTO LOGICO RELAZIONALE. progetto logico relazionale 1

Informatica Industriale Modello funzionale: Informazione Modello Entità-Relazione

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

Ciclo di vita di un sistema informativo

Partizionamento/accorpamento di concetti

Progettazione di basi di dati

LE BASI DI DATI. Seconda parte La progettazione di database Relazionali SCHEMA LOGICO Regole di derivazione Tabelle riassuntive

Progettazione logica: criteri di ottimizzazione

LA PROGETTAZIONE LOGICA. Prima parte

Requisiti della base di dati. Schema concettuale

Traduzione dello schema E-R in modello logico relazionale

Atzeni, Ceri, Paraboschi, Torlone Basi di dati

TECNOLOGIE DELL INFORMAZIONE E DELLA COMUNICAZIONE PER LE AZIENDE

Progettazione logica

Il Modello Concettuale Enità-Relazione (ER)

Progettazione logica: criteri di ottimizzazione

Corso di Laurea in Informatica Basi di Dati a.a

ESEMPI. Un esempio. Cognome. Telefono. Direzione. Impiegato (0,1) Dipartimento. Afferenza. Nome. Composizione. Partecipazione.

Transcript:

Pagina 1 Progetto Logico per il il Modello Relazionale Autore: Scarsi Riccardo

Pagina 2 Trasformazione da schema ER a modello relazionale Risultato: schema relazionale nella forma normale opportuna. SCHEMA ER passo A A Schema ER semplificato passo B B Set di relazioni (modello relazionale) Autore: Scarsi Riccardo

Pagina 3 Passo di semplificazione dello schema ER 1) Eliminazione delle gerarchie di generalizzazione 2) Eliminazione degli identificatori esterni 3) Eliminazione degli attributi multivalore e composti Autore: Scarsi Riccardo

Pagina 4 Passo di traduzione nel modello relazionale 1) Traduzione di ogni entità in una relazione (tabella) 2) Traduzione delle relazioni: le relazioni 1:1, 1:molti, molti:1 sono modellate aggiungendo attributi a relazioni esistenti le relazioni molti:molti richiedono sempre la creazione di una nuova relazione (tabella) Autore: Scarsi Riccardo

Pagina 5 Eliminazione delle gerarchie di generalizzazione Vi sono alcune possibilità: 1) Collassamento delle sottoclassi nella superclasse: gli attributi delle sottoclassi sono uniti a quelli dell entità superiore si aggiunge un attributo discriminante 2) Eliminazione della superclasse: propagazione degli attributi della superclasse in tutte sottoclassi 3) Mantenimento di tutte le entità, correlate da relazioni che rappresentano la generalizza-zione. Autore: Scarsi Riccardo

Pagina 6 STUDENTE (p,e) Esempio C_FISC NOME CORSO_DI_STUDI TUTORE GRADO(a.d.,(0,1)) TITOLO_TESI (0,1) STUDENTE C_FISC NOME CORSO_DI_ STUDI LAUREANDO UNIVERSITARIO (1,1) HA_ RELATORE TITOLO_ TESI (0,1) SOCIO_ DI TUTORE (0,1) HA_ RELATORE (0,1) SOCIO_ DI FACOLTA` ASSOCIAZIONE_ STUDENTESCA FACOLTA` ASSOCIAZIONE_ STUDENTESCA Autore: Scarsi Riccardo

Pagina 7 Esempio C_FISC NOME IMPIEGATO (0,1) PAGA_ (1,1) CONTR CONTRIBUTI (t,e) DIRETTO_DA SEGRETARIO INGEGNERE MANAGER (0,m) CAPACITA` USA SPECIALIZZAZIONE NUM_SOTTOPOSTI (0,n) WORD_PROCESSOR Rappresentazione di gerarchie di generalizzazione mediante sottoclassi Autore: Scarsi Riccardo

Pagina 8 C_FISC NOME CONOSC CONTR_1 SEGRETARIO USA (0,1) (0,m) C_FISC NOME (0,1) (0,1) SPECIALIZ INGEGNERE (1,1) CONTR_2 DIRIGE_1 (0,1) MANAGER (0,1) CONTRIBUTI NUM_SOTTOPOSTI C_FISC NOME (0,1) CONTR_3 DIRIGE_3 (0,1) (0,n) (1,1) DIRIGE_2 WORD_PROCESSOR Autore: Scarsi Riccardo

Pagina 9 NUM_PROG NOME_PROG PROGETTO (p,o) Esempio (1,m) MEMBRI_ HA PROGETTO BUDGET PROGETTO_ SW MESI_UOMO PROGETTO_ HW USA NUM_ SCHEDE SOTTOCONTRATTO CONTRAENTE_ PRINCIPALE (0,m) COMPONENTI_HW Rappresentazione di gerarchie di generalizzazione tramite relazioni Autore: Scarsi Riccardo

Pagina 10 (0,1) NUM_PROG NOME_PROG PROGETTO (0,1) (1,m) MEMBRI_ HA PROGETTO BUDGET (0,1) E`_SW E`_HW E`_ SOTTOCONTR (1,1) (1,1) (1,1) PROGETTO_ SW MESI_UOMO PROGETTO_ HW USA NUM_ SCHEDE SOTTOCONTRATTO CONTRAENTE_ PRINCIPALE (0,m) COMPONENTI_HW Autore: Scarsi Riccardo

Pagina 11 Eliminazione di identificatori esterni Gli identificatori esterni sono trasformati in identificatori interni. E1 (1,1) ID A E2 B R E2 B B E1 A Autore: Scarsi Riccardo

Pagina 12 Esempio UNIVERSITÀ CODICE UNIVERSITÀ NOME CITTÀ ISCRIVE STUDENTE MATRICOLA_STUDENTE COGNOME ETÀ (a) Schema iniziale Autore: Scarsi Riccardo

Pagina 13 Esempio UNIVERSITÀ CODICE UNIVERSITÀ NOME CITTÀ + STUDENTE CODICE UNIVERSITÀ NUMERO_STUDENTE COGNOME ETÀ (b) Schema finale Autore: Scarsi Riccardo

Pagina 14 Eliminazione di identificatori esterni E1 A E1 A R1 ID1 E2 B E2 A B R2 E3 C E3 ID2 A B C Autore: Scarsi Riccardo

Pagina 15 Eliminazione di attributi composti Due possibilità: a) considerare l attributo composto come insieme di attributi singoli Problema: si perde la nozione di collegamento tra gli attributi b) eliminare le componenti individuali considerando solo i valori aggregati Problema: il singolo attributo deve poi essere scisso dall applicazione per individuare i valori separati Autore: Scarsi Riccardo

Pagina 16 Esempio PERSONA COGNOME ETA` SESSO INDIRIZZO VIA CITTA` (a) Schema con un attributo composto STATO PERSONA (b) Attributo composto ridotto nelle sue componenti COGNOME ETA` SESSO VIA CITTA` STATO PERSONA (c) Attributo composto considerato come attributo singolo COGNOME ETA` SESSO INDIRIZZO Autore: Scarsi Riccardo

Pagina 17 Eliminazione degli attributi multivalore dalle entità Ogni attributo a molti valori è rappresentato da un'entità, in cui può essere rappresentato come attributo a singolo valore. La nuova entità contiene l attributo a molti valori più l identificatore dell entità di origine. L identificatore della nuova entità è l insieme di tutti gli attributi. Autore: Scarsi Riccardo

Pagina 18 Attributi multivalore di entità E1 A B A E1 R EAM B A E1 EAM A B Autore: Scarsi Riccardo

Pagina 19 Esempio PRODOTTO CODICE_PRODOTTO CODICE_MATERIALE DESCRIZIONE PREZZO PRODOTTO CODICE_PRODOTTO DESCRIZIONE PREZZO PRODOTTO_MATERIALE CODICE_PRODOTTO CODICE_MATERIALE Autore: Scarsi Riccardo

Pagina 20 Eliminazione degli attributi multivalore dalle relazioni Attributo a molti valori appartiene alla relazione R tra le entità E1 e E2 nuova entità NE che include 1 o 2 attributi presi da E1 o E2 (o entrambi) in funzione del tipo di relazione: relazione 1 a 1: NE richiede 1 degli identificatori di E1 o E2 relazione 1 a molti: NE comprende l identificatore di E2 (E2 nel lato molti ) relazione molti a molti: NE comprende gli identificatori provenienti da E1 ed E2 Autore: Scarsi Riccardo

Pagina 21 Eliminazione degli attributi multivalore dalle relazioni La chiave primaria di NE è costituita da: tutti gli attributi di NE provenienti da E1 ed E2 l attributo multi valore Gli attributi non multivalore di R rimangono a R. Autore: Scarsi Riccardo

Pagina 22 Attributi a molti valori di relazioni E1 C E1 C (0,n) R A R (0,m) A B E2 D E2 D Attrib B B C D Autore: Scarsi Riccardo

Pagina 23 Esempio INSEGNANTE (0,m) SSN_INSEGNANTE DIPARTIMENTO TELEFONO TIENE MAX_NUM_STUD SEMESTRE CORSO NUM_CORSO Autore: Scarsi Riccardo

Pagina 24 eliminazione di attributo multivalore da una relazione tramite creazione di entità separate INSEGNANTE (0,m) TIENE SSN_INSEGNANTE DIPARTIMENTO TELEFONO MAX_NUM_STUD CORSO NUM_CORSO OFFERTA_ CORSI SSN_INSEGNANTE NUM_CORSO SEMESTRE Autore: Scarsi Riccardo

Pagina 25 Traduzione di entità Entità = Relazione Esempio: IMPIEGATO SSN NOME COGNOME SALARIO IMPIEGATO (SSN, NOME, COGNOME, SALARIO) Autore: Scarsi Riccardo

Pagina 26 Traduzione di relazione 1 a 1 Si considera la cardinalità minima. Una sola relazione, se la partecipazione delle due entità è totale: card min = 1, card max = 1 Scelta della chiave primaria: le due entità hanno la stessa chiave primaria si sceglie quella chiave primaria le due entità hanno chiavi primarie diverse si sceglie una delle due chiavi primarie Autore: Scarsi Riccardo

Pagina 27 Traduzione di relazione 1 a 1 Relazioni separate, se una o entrambe le entità hanno partecipazione parziale nella relazione: card min = 0, card max = 1 un entità con partecipazione parziale tre relazioni separate, oppure una sola relazione scegliendo opportunamente la chiave entrambe le entità con partecipazione parziale tre relazioni separate Autore: Scarsi Riccardo

Pagina 28 Esempio CLIENTE (1,1) (1,1) CON INDIRIZZO_SPED NUM_CLIENTE NOME_CLIENTE NUM_CLIENTE INDIRIZZO_SPED SPEDIZ_CLIENTE (NUM_CLIENTE, NOME_CLIENTE, INDIRIZZO_SPED) (a) una sola relazione Autore: Scarsi Riccardo

Pagina 29 Esempio CLIENTE (0,1) (1,1) POSSIEDE CARTA_CREDITO NUM_CLIENTE NOME_CLIENTE TIPO_CARTA LIMITE_ CREDITO NUM_CARTA CLIENTE (NUM_CLIENTE,NOME_CLIENTE) CARTA_CREDITO (TIPO_CARTA, NUM_CARTA, LIMITE_CREDITO) POSSIEDE_CARTA (TIPO_CARTA,NUM_CARTA,NUM_CLIENTE) (b) Relazioni separate; un entità ha partecipazione parziale Autore: Scarsi Riccardo

Pagina 30 Esempio MASCHIO (0,1) (0,1) SPOSA FEMMINA MASCHIO_SSN NOME DATA DURATA FEMMINA_SSN NOME MASCHIO (MASCHIO_SSN, NOME) FEMMINA (FEMMINA_SSN, NOME) SPOSA (MASCHIO_SSN, FEMMINA_SSN, DATA, DURATA) (b) Relazioni separate; entrambe le entità hanno partecipazioni parziali Autore: Scarsi Riccardo

Pagina 31 Traduzione di relazione 1 a molti B (1,1) E1 R E2 A molti uno Se E1 partecipa completamente, inclusione dell identificatore A in E1. E2 A E1 A B Autore: Scarsi Riccardo

Pagina 32 Esempio CITTA` NOME POPOLAZIONE (1,1) APPARTIENE_ A STATO NOME GOVERNATORE POPOLAZIONE CITTA` (NOME CITTA`, NOME STATO, POPOLAZIONE) STATO (NOME STATO, GOVERNATORE, POPOLAZIONE) (a) Partecipazione totale Autore: Scarsi Riccardo

Pagina 33 Traduzione di relazione 1 a molti L entità sul lato molti ha partecipazione parziale A (0,1) E1 R E2 B molti C uno E1(A) R(A,B,C) E2(B) E` possibile includere B in E1, se B ammette valori null. Autore: Scarsi Riccardo

Pagina 34 Esempio VENDITORE NOME TELEFONO EMETTE SCONTO (0,1) ORDINE NUMERO_ORDINE DATA VENDITORE (NOME, TELEFONO) ORDINE (NUM_ORDINE, DATA) ORDINE_VENDITA (NUM_ORDINE, NOME_VENDITORE, SCONTO) (b) Partecipazione parziale Autore: Scarsi Riccardo

Pagina 35 Traduzione di relazione molti a molti Non dipende dalla cardinalità minima. A (0,n) (0,m) E1 R E2 B C E1(A) R(A,B,C) E2(B) Autore: Scarsi Riccardo

Pagina 36 Esempio STUDENTE ISCRITTO_ A MATRICOLA_STUDENTE COGNOME GPA SEMESTRE VOTO CORSO NUMERO_CORSO NOME_CORSO STUDENTE (NUMERO_STUDENTE, COGNOME, GPA) CORSO (NUMERO_CORSO, NOME_CORSO) ISCRITTO_A (MATRICOLA_STUDENTE, NUMERO_CORSO, SEMESTRE, VOTO) Autore: Scarsi Riccardo

Pagina 37 Relazioni n-arie (n>2) la relazione eredita tutti gli identificatori delle n entità collegate che diventano identificatori della nuova relazione (come per le relazioni binarie molti a molti) Attenzione: in questo caso la chiave può non essere minima Autore: Scarsi Riccardo

Pagina 38 Esempio COD_COMP COMPONENTE PRODOTTO FORNISCE CODICE_PRODOTTO NOME DESCRIZIONE QUANTITA` DESCRIZIONE Relazione ternaria FORNITORE CODICE_FORNITORE NOME INDIRIZZO TELEFONO COMPONENTE (COD_COMP, DESCRIZIONE) PRODOTTO (CODICE_PRODOTTO, NOME, DESCRIZIONE) FORNITORE (CODICE_FORNITORE, NOME, INDIRIZZO, TELEFONO) FORNISCE (CODICE_PRODOTTO, CODICE_COMPONENTE, CODICE_FORNITORE, QUANTITA`) Autore: Scarsi Riccardo

Pagina 39 Esempio AUTOMOBILE NUM_TELAIO NOME_CLIENTE CLIENTE VENDITA_ AUTO PREZZO_AUTO AMMONTARE_PRESTITO DISTRIBUTORE NOME_DISTRIB INTERESSI BANCA_ FINANZIATRICE NOME_BANCA Relazione quaternaria VENDITA_AUTO (NUM_TELAIO, NOME_CLIENTE, NOME_DISTRIB, NOME_BANCA, PREZZO_AUTO, AMMONTARE_PRESTITO, INTERESSI) Autore: Scarsi Riccardo

Pagina 40 Esempio NOME DATA_DI_NASCITA E`_SUBORDINATO_A IMPIEGATO CAPO_ DI E`_IL_SUPERIORE_DI relazione recursiva Relazione molti a molti: IMPIEGATO(NOME, DATA_DI_NASCITA) CAPO_DI(NOME_CAPO, NOME_SUBORDINATO) Relazione 1 a molti: IMPIEGATO(NOME, DATA_DI_NASCITA) CAPO_DI(NOME_SUBORDINATO, NOME_CAPO) o IMPIEGATO(NOME, DATA_DI_NASCITA, NOME_CAPO) Autore: Scarsi Riccardo