La progettazione logica Angelo Chianese,, Vincenzo Moscato, Antonio Picariello, Lucio Sansone Basi di dati per la gestione dell'informazione 2/ed McGraw-Hill Capitolo 3 (Paragrafo 3.5) Capitolo 4 (Paragrafi 4.4) Appunti dalle lezioni SQL come DDL Sistemi informativi e basi di dati La Progettazione Concettuale SQL come DML Il modello relazionale La Progettazione Logica SQL come DCL Utilizzo di un DBMS Reale La Progettazione Fisica Strumenti CASE Forme normali Programmazione Transazioni e tecnologie di supporto Basi di dati direzionali Basi di dati distribuite 2 AA 2010-2011, Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it La Progettazione Logica
La progettazione Logica Scopo: Costruire uno schema logico in cui siano rappresentate le stesse informazioni presenti nello schema E-R. E Non è una semplice traduzione: Semplificare la rappresentazione per facilitare la traduzione: non tutti i costrutti del modello E-R E sono supportati, ad esempio, dal modello relazionale. Ottimizzare il progetto: indici di prestazioni basati sulle caratteristiche delle operazioni oni 3 AA 2010-2011, Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it La Progettazione Logica La Progettazione Logica Schema E-R Altri Vincoli Docs Modello Logico Carico Applicativo Progettazione Logica Ristrutturazione Traduzione Schema Logico Altri Vincoli Docs Tabelle Vincoli 4 AA 2010-2011, Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it La Progettazione Logica
Carico Applicativo Volume dei dati. Numero di occorrenze di entità ed associazioni; Dimensione (media) degli attributi Operazioni. Caratteristiche delle operazioni. Interattive o Batch Frequenza Dati 5 AA 2010-2011, Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it La Progettazione Logica Carico Applicativo (0,N) R2 (1,1) R1 (0,N) (0,N) Corso Università Tavola dei Volumi 10000 Università 5 Corso 2000 R1 10000 R2 50000 Operazione 1 Trova i dati e i dati degli studenti di un corso, I, 3 V/G (0,N) R2 (0,N) Corso Tavola degli Accessi Corso E 1 L R2 R 5 L E 5 L 6 AA 2010-2011, Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it La Progettazione Logica
Ristrutturazione Analisi Ridondanze Ristrutturazione Eliminazione Gerarchie Schema ER Ristrutturato Docs Partizionamento/Accorpamento Entità/Associazioni Eliminazione Attributi Composti/Multivalore Scelta Identificatori Principali 7 AA 2010-2011, Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it La Progettazione Logica Analisi delle Ridondanze Analisi e non Eliminazione. Ridondanza: dato che può essere ottenuto (eventualmente con un costo computazionale) da altri dati. Pro di una ridondanza: quando ci serve, il dato è già pronto alcune operazioni sono velocizzate Contro di una ridondanza: il dato ridondante occupa spazio (????); il dato ridondante deve essere tenuto aggiornato alcune operazioni sono rallentate. 8 AA 2010-2011, Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it La Progettazione Logica
Esempi di Ridondanze Fattura iva totale iscrizione imponibile NStudenti Università prezzo prezzo Prodotto R Fattura iva totale imponibile Prodotto R1 Fattura R2 Cliente R3 9 AA 2010-2011, Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it La Progettazione Logica Analisi delle Ridondanze (1,1) iscrizione (0,N) Università NStudenti Operazioni Tavola dei Volumi 10000 Università 5 Iscrizione 10000 op1: inserisci nuovo studente, 300 V/G, I op2: trova numero studenti Università,, 2V/S, I 10 AA 2010-2011, Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it La Progettazione Logica
Con Ridondanza Memoria aggiuntiva rispetto all assenza assenza di ridondanza: 4*5 Byte (int ( su 4 byte) Tavola degli Accessi op1 1 S Iscrizione 1 S Università 1 L Università 1 S Tavola degli Accessi op2 Università 1 L Costo = 1L Costo Settimanale = 2L Costo = (3S+1L) = 7L Costo Giornaliero = 2100 L Costo Settimanale = 10500L Costo Totale = 10502L 11 AA 2010-2011, Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it La Progettazione Logica Senza Ridondanza (1,1) iscrizione (0,N) Università Tavola degli Accessi op1 1 S Iscrizione 1 S Tavola degli Accessi op2 Università 1 L Iscrizione 2000 L Costo = 2S = 4L Costo Giornaliero = 1200L Costo Settimanale = 7000L Costo Totale = 11002L Costo = 2001L Costo Settimanale = 4002L Se op2 diventa 1 V/S, conviene la soluzione senza ridondanza 12 AA 2010-2011, Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it La Progettazione Logica
Eliminazione delle gerarchie Tre soluzioni possibili Accorpamento delle entità figlie nell entit entità padre Accorpamento dell entit entità padre nelle entità figlie Sostituzione della generalizzazione con associazioni. e1 (X,Y) e2 E4 R1 (X, Y) (X, Y) E3 (X, Y) R2 (X, Y) E5 13 AA 2010-2011, Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it La Progettazione Logica Prima Soluzione Accorpamento dei figli con il padre Si introduce, in, un attributo che identifica il tipo di entità figlia di appartenenza. Sulla cardinalità di tale attributo bisogna fare molta attenzione. Conviene se le operazioni importanti non fanno molta differenza tra entità padre e figlie. 14 AA 2010-2011, Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it La Progettazione Logica
Prima Soluzione e1 (X,Y) e2 E4 R1 (X, Y) (X, Y) E3 (X, Y) R2 (X, Y) E5 tipo (?,?) e2 (0, Y) E4 (X,Y) R1 (X,Y) (0, Y) R2 (X, Y) E5 e1 15 AA 2010-2011, Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it La Progettazione Logica Seconda Soluzione Accorpamento del padre con i figli. È possibile solo se la generalizzazione è totale. È vantaggiosa se le operazioni importanti fanno molta differenza tra le entità figlie. 16 AA 2010-2011, Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it La Progettazione Logica
Seconda Soluzione e1 (X,Y) e2 E4 R1 (X, Y) (X, Y) E3 (X, Y) R2 (X, Y) E5 e1 R1B (X,Y) e2 E4 R1A E3 (X, Y) R2 (X, Y) E5 e1 17 AA 2010-2011, Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it La Progettazione Logica Sostituzione della generalizzazione con associazioni. Terza Soluzione È la soluzione più generale. Utile se le operazioni importanti fanno differenza tra entità padre ed entità figlie. Se la generalizzazione è totale, c èc un vincolo che non riesco ad esprimere. Anche il vincolo sulla esclusività della generalizzazione non è esprimibile direttamente. 18 AA 2010-2011, Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it La Progettazione Logica
Terza Soluzione e1 (X,Y) e2 E4 R1 (X, Y) (X, Y) E3 (X, Y) R2 (X, Y) E5 e1 R1-2 (X,Y) e2 E4 (X, Y) R1 (X, Y) R1-3 E3 (X, Y) R2 (X, Y) E5 19 AA 2010-2011, Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it La Progettazione Logica Accorpamento/Partizionamento di Entità Per migliorare l efficienza l può essere utile partizionare una entità. Partizionamento Verticale Impiegato Partizionamento Orizzontale ImpiegatoAmministrazione ImpiegatoProgettazione DatiAnagrafici Altridati 20 AA 2010-2011, Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it La Progettazione Logica
Accorpamento/Partizionamento Nel partizionamento verticale è necessario duplicare la chiave. Tutte le associazioni che fanno riferimento all entit entità vanno replicate. In alcuni casi potrebbe essere utile accorpare. Le tecniche di valutazione sono simili a quelle usate per le ridondanze. Discorsi analoghi possono essere applicati alle associazioni. 21 AA 2010-2011, Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it La Progettazione Logica Eliminazione Attributi Composti indirizzo Matricola Nome Via CAP Città Matricola Nome Via Città CAP 22 AA 2010-2011, Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it La Progettazione Logica
Eliminazione Attributi Multivalore CF Persona CF Persona Telefono Numero Recapito (1,1) Telefono 23 AA 2010-2011, Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it La Progettazione Logica Scelta Identificatori Principali CF CF Matricola CF Matricola Matricola 24 AA 2010-2011, Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it La Progettazione Logica
Traduzione e11 e12 e13 R r1 e21 e22 e23 Schema ER ristrutturato (e11,e12,e13) (e21,e22,e23) R(e11,e21,r1) e11 in R ed e11 in e21 in R ed e21 in 25 AA 2010-2011, Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it La Progettazione Logica Traduzione Matricola Esame voto Corso Codice Nome Docente (Matricola, ) Corso(Codice,Nome,Docente) Esame(Matricola,Codice,voto) Matricola in Esame e Matricola in Codice in Esame e Codice in Corso (Matricola, ) Corso(Codice,Nome,Docente) Esame(,Corso,voto) in Esame e Matricola in Corso in Esame e Codice in Corso 26 AA 2010-2011, Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it La Progettazione Logica
Traduzione responsabile Impiegato Matricola subordinato Riporta Impiegato(Matricola, ) Riporta(Subordinato,Responsabile) Subordinato in Riporta e Matricola in Impiegato Responsabile in Riporta e Matricola in Impiegato 27 AA 2010-2011, Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it La Progettazione Logica Traduzione e11 e12 e13 R r1 E3 e31 e32 e33 e21 e22 e23 (e11,e12,e13) (e21,e22,e23) E3(e31,e32,e33) R(e11,e21,e31,r1) e11 in R ed e11 in e21 in R ed e21 in e31 in R ed e31 in E3 28 AA 2010-2011, Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it La Progettazione Logica
Traduzione e11 e12 e13 R r1 e21 e22 e23 (e11,e12,e13) (e21,e22,e23) R(e11,e12,e21,r1) (e11,e12) in R ed (e11,e12) in e21 in R ed e21 in 29 AA 2010-2011, Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it La Progettazione Logica Traduzione e11 e12 e13 (0,1) R r1 e21 e22 e23 (e11,e12,e13) (e21,e22,e23) R(e11,e21,r1) e11 in R ed e11 in e21 in R ed e21 in (e11,e12,e13) (e21,e22,e23) R(e11,e21,r1) e11 in R ed e11 in e21 in R ed e21 in (e11,e12,e13,e21,r1) (e21,e22,e23) Vincolo tra e21 in ed e21 in 30 AA 2010-2011, Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it La Progettazione Logica
e11 e12 e13 (0,1) R (0,1) r1 e21 e22 e23 (e11,e12,e13) (e21,e22,e23) R(e11,e21,r1) e11 in R ed e11 in e21 in R ed e21 in (e11,e12,e13) (e21,e22,e23) R(e11,e21,r1) Vincoli tra e11 in R ed e11 in e21 in R ed e21 in (e11,e12,e13) (e21,e22,e23) R(e11,e21,r1) Vincoli tra e11 in R ed e11 in e21 in R ed e21 in (e11,e12,e13,e21,r1) (e21,e22,e23) Vincolo tra e21 in ed e21 in (e11,e12,e13) (e21,e22,e23,e11,r1) Vincolo tra e11 in ed e11 in 31 AA 2010-2011, Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it La Progettazione Logica Traduzione e11 e12 e13 (1,1) R r1 e21 e22 e23 Matricola (1,1) R r1 Anno Università Nome (e11, e21, e12, e13) (e21,e22,e23) Vincolo tra e21 in ed e21 in (Matricola, Università, Anno) Università(Nome) Vincolo tra e21 in ed e21 in 32 AA 2010-2011, Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it La Progettazione Logica