Corso Di Basi Di Dati 04 Progettazione Logica

2,331 views

Published on

Published in: Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,331
On SlideShare
0
From Embeds
0
Number of Embeds
42
Actions
Shares
0
Downloads
83
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Corso Di Basi Di Dati 04 Progettazione Logica

  1. 1. Corso di Basi di Dati e Laboratorio PROGETTAZIONE LOGICA Prof. Silvana Castano A.A. 2005/2006 Basi di Dati e Laboratorio 1 PROGETTAZIONE LOGICA SCHEMA CONCETTUALE (i.e., E-R) SCHEMA LOGICO (specifico del DBMS, i.e., relazionale) A.A. 2005/2006 Basi di Dati e Laboratorio 2
  2. 2. ATTIVITA’ • Ristrutturazione dello schema concettuale (generale, indipendente dallo specifico modello logico) • Traduzione nello schema logico (si fa riferimento ad uno specifico modello logico, per noi sarà il modello relazionale) • Verifica di ‘normalizzazione’ sullo schema logico ottenuto A.A. 2005/2006 Basi di Dati e Laboratorio 3 RISTRUTTURAZIONE DI SCHEMI ER • Modifiche apportate allo schema ER sulla base di valutazioni legate ai parametri di carico della BD • Classi di modifiche: • Analisi dei dati derivati (ridondanza) • Eliminazione delle gerarchie di generalizzazione • Scelta degli identificatori primari A.A. 2005/2006 Basi di Dati e Laboratorio 4
  3. 3. INPUT • Schema Concettuale (ER) dei dati • Dati quantitativi sul carico applicativo della BD • Modello logico obiettivo (i.e., relazionale) A.A. 2005/2006 Basi di Dati e Laboratorio 5 CARICO APPLICATIVO DELLA BD • Carico: insieme di applicazioni che la BD dovrà supportare • Per valutare il carico operativo della BD è necessario conoscere informazioni circa: – Volume dei dati (nr. medio di occorrenze di ogni entità/associazione, nr. medio di partecipazioni delle entità alle associazioni) – Operazioni più frequenti • Tipologia: interattiva o batch • Frequenza: nr. Medio di esecuzioni in un certo intervallo di tempo • Dati coinvolti negli accessi: entità e/o associazioni A.A. 2005/2006 Basi di Dati e Laboratorio 6
  4. 4. ANALISI DEI DATI DERIVATI • Presenza di attributi il cui valore è derivato (es., valore aggregato) ovvero può essere calcolato mediante algoritmi a partire da altri valori memorizzati nella BD • VANTAGGIO: Efficienza, si evita di ricalcolare il valore derivato ogni volta • SVANTAGGI: Overhead di elaborazione ==> necessità di mantenere la consistenza tra i dati derivati ed i dati costituenti. Occupazione di memoria A.A. 2005/2006 Basi di Dati e Laboratorio 7 DATI DERIVATI Attributi derivabili da altri attributi della stessa entità netto lordo Fattura IVA Attributi derivabili da altri attributi di altre entità (1,N) (1,N) Imp. totale Acquisto composizione Prodotto prezzo A.A. 2005/2006 Basi di Dati e Laboratorio 8
  5. 5. DATI DERIVATI (1,1) (1,N) Persona residenza Città Nr. abitanti Attributi derivabili da operazioni di conteggio di occorrenze docenza Professore (0,N) (1,N) (1,1) (0,N) (1,N) (1,1) Studente frequenza Corso insegnamento Associazioni derivabili dalla composizione di altre associazioni (cicli) A.A. 2005/2006 Basi di Dati e Laboratorio 9 ANALISI DEI DATI DERIVATI • La convenienza del mantenimento degli dati derivati va valutata confrontando: – Nr. di operazioni necessarie per calcolare il dato derivato VS. – Nr. di operazioni di aggiornamento extra necessarie per mantenere la consistenza della BD in presenza del dato derivato – Memoria addizionale utilizzata A.A. 2005/2006 Basi di Dati e Laboratorio 10
  6. 6. ELIMINAZIONE GERARCHIE DI GENERALIZZAZIONE • I modelli logici come il relazionale non rappresentano esplicitamente le gerarchie di generalizzazione • Occorre rappresentarle attraverso tipi di entità e associazioni • 3 opzioni: – 1: Mantenimento della sola entità superclasse – 2: Mantenimento delle sole entità sottoclassi – 3: Mantenimento di tutti i tipi di entità A.A. 2005/2006 Basi di Dati e Laboratorio 11 Opzione 1 • Si mantiene solo la superclasse e si eliminano le sottoclassi • Ristrutturazioni sullo schema – Aggiunta di un nuovo attributo TIPO sull’entità generica per mantenere la distinzione tra le varie occorrenze dell’entità generica – Revisione delle cardinalità di associazioni/attributi definiti sulle entità sottoclasse (la cardinalità minima diventa zero) • Applicabilità: tutti i tipi di gerarchie A.A. 2005/2006 Basi di Dati e Laboratorio 12
  7. 7. ESEMPIO CF (1,1) (0,N) Impiegato afferisce Dipartimento Nome (t,e) Segretario Ingegnere Direttore Nr. Subalterni Skill (0,N) Specializzazione Usa (0,N) WordProc. A.A. 2005/2006 Basi di Dati e Laboratorio 13 ESEMPIO opzione 1 Tipo (S/I/D) CF (1,1) (0,N) Impiegato afferisce Dipartimento Nome Skill (0,1) (0,1) (0,1) Nr.Subalterni Specializzazione (0,N) Usa (0,N) WordProc. A.A. 2005/2006 Basi di Dati e Laboratorio 14
  8. 8. Opzione 2 • Si mantengono solo le sottoclassi e si elimina la superclasse • Ristrutturazioni sullo schema – Ereditarietà esplicita di tutti gli attributi e associazioni della superclasse sulle sottoclassi – Non si alterano le cardinalità delle associazioni definite sulle sottoclassi • Applicabilità: gerarchie di tipo TE A.A. 2005/2006 Basi di Dati e Laboratorio 15 ESEMPIO opzione 2 (0,N) (0,N) Dipartimento (0,N) afferisce afferisce afferisce (1,1) (1,1) (1,1) CF CF Skill Segretario Ingegnere Direttore Nr.Subalterni Nome Nome (0,N) CF Nome Usa Specializzazione (0,N) WordProc. A.A. 2005/2006 Basi di Dati e Laboratorio 16
  9. 9. Opzione 3 • Si mantengono sia la superclasse sia le sottoclassi • Ristrutturazioni sullo schema – Si definiscono associazioni ‘1:1’ esplicite tra la superclasse ed ogni sottoclasse per la rappresentazione dei legami ‘is-a’ della gerarchia. – Le sottoclassi sono identificate esternamente dalla superclasse – Non si alterano le cardinalità delle associazioni preesistenti • Applicabilità: tutti i tipi di gerarchie A.A. 2005/2006 Basi di Dati e Laboratorio 17 ESEMPIO opzione 3 CF (1,1) (0,N) Impiegato afferisce Dipartimento Nome (0,1) (0,1) (0,1) è è è (1,1) (1,1) (1,1) Skill Segretario Ingegnere Direttore Nr.Subalterni (0,N) Specializzazione Usa (0,N) WordProc. A.A. 2005/2006 Basi di Dati e Laboratorio 18
  10. 10. MANTENIMENTO DI TUTTE LE ENTITA’ • Dopo gli aggiornamenti, occorre verificare che per ogni istanza delle specializzazioni esista una istanza dell’entità generica • Per le generalizzazioni totali, occorre verificare che ad ogni istanza della generalizzazione corrisponda un’istanza di qualche specializzazione A.A. 2005/2006 Basi di Dati e Laboratorio 19 ANALISI DELLE GERARCHIE • Le scelte tra le alternative sono guidate dalla tipologia di operazioni che sono eseguite sulle entità della gerarchia. • La maggioranza delle operazioni usa attributi di gerarchia, senza distinzione tra le istanze delle specializzazioni Alternativa 1 assicura un numero minore di accessi rispetto alle altre due alternative A.A. 2005/2006 Basi di Dati e Laboratorio 20
  11. 11. ANALISI DELLE GERARCHIE • La maggioranza delle operazioni usa contemporaneamente attributi dell’entità generica ed attributi di singole specializzazioni e la gerarchia è di tipo ‘(t,e)’ Alternativa 2 assicura un risparmio di memoria rispetto ad ‘1’, per assenza di valori nulli e riduzione di accessi rispetto a ‘3’ perché non si visita l’entità generica per accedere ad alcuni attributi A.A. 2005/2006 Basi di Dati e Laboratorio 21 ANALISI DELLE GERARCHIE • La maggioranza delle operazioni usa attributi dell’entità generica e di sue specializzazioni, anche non contemporaneamente Alternativa 3 assicura un risparmio di memoria rispetto ad ‘1’, per assenza di valori nulli e riduzione dei tempi di accesso rispetto a ‘2’ per un numero minore di attributi • N.B. Gerarchie a più livelli sono trattate ricorsivamente, partendo dal basso A.A. 2005/2006 Basi di Dati e Laboratorio 22
  12. 12. SCELTA DEGLI IDENTIFICATORI PRIMARI • Identificazione della chiave primaria per il relazionale CRITERI DI SCELTA IN ER • Identificatori con possibili valori nulli non possono essere scelti come primari • Un identificatore semplice è da preferire ad identificatori composti (e.g., uso di identificatori surrogati) • Identificatore usato da molte operazioni è da preferire A.A. 2005/2006 Basi di Dati e Laboratorio 23 ELIMINAZIONE DI ATTRIBUTI MULTIVALORE • Un attributo multivalore ‘a’ di un’entità E è rappresentato mediante una nuova entità E’ e una associazione R tra E’ con E (caso particolare di partizionamento) Card(E, R) = Card(a) • Alcuni DBMS consentono la rappresentazione di attributi multivalore A.A. 2005/2006 Basi di Dati e Laboratorio 24
  13. 13. ESEMPIO Nome Indirizzo Agenzia Telefono Città (1,N) Nome Numero Indirizzo Agenzia (1,N) (1,1) Telefono Città Recapito A.A. 2005/2006 Basi di Dati e Laboratorio 25 ELIMINAZIONE DI ATTRIBUTI COMPOSTI • Alternativa 1: si considerano tutti gli attributi componenti come attributi dell’entità CF CF Nome Persona Persona Nome Età Età Indirizzo CAP Città Via Via Città CAP A.A. 2005/2006 Basi di Dati e Laboratorio 26
  14. 14. ELIMINAZIONE DI ATTRIBUTI COMPOSTI • Alternativa 2: si considera l’attributo composto come un unico attributo (con dominio stringa di caratteri), unione di tutti i componenti. CF CF Nome Persona Persona Nome Età Età Indirizzo Indirizzo Via Città CAP A.A. 2005/2006 Basi di Dati e Laboratorio 27 PROGETTAZIONE LOGICA DI BD RELAZIONALI • Generazione dello schema relazionale a partire dallo schema dati ER (Regole di Trasformazione) • Verifica di Normalizzazione sullo schema relazionale generato (verifiche di normalizzazione possono essere svolte anche sullo schema concettuale integrato) A.A. 2005/2006 Basi di Dati e Laboratorio 28
  15. 15. TRADUZIONE DA ER A RELAZIONALE • Traduzione di tipi di entità Un tipo di entità E={K, W}, con - K={a1, a2, …, at} identificatore di E - W={a(t+1), …, am} attributi descrittivi di E è tradotto in una relazione con schema E(a1,a2, …, at, a(t+1), …, am) = E(K, W) con chiave primaria K A.A. 2005/2006 Basi di Dati e Laboratorio 29 ESEMPIO CF Nome Persona Età Indirizzo Persona(CF, Nome, Indirizzo, Età) • Si applica a tutte le entità dello schema (le generalizzazioni sono già state ristrutturate) A.A. 2005/2006 Basi di Dati e Laboratorio 30
  16. 16. GENERAZIONE DELLO SCHEMA RELAZIONALE - ASSOCIAZIONI • Per la trasformazione di associazioni occorre considerare: – Tipo di associazione (binaria, N-aria) – Vincoli di integrità: • cardinalità massime (‘1:1’, ‘1:N’, ‘N:M’) • cardinalità minime (partecipazione opzionale/obbligatoria) A.A. 2005/2006 Basi di Dati e Laboratorio 31 ASSOCIAZIONI ‘N:M’ • R tra E1={K1, W} e E2={K2, X} e Max-Card(E1, R)= n e Max-Card(E2, R)= n, con – K1 identificatore di E1 – W insieme di attributi descrittivi di E1 – K2 identificatore di E2 – X insieme di attributi descrittivi di E2 – C={c1, …, cq} attributi descrittivi di R (se definiti) A.A. 2005/2006 Basi di Dati e Laboratorio 32
  17. 17. ASSOCIAZIONI ‘N:M’ • E’ trasformata in una relazione con schema: R(K1, K2, C) con chiave primaria K1 ∪ K2 • Valutare se C può diventare parte della chiave primaria, (es.: Serie storiche) • Se C = ∅, lo schema di relazione R possiede solo gli attributi chiave delle entità partecipanti A.A. 2005/2006 Basi di Dati e Laboratorio 33 ESEMPIO Matricola (1, N) (1,N) Nome Nome Studente Frequenza Corso Indirizzo Voto Codice-Corso Studente (Matricola, Nome, Indirizzo) Corso (Codice-Corso, Nome) Frequenza (Matricola, Codice-Corso, Voto) A.A. 2005/2006 Basi di Dati e Laboratorio 34
  18. 18. ASSOCIAZIONI ‘1:1’ • R tra E1={K1, W} e E2={K2, X} e Max-Card(E1, R)= 1 e Max-Card(E2, R)= 1, con – K1 identificatore di E1 – W insieme di attributi descrittivi di E1 – K2 identificatore di E2 – X insieme di attributi descrittivi di E2 – C attributi descrittivi di R (se definiti) A.A. 2005/2006 Basi di Dati e Laboratorio 35 ASSOCIAZIONI ‘1:1’ • R è rappresentata mediante chiave esterna in uno dei due schemi di relazione definiti per E1 ed E2: – E1(K1, W, K2, C) E2(K2, X) oppure – E1(K1, W) – E2(K2, X, K1, C) A.A. 2005/2006 Basi di Dati e Laboratorio 36
  19. 19. ESEMPIO Partecipazione Obbligatoria Codice-Cli Cod-Carta Tipo (1, 1) (1,1) Carta Cliente Possiede Credito Nome Indirizzo Scadenza Cliente (Codice-Cli, Nome, Indirizzo, Cod-Carta, Tipo) CartaCredito (Cod-Carta, Tipo, Scadenza) A.A. 2005/2006 Basi di Dati e Laboratorio 37 ESEMPIO Partecipazione Opzionale Codice-Cli Cod-Carta Tipo (0, 1) (1,1) Carta Cliente Possiede Credito Nome Indirizzo Scadenza Cliente (Codice-Cli, Nome, Indirizzo) CartaCredito (Cod-Carta, Tipo, Scadenza, Codice-Cli) A.A. 2005/2006 Basi di Dati e Laboratorio 38
  20. 20. ASSOCIAZIONI ‘1:N’ • R tra E1={K1, W} e E2={K2, X} e Max-Card(E1,R)=1 e Max-Card(E2,R)= N (o viceversa) con – K1 identificatore di E1 – W insieme di attributi descrittivi di E1 – K2 identificatore di E2 – X insieme di attributi descrittivi di E2 – C attributi descrittivi di R (se definiti) A.A. 2005/2006 Basi di Dati e Laboratorio 39 ASSOCIAZIONI ‘1:N’ (‘N:1’) • R è rappresentata aggiungendo la chiave esterna K2 nello schema di relazione definito per E1, dove si aggiunge anche l’insieme C • E1(K1, W, K2, C) • E2 (K2, X) • Se C = ∅, si aggiunge solamente K2 A.A. 2005/2006 Basi di Dati e Laboratorio 40
  21. 21. ESEMPIO Governatore (1, 1) (1,N) Nome Città Locazione Stato Nome Nr.Abitanti Popolazione Città (Nome, Nr.Abitanti, NomeStato) Stato (Nome, Governatore, Popolazione) A.A. 2005/2006 Basi di Dati e Laboratorio 41 ESEMPIO - Partecipazione Opzionale Data Nr.Ordine Sconto (0, 1) (1,N) Ordine Emissione Venditore Telefono Nome Ordine (Nr.Ordine, Data) Venditore (Nome, Telefono) Emissione (Nr.Ordine, Nome, Sconto) Soluzione consigliata in presenza di un numero elevato di ordini emessi senza venditore A.A. 2005/2006 Basi di Dati e Laboratorio 42
  22. 22. ENTITA’ CON IDENTIFICATORE ESTERNO • E1={K1, W} entità debole E2={K2, X} entità forte, con R tra E1 e E2, Max-Card(E1, R)= 1, con • K1 ∪ K2 identificatore esterno di E1 • W insieme di attributi descrittivi di E1 • K2 identificatore di E2 • X insieme di attributi descrittivi di E2 • La chiave dell’entità debole contiene l’identificatore dell’entità forte: • E1={K1, K2, W} • E2={K2, X} A.A. 2005/2006 Basi di Dati e Laboratorio 43 GENERAZIONE SCHEMA RELAZIONALE ESEMPIO Identificatore Esterno Codice-Rep Codice-Imp (0, N) Reparto Afferenza Impiegato Locazione Nome (1,1) Impiegato (Codice-Imp, Codice-Rep, Nome) Reparto (Codice-Rep, Locazione) A.A. 2005/2006 Basi di Dati e Laboratorio 44
  23. 23. ASSOCIAZIONI N-arie • R associazione N-aria tra E1, E2, …, Ep con E1={K1, W}, E2={K2, X}, …, Ep={Kp, Z}, con C (eventuale) insieme di attributi descrittivi di R • Si procede in maniera analoga alle associazioni binarie ‘N:M’ • R è trasformata in una relazione con schema: E(K, C) • con chiave primaria K = K1 ∪ K2 ∪ … ∪ Kp o un suo sottoinsieme (necessaria verifica di minimalità) • Se C = ∅, lo schema di relazione R possiede solo gli attributi chiave delle entità partecipanti A.A. 2005/2006 Basi di Dati e Laboratorio 45 GENERAZIONE SCHEMA RELAZIONALE ASSOCIAZIONI RICORSIVE • R ricorsiva su E={K, W} ‘N:M’ • R è di tipo ‘N:M’, è trasformata in una relazione con schema: R(K’, K’’) dove K’ e K” coincidono con K, ma sono opportunamente ridenominati per evidenziare il ruolo di E nei due rami di R A.A. 2005/2006 Basi di Dati e Laboratorio 46
  24. 24. GENERAZIONE SCHEMA RELAZIONALE RELAZIONI RICORSIVE ‘1:N’ • R è di tipo ‘1:N’, due alternative: • Come sopra R(K’, K’’) con chiave primaria K’, ridenominata da K per il ramo con Max-Card = 1 in R • Si segue la regola delle ‘1:N’ R(K, W, K’’) con K’’ chiave ridenominata secondo il ramo con Max-Card = N in R A.A. 2005/2006 Basi di Dati e Laboratorio 47 ESEMPIO Età Nome Impiegato Subalterno Direttore Direzione N:M Impiegato (Nome, Età) Direzione (NomeDirettore, NomeSubalterno) 1:N Impiegato (Nome, Età, NomeDirettore) A.A. 2005/2006 Basi di Dati e Laboratorio 48

×