Corso di Basi di Dati Progettazione Logica

Slides:



Advertisements
Presentazioni simili
La progettazione concettuale
Advertisements

Informatica II – Basi di Dati (08/09) – Parte 1
Corso di Laurea in Biotecnologie Informatica (Basi di Dati)
IL MODELLO ENTITÀ-RELAZIONE Gli altri costruttori
PROGETTAZIONE DI BASE DI DATI Metodologie e modelli.
IL MODELLO ENTITA’ - RELAZIONE I costruttori di base
LA PROGETTAZIONE LOGICA Seconda parte
DOCUMENTAZIONE DI SCHEMI E/R
Progettazione Concettuale: Il modello Entità-Relazioni
4 – Progettazione – Introduzione e Modello E-R
5 – Progettazione Concettuale
6 – Progettazione Logica
Basi di Dati prof. A. Longheu 4 – Progettazione – Introduzione e Modello E-R Cap. 5 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.
Relazioni Relazione: Associazione o legame logico esistente tra due o più entità Socio Prenota Campo.
Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
L’uso dei database in azienda
PROGETTO LOGICO. Progetto logico Lo schema E/R descrive un dominio applicativo ad un dato livello di astrazione Lo schema E/R è molto utile per: –fornire.
Corso di Informatica (Basi di Dati)
Corso di Informatica (Basi di Dati)
LA PROGETTAZIONE LOGICA
Basi di dati Università Degli Studi Parthenope di Napoli
LA PROGETTAZIONE DELLE BASI DI DATI
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1999
Metodologie e Modelli di Progetto
Basi di dati 2002 EER Vogliamo aumentare lespressività degli Entity Model EER: Entity Model Esteso.
Modello E-R Generalizzazioni
Progettazione di una base di dati
Relazioni Relazione : concetto mutuato dalla definizione di relazione matematica della teoria degli insiemi, come sottoinsieme del prodotto cartesiano.
Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti.
Strategia bottom-up Nella strategia bottom-up le specifiche iniziali sono suddivise in componenti via via sempre più piccole, fino a descrivere frammenti.
Partizionamento/accorpamento di concetti
Modello E-R Generalizzazioni
Basi di dati Claudia Raibulet
La progettazione di un sistema informatico
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
LA PROGETTAZIONE DELLE BASI DI DATI
Il modello ER Proposto da Peter Chen nel 1976 rappresenta uno standard per la progettazione concettuale (in particolare per le basi di dati) Ha una rappresentazione.
Corso di Laurea in Informatica
Progettare un database
Basi di Dati e Sistemi Informativi
Corso di Basi di Dati Progettazione di Basi di Dati
Informatica II – Basi di Dati (08/09) – Parte 2 Gianluca Torta Dipartimento di Informatica dellUniversità di Torino
Progettazione Concettuale: Strategie di Progettazione
Basi di Dati e Sistemi Informativi
Sistemi di Elaborazione delle Informazioni Mod.I.
Basi di Dati e Sistemi Informativi
Basi di Dati e Sistemi Informativi
Basi di Dati e Sistemi Informativi
Basi di Dati e Sistemi Informativi
Basi di dati Progetto Logico per il Modello Relazionale (E
Progettazione di una base di dati Progettazione logica (modello relazionale)
Progettazione logica Analisi delle prestazioni su schemi E-R
I DBMS BASI DI DATI (DATABASE) Insieme organizzato di dati utilizzati
Progettazione Concettuale:
Progettazione Logica Il prodotto della progettazione logica è uno schema logico che rappresenta le informazioni contenute nello schema E-R in modo corretto.
Database Progettazione Concettuale
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1999
Progettazione di Database
Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill.
Progettazione di una base di dati Ciclo di vita di un sistema informativo Studio di fattibilità definisce le varie alternative possibili, i relativi costi.
Basi di dati e Relazioni Uno schema di relazione R(X) è costituito da un simbolo (nome della relazione) R e da una serie di attributi X={A 1, A 2, …, A.
Progettazione Logica Il prodotto della progettazione logica è uno schema logico che rappresenta le informazioni contenute nello schema E-R in modo corretto.
Strategie di progetto Si possono utilizzare le strategie tipiche dello sviluppo di un processo di ingegnerizzazione (es. ingegneria del software). Strategie.
PROGETTAZIONE DI BASE DI DATI Metodologie e modelli.
Metodologie e modelli per il progetto. 2 Introduzione alla progettazione Il problema: progettare una base di base di dati a partire dai suoi requisiti.
1 Esami Esame scritto: Tra 21 e 25 domande: 20 domande chiuse (20 punti),  5 domande aperte (10 punti) 1½ ore Esame orale/applicativo: Esercizi usando.
Eprogram informatica V anno.
NORMALIZZAZIONE ESERCIZI. INTRODUZIONE La modellazione E-R ci ha consentito di descrivere schemi relazionali Lo strumento base per la modellizzazione.
Basi di dati - 09Marco Maggini1 Forme normali forme normali  Le forme normali verificano la qualità di uno schema di una base di dati relazionale  Presenza.
Transcript della presentazione:

Corso di Basi di Dati Progettazione Logica Home page del corso: http://www.cs.unibo.it/~difelice/dbsi/

Progettazione logica Analisi dei requisiti e progettazione in dettaglio … Studio/analisi dei requisiti Risultati Fasi della progettazione SCHEMA CONCETTUALE Progettazione concettuale SCHEMA LOGICO Progettazione logica SCHEMA FISICO Progettazione fisica

Progettazione logica L’obiettivo della progettazione logica e’ la realizzazione del modello logico (es. relazionale) a partire dalle informazioni del modello E-R. DIAGRAMMA E-R TAVOLA VOLUMI ANALISI COSTI PROGETTAZIONE LOGICA Modello Relazionale

Progettazione logica Dipendente Progetto Tecnico Sviluppatore Release Nome Anno Assunzione Titolo Budget (1,1) Direzione (0,1) Dipendente Progetto (0,N) Partecipazione (0,N) (1,N) Versioni Tecnico Sviluppatore Mesi Uomo (1,1) Skill Release Numero Programmatore Analista Data

Progettazione logica Dipendente Progetto Nome Anno Assunzione Titolo Budget (1,1) Direzione (0,1) Dipendente Progetto DIPENDENTE(Nome, AnnoAssunzione, Skill, Tipo) PROGETTO(Titolo, Budget, NomeDirettore) RELEASE(Numero, TitoloProgetto, Data) PARTECIPAZIONE(NomeDipendente, NomeProgetto, MesiUomo) (0,N) Partecipazione (0,N) (1,N) Versioni Tecnico Sviluppatore Mesi Uomo (1,1) Skill Release Numero Programmatore Analista Data

Progettazione logica Una possibilita’ (sconsigliata, ma veloce) e’ quella di tradurre ogni entita’ ed ogni relazione del modello E-R con una tabella corrispondente … PROBLEMI: Efficienza  Quante tabelle sono generate? Efficienza delle operazioni sui dati? Correttezza  Come si possono tradurre le generalizzazioni? Non esiste un costrutto equivalente nel modello E-R …

Progettazione logica Per garantire la qualita’ dello schema prodotto, la progettazione logica tipicamente include due step: Ristrutturazione del modello concettuale  modificare lo schema E-R per semplificare la traduzione ed ottimizzare il progetto. Traduzione nel modello logico  traduzione dei costrutti del modello E-R nei costrutti del modello relazionale …

Progettazione logica Per garantire la qualita’ dello schema prodotto, la progettazione logica tipicamente include due step: Ristrutturazione del modello concettuale  modificare lo schema E-R per semplificare la traduzione ed ottimizzare il progetto. Traduzione nel modello logico  traduzione dei costrutti del modello E-R nei costrutti del modello relazionale …

Progettazione logica Prima di tradurre il modello E-R, e’ necessario ristrutturarlo per motivi di correttezza/efficienza: Eliminazione delle generalizzazioni Eliminazione degli attributi multi-valore Partizionamento/accorpamento di concetti Scelta degli identificatori Analisi delle ridondanze

Progettazione logica E0 E0 E1 E2 ATIPO E1 E2 A11 A21 Attributo aggiunto … A11 A21 SOLUZIONE 1: Accorpamento delle entita’ figlie nell’entita’ genitore (con relativi attributi/relazione)…

Progettazione logica E0 E1 E2 E1 E2 SOLUZIONE 2: Accorpamento delle entita’ genitore nelle entita’ figlie (con relativi attributi/relazione)…

Progettazione logica Quale traduzione utilizzare? Dipende … SOL1 introduce valori nulli, ed un attributo aggiuntivo, ma e’ conveniente quando non ci sono troppe distinzioni tra E0, E1 ed E2 … SOL2 e’ possibile solo se la generalizzazione e’ totale, introduce valori nulli, ma e’ conveniente quando ci sono operazioni che coinvolgono solo E1 ed E2 ma non l’entita’ genitore E0 …

Progettazione logica E0 E0 E1 E2 E1 E2 (0,1) E0 E0 (0,1) R01 R02 (1,1) (1,1) E1 E2 E1 E2 A11 A21 A11 A21 SOLUZIONE 3: Sostituzione delle generalizzazione con relazioni tra entita’ genitore ed entita’ figlie…

Progettazione logica SOL3 non introduce valori nulli, ed e’ utile quando ci sono operazioni che si riferiscono solo ad entita’ di E1, E2 ed E0, ma si presenta la necessita’ di introdurre dei vincoli: Un’occorrenza di E0 non puo’ partecipare in contemporanea ad R01 ed R02. Se la generalizzazione e’ totale, ogni occorrenza di E0 deve appartenere ad R01 o R02 …

Progettazione logica Dipendente Progetto Tecnico Sviluppatore Release Nome Anno Assunzione Titolo Budget (1,1) Direzione (0,1) Dipendente Progetto (0,N) Partecipazione (0,N) Skill (1,N) Tipo Versioni Tecnico Sviluppatore Mesi Uomo (1,1) Skill Release Numero Programmatore Analista Data

Progettazione logica Prima di tradurre il modello E-R, e’ necessario ristrutturarlo per motivi di correttezza/efficienza: Eliminazione delle generalizzazioni Eliminazione degli attributi multi-valore Partizionamento/accorpamento di concetti Scelta degli identificatori Analisi delle ridondanze

Progettazione logica Gli attributi multivalore non sono presenti nel modello logico, ma possono essere sostituiti introducendo una relazione uno-a-molti … A01 A02 A03 Non introduce valori nulli, ma aumenta il numero di entita’ presenti nel sistema … E0 (1,N) A01 A02 (1,N) (1,1) R E0 A03

Progettazione logica Gli attributi multivalore non sono presenti nel modello logico, ma possono essere sostituiti introducendo una relazione uno-a-molti … Nome Cognome Telefono PERSONA (1,N) Nome Cognome (1,N) (1,1) R PERSONA TELEFONO

Progettazione logica Prima di tradurre il modello E-R, e’ necessario ristrutturarlo per motivi di correttezza/efficienza: Eliminazione delle generalizzazioni Eliminazione degli attributi multi-valore Partizionamento/accorpamento di concetti Scelta degli identificatori Analisi delle ridondanze

Progettazione logica Per una dato modello E-R, e’ possibile ridurre il numero di accessi: separando attributi di un concetto che vengono acceduti separatamente  partizionamenti raggruppando attributi di concetti diversi acceduti insieme  accorpamenti E’ necessario avere indicazioni sul volume dei dati per effettuare partizionamenti/accorpamenti.

Progettazione logica Gli accorpamenti di entita’ riguardano in genere associazioni uno-ad-uno… Codice Nome Cognome Indirizzo Interno PROPRIETA’ (0,1) (1,1) PERSONA ABITAZIONE Gli accessi all’entita’ Persona riguardano sempre i dati dell’Abitazione … Codice Nome Cognome Indirizzo PERSONA Interno

Progettazione logica Partizionamento verticale di un’entita’ sulla base dei suoi attributi … CF Nome Cognome Le operazioni che riguardano i dati anagrafici non riguardano i dati universitari… Matricola STUDENTE Corso di Laurea CF Nome Cognome Matricola Corso di Laurea DATI (1,1) (1,1) STUDENTE DATI UNIVERSITA

Progettazione logica Prima di tradurre il modello E-R, e’ necessario ristrutturarlo per motivi di correttezza/efficienza: Eliminazione delle generalizzazioni Eliminazione degli attributi multi-valore Partizionamento/accorpamento di concetti Scelta degli identificatori Analisi delle ridondanze

Progettazione logica Nei casi di entita’ con piu’ identificatori, e’ necessario sceglierne uno: Evitare attributi con valori nulli. Scegliere l’ identificatore minimale. Preferire identificatori interni ad identificatori esterni che coinvolgono molte entita’. Preferire identificatori utilizzati da molte operazioni per l’accesso all’entita’.

Progettazione logica Prima di tradurre il modello E-R, e’ necessario ristrutturarlo per motivi di correttezza/efficienza: Eliminazione delle generalizzazioni Eliminazione degli attributi multi-valore Partizionamento/accorpamento di concetti Scelta degli identificatori Analisi delle ridonanze

Progettazione logica Nel modello E-R, potrebbero essere presenti ridondanze sui dati, ossia informazioni significative ma derivabili da altre gia’ presenti nel modello E-R. Vantaggi delle ridondanze: Operazioni sui dati (spesso) piu’ efficienti Svantaggi delle ridondanze: Maggiore occupazione di memoria Maggiore complessita’ degli aggiornamenti

Progettazione logica Le ridondanze in un diagramma E-R possono presentarsi in varie forme: ATTRIBUTI DERIVABILI Lordo Netto Tasse Lo stipendio netto si puo’ ricavare dal lordo e dalle tasse. STIPENDIO Il Numero Abitanti si puo’ ricavare contando le Persone Codice Fiscale Nome Codice Descrizione Numero Abitanti RESIDENTI (1,N) PERSONA (1,1) CITTA

Progettazione logica In questa fase, e’ necessario valutare cosa fare delle ridondanze … Il Numero Abitanti si puo’ ricavare contando le Persone Codice Fiscale Nome Codice Descrizione Numero Abitanti (1,1) RESIDENTI (1,N) PERSONA CITTA SOLUZIONE1: Eliminare l’attributo NumeroAbitanti SOLUZIONE2: Conservare l’attributo nello schema.

Progettazione logica Per scegliere cosa fare di un attributo ridondante, si puo’ utilizzare l’analisi del modello E-R che abbiamo visto nella progettazione concettuale. Sia S lo schema E-R senza ridondanze Sia Srid lo schema E-R con ridondanze Si calcolano il costo e l’occupazione di memoria di entrambi gli schemi: <c(S),m(S)> e <c(Srid), m(Srid)> Si confrontano c(S)/c(Srid) e |m(s) – m(Srid)|

Progettazione logica Per effettuare l’analisi del modello E-R, e’ necessario disporre delle tavole dei volumi e delle operazioni. Operazione1: Memorizza una nuova persona con la relativa citta’ d’appartenza (200 volte/giorno). Operazione2: Visualizza tutti i dati di una citta’, incluso il numero di abitanti (5 volte/giorno) TAVOLA delle OPERAZIONI Operazione Tipo Frequenza Operazione1 I 200 Operazione2 5

Progettazione logica Per effettuare l’analisi del modello E-R, e’ necessario disporre delle tavole dei volumi e delle operazioni. TAVOLA dei VOLUMI Concetto Tipo Volume Citta’ E 100 Persona 500000 Residenti R Assumiamo che le informazioni sui volumi siano contenute nelle specifiche dei dati …

Progettazione logica c(Op1)= 200*1*(3*2 +1)=1400 Analisi dello schema Srid (caso con ridondanza): Operazione 1: frequenza 200 volte/giorno TAVOLA DEGLI ACCESSI Concetto Costrutto Accessi Tipo Persona Entita’ 1 W Residenti Relazione Citta’ R wI=1 a=2 c(Op1)= 200*1*(3*2 +1)=1400

Progettazione logica c(Op2)= 5*1*(0*2 +1)=5 Analisi dello schema Srid (caso con ridondanza): Operazione 2: frequenza 5 volte/giorno TAVOLA DEGLI ACCESSI wI=1 a=2 Concetto Costrutto Accessi Tipo Citta’ Entita’ 1 L c(Op2)= 5*1*(0*2 +1)=5

Progettazione logica c(Op1)= 200*1*(2*2 +0)=800 Analisi dello schema S (caso senza ridondanza): Operazione 1: frequenza 200 volte/giorno TAVOLA DEGLI ACCESSI Concetto Costrutto Accessi Tipo Persona Entita’ 1 W Residenti Relazione wI=1 a=2 c(Op1)= 200*1*(2*2 +0)=800

Progettazione logica c(Op2)= 5*1*(0*2 +5001)=25005 Analisi dello schema S (caso senza ridondanza): Operazione 2: frequenza 5 volte/giorno TAVOLA DEGLI ACCESSI Concetto Costrutto Accessi Tipo Citta’ Entita’ 1 L Residenza Relazione 5000 wI=1 a=2 c(Op2)= 5*1*(0*2 +5001)=25005

Progettazione logica Riassumendo: c(Srid) = c(Op1) + c(Op2) = 1400 + 5 ~ 1400 c(S) = c(Op1) + c(Op2) = 800 + 25005 ~ 26000 Vediamo ora l’occupazione di memoria: m(S) = X (byte) m(Srid) = X + 100 *4 = X+ 400 (byte) Volume dell’entita’ Citta Il campo aggiuntivo richiede 4 byte

Progettazione logica Riassumendo, la presenza della ridondanza: Introduce un overhead di memoria di 400 byte Migliora lo speedup delle operazioni di un fattore 26000/1400 ~ 18! Risultato dell’analisi delle ridondanze  In questo caso, e’ conveniente conservare (o nel caso introdurre) l’attributo Numero Abitanti!

Progettazione logica Per garantire la qualita’ dello schema prodotto, la progettazione logica tipicamente include due step: Ristrutturazione del modello concettuale  modificare lo schema E-R per semplificare la traduzione ed ottimizzare il progetto. Traduzione nel modello logico  traduzione dei costrutti del modello E-R nei costrutti del modello relazionale …

Progettazione logica La progettazione logica deve tradurre i costrutti del modello E-R nei costrutti del modello relazionale, garantendo l’equivalenza dei modelli … In pratica: Le entità diventano tabelle sugli stessi attributi. Le relazioni del modello E-R diventano tabelle sugli identificatori delle entità coinvolte (più gli attributi propri),.. ma sono possibili traduzioni differenti sulla base delle cardinalita’ in gioco!

Progettazione logica Traduzione di entita’ con identificatore interno Matricola Nome Cognome IMPIEGATO(Matricola, Nome, Cognome, DataNascita) IMPIEGATO Data Nascita Le entita’ del modello E-R si traducono in tabelle del modello relazionale. L’identificatore del modello E-R diventa la chiave primaria della tabella.

Progettazione logica Traduzione di entita’ con identificatore esterno Nome Cognome Matricola Nome Citta Indirizzo (1,1) (1,N) STUDENTE UNIVERSITA Le entita’ con identificatore esterno si traducono in una tabella che include tra le chiavi gli identificatori dell’entita’ esterna.

Progettazione logica Traduzione di entita’ con identificatore esterno Nome Cognome Matricola Nome Citta Indirizzo (1,1) (1,N) STUDENTE UNIVERSITA STUDENTE(Matricola, NomeUniversita, Nome, Cognome) UNIVERSITA(Nome, Citta, Indirizzo)

Progettazione logica Traduzione di relazioni molti-a-molti Matricola Cognome Codice Data Descrizione Budget (0,N) LAVORO (0,N) IMPIEGATO PROGETTO Ogni entita’ diventa una tabella con lo stesso nome, stessi attributi e per chiave il suo identificatore. Ogni relazione diventa una tabella, con gli stessi attributi e come chiave gli identificatori delle entita’ coinvolte.

Progettazione logica Traduzione di relazioni molti-a-molti Matricola Cognome Codice Budget Data Descrizione (0,N) LAVORO (0,N) IMPIEGATO PROGETTO IMPIEGATO(Matricola, Cognome) PROGETTO(Codice, Descrizione, Budget) LAVORO(Matricola,Codice, Data) Vincoli di integrita’ tra gli attributi

Progettazione logica Traduzione di relazioni molti-a-molti Matricola Cognome Codice Budget Data Descrizione (0,N) LAVORO (0,N) IMPIEGATO PROGETTO E’ possibile ridenonimare gli attributi della relazione IMPIEGATO(Matricola, Cognome) PROGETTO(Codice, Descrizione, Budget) LAVORO(MatImpiegato,CodProgetto, Data)

Progettazione logica Traduzione di relazioni uno-a-molti Nome Cognome Ruolo Nome Sede Ingaggio Citta’ (1,1) CONTRATTO (0,N) GIOCATORE SQUADRA Sono possibili due traduzioni: Traducendo la relazione come una tabella separata (come nel caso delle relazioni molti-a-molti). Inglobando la relazione nell’entita’ con card. massima 1.

Progettazione logica Traduzione di relazioni uno-a-molti Nome Cognome Ruolo Nome Sede Ingaggio Citta’ (1,1) CONTRATTO (0,N) GIOCATORE SQUADRA GIOCATORE(Nome, Cognome, Ruolo) SQUADRA(Nome, Citta’, Sede) CONTRATTO(Nome, Cognome, NomeSquadra,Ingaggio) TRADUZIONE 1

Progettazione logica Traduzione di relazioni uno-a-molti Nome Cognome Ruolo Nome Sede Ingaggio Citta’ (1,1) CONTRATTO (0,N) GIOCATORE SQUADRA TRADUZIONE 2 GIOCATORE(Nome, Cognome, Ruolo, NomeSquadra, Ingaggio) SQUADRA(Nome, Citta’, Sede)

Progettazione logica Traduzione di relazioni uno-a-molti Nome Cognome Ruolo Nome Sede Ingaggio Citta’ (_,1) CONTRATTO (0,N) GIOCATORE SQUADRA Cosa accade se vario la cardinalita’ min. di GIOCATORE? cardMin=0  Soluzione 1 preferibile cardMin=1  Soluzione 2 preferibile

Progettazione logica Traduzione di relazioni uno-a-uno Nome Cognome Stipendio Nome Sede Data Citta’ (_,1) DIREZIONE (_,1) IMPIEGATO UFFICIO Sono possibili 3 diverse alternative, in base alla cardinalita’minima delle due entita’ in gioco …

Progettazione logica Traduzione di relazioni uno-a-uno Nome Cognome Stipendio Nome Sede Data Citta’ (1,1) DIREZIONE (1,1) IMPIEGATO UFFICIO Caso 1: Cardinalita’ obbligatorie per entrambe le entita’ (cardMin pari ad 1 per entrambe). Si traduce il modello inglobando la relazione in una delle due entita’ (traduzioni simmetriche).

Progettazione logica Traduzione di relazioni uno-a-uno Nome Cognome Stipendio Nome Sede Data Citta’ (1,1) DIREZIONE (1,1) IMPIEGATO UFFICIO IMPIEGATO(Nome, Cognome, Stipendio, Data, NomeUfficio) UFFICIO(Nome, Citta’, Sede) In alternativa, e’ possibile inglobare la relazione DIREZIONE nell’entita’ UFFICIO …

Progettazione logica Traduzione di relazioni uno-a-uno Nome Cognome Stipendio Nome Sede Data Citta’ (0,1) DIREZIONE (1,1) IMPIEGATO UFFICIO Caso 2: Partecipazione obbligatoria per una delle entita’ (cardMax=1 per una delle due). Si traduce il modello inglobando la relazione nell’entita’che ha partecipazione obbligatoria …

Progettazione logica Traduzione di relazioni uno-a-uno Nome Cognome Stipendio Nome Sede Data Citta’ (0,1) DIREZIONE (1,1) IMPIEGATO UFFICIO IMPIEGATO(Nome, Cognome, Stipendio) UFFICIO(Nome, Citta’, Sede, Data, NomeDirettore, CognomeDirettore,)

Progettazione logica Traduzione di relazioni uno-a-uno Nome Cognome Stipendio Nome Sede Data Citta’ (0,1) DIREZIONE (0,1) IMPIEGATO UFFICIO Caso 3: Partecipazione facoltativa per entrambe le entita’ (cardMin pari a 0 per entrambe). Si traduce il modello traducendo la relazione come una tabella a se’ stante (analogo del caso uno-a-molti).

Progettazione logica Traduzione di relazioni uno-a-uno Nome Cognome Stipendio Nome Sede Data Citta’ (0,1) DIREZIONE (0,1) IMPIEGATO UFFICIO IMPIEGATO(Nome, Cognome, Stipendio) UFFICIO(Nome, Citta’, Sede) DIREZIONE(NomeUfficio, NomeDirettore, CognomeDirettore, Data)

Progettazione logica Come per la fase di progettazione concettuale, e’ necessario corredare lo schema logico di opportuna documentazione perche’ non tutti i vincoli sono esprimibili nello schema logico: Tabella delle business rules (vista in precedenza) Insieme dei vincoli di integrita’ referenziali Rappresentati attraverso tabella Rappresentati in maniera grafica (diagramma logico).

Progettazione logica IMPIEGATO( Nome, Cognome, Stipendio) cammino di join DIREZIONE( NumUfficio, NomeDir, CognomeDir, Data) cammino di join UFFICIO( Nome, Citta, Sede) Esempio di diagramma logico, con vincoli di integrita’ …

Progettazione logica Ricapitolando: STEP2: Progettazione Logica STEP 2.1: Analisi delle ridondanze STEP 2.2: Eliminazione delle generalizzazioni e di attributi multi-valore STEP 2.3: Accorpamenti/partizionamenti di concetti STEP 2.4: Scelta degli identificatori STEP 2.5: Traduzione nel modello logico