LA PROGETTAZIONE LOGICA

Slides:



Advertisements
Presentazioni simili
La progettazione concettuale
Advertisements

Informatica II – Basi di Dati (08/09) – Parte 1
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
Normalizzazione Forme Normali.
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,
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
L’uso dei database in azienda
ENTITÀ - RELAZIONE MODELLO ENTITÀ E ATTRIBUTI DOMINI RELAZIONI
Corso di Informatica (Basi di Dati)
Corso di Informatica (Basi di Dati)
Basi di dati. Vantaggi degli archivi digitali Risparmio di spazio: sono facilmente trasferibili e duplicabili Risparmio di tempo: si può accedere ai dati.
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
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
La progettazione di un sistema informatico
Implementare un modello di dati
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
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
Corso di Basi di Dati Progettazione Logica
Sistemi di Elaborazione delle Informazioni Mod.I.
Basi di Dati e Sistemi Informativi
Basi di Dati e Sistemi Informativi
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
DATABASE Introduzione
Basi di dati Progetto Logico per il Modello Relazionale (E
DB- Sistemi Informativi
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 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
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 una base di dati relazionale Terza forma normale.
Progettazione di basi di dati: metodologie e modelli
S. Costantini 06/05/2006 (parte del materiale è tratto da slide del 2001 di Ceri-Atzeni) Normalizzazione di Schemi.
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.
Cloud informatica V anno.
NORMALIZZAZIONE ESERCIZI. INTRODUZIONE La modellazione E-R ci ha consentito di descrivere schemi relazionali Lo strumento base per la modellizzazione.
ICT e Sistemi informativi Aziendali Materiale di supporto alla didattica.
Le basi di dati.
I DONEITÀ DI C ONOSCENZE E C OMPETENZE I NFORMATICHE ( A – D ) Un database è un insieme di record (registrazioni) e di file (archivi) organizzati per uno.
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:

LA PROGETTAZIONE LOGICA Didattica delle applicazioni informatiche mod.B Docente :A.Staiano Specializzanda:P.Fulgieri

Progettazione Base Dati Ricordiamo che la progettazione di una Base Dati si divide nelle seguenti tre fasi: Progettazione Concettuale Progettazione Logica Progettazione Fisica

Progettazione Base Dati Progettazione Concettuale : rappresentazione formale e astratta della realtà di interesse, indipendentemente dai criteri di rappresentazione del DBMS. Il prodotto è lo schema concettuale e fa riferimento ad un modello concettuale dei dati

Progettazione Base Dati Progettazione logica: consiste nella “traduzione”dello schema concettuale in un modello di rappresentazione concreto adottato dal DBMS a disposizione. Il prodotto do tale fase è lo schema logico e fa riferimento ad un modello logico dei dati. Le scelte progettuali di tale fase si basano poi su criteri di ottimizzazione da effettuarsi sui dati

Progettazione Base Dati Progettazione fisica : consiste nel completamento dello schema logico con le specifiche dei parametri fisici di memorizzazione dei dati. Il prodotto di tale fase è lo schema fisico e fa riferimento ad un modello fisico dei dati che dipende dallo specifico DBMS scelto.

La Progettazione Logica Obiettivo: Costruire uno schema logico in grado di descrivere le informazioni contenute nello schema Entità-Relazione prodotto nella fase di progettazione concettuale Prima di passare allo schema logico, lo schema E-R va ristrutturato: Per semplificare la traduzione (non tutti i costrutti del modello E-R hanno una traduzione naturale nei modelli logici) Per ottimizzare il progetto (la progettazione logica deve tener conto delle prestazioni del sistema)

La Progettazione Logica FASI: Ristrutturazione dello schema E-R: indipendente dal modello logico si basa su criteri di ottimizzazione. Traduzione verso il modello logico: fa riferimento ad un preciso modello logico, in questo caso quello relazionale.

La Progettazione Logica INPUT: carico applicativo +schema E-R Modello logico + schema E-R ristrutturato OUTPUT:schema logico Ristrutturazione dello schema E-R Traduzione nel modello logico

Analisi delle prestazioni su schemi E-R Indici di prestazioni: le prestazioni di una base di dati non sono valutabili in maniera precisa dalla progettazione logica (prestazioni approssimate) Due parametri che regolano le prestazioni dei sistemi software: Costo di una operazione: in termini di numero di occorrenze di entità e associazione che mediamente vanno visitate per rispondere a una operazione Occupazione di memoria: lo spazio di memoria necessario per memorizzare i dati descritti dallo schema

Analisi delle prestazioni su schemi E-R Per studiare questi parametri, dobbiamo conoscere: Volume dei dati: Numero di occorrenze di ogni entità e associazione dello schema Dimensioni di ciascun attributo (di entità o associazione) Caratteristiche delle operazioni: tipo dell’operazione, frequenza, dati coinvolti Tali informazioni vengono raggruppate nella Tavola dei Volumi, Tavola delle Operazioni, Tavola degli Accessi.

Analisi delle prestazioni su schemi E-R Esempio: Tavola dei volumi: entità e associazioni con il volume (numero di occorrenze) previsto popolazione (1,N) (1,1) Residenza persona città Concetto Tipo Volume Città E 200 Persona 1000000 Residenza R

Analisi delle prestazioni su schemi E-R Tavola delle operazioni: Per ogni operazione, la frequenza prevista e il tipo : interattiva (I) o batch (B) Esempio: Op. 1: memorizza una nuova persona con la relativa città di residenza Op. 2: stampa tutti i dati di una città (incl. num. abitanti) Operazione Tipo Frequenza Op. 1 I 500 al giorno Op. 2 2 al giorno

Analisi delle prestazioni su schemi E-R Tavola degli accessi: Per una operazione, il numero e il tipo accessi di lettura (L) o scrittura (S) necessario per svolgere l’operazione Esempio: Concetto Costrutto Accessi Tipo Persona E 1 S Residenza R Città L Concetto Costrutto Accessi Tipo Città E 1 L Op.2 Op.1

Ristrutturazione schema E-R Attività della ristrutturazione Analisi delle ridondanze Eliminazione delle generalizzazioni Partizionamento/accorpamento di entità e relationship Scelta degli identificatori primari

Analisi delle Ridondanze Una ridondanza in uno schema E-R è una informazione significativa ma derivabile da altre. Forme di ridondanza in uno schema E-R Attributi derivabili: - da altri attributi della stessa entità (o associazione) - da attributi di altre entità (o associazioni) Relazioni derivabili dalla composizione di altre relazioni in presenza di cicli

Analisi delle Ridondanze : esempio Attributo derivabile Importo netto impiegato ritenute Importo lordo(ridondanza)

Analisi delle Ridondanze : esempio Attributo derivabile da altre entità Importo totale (ridondanza) prezzo (1,N) composizione (1,N) acquisto prodotto

Analisi delle Ridondanze : esempio docenza studente frequenza insegnamento Corso professore La relazione docenza deriva da frequenza + insegnamento. Non tutti i cicli danno luogo a ridondanze

Analisi delle Ridondanze La presenza di ridondanze presenta : un vantaggio : riduzione degli accessi necessari alcuni svantaggi : appesantimento degli aggiornamenti maggiore occupazione di spazio (trascurabile) La decisione di mantenere o eliminare una ridondanza va presa confrontando il costo delle operazioni che coinvolgono il dato ridondante e la relativa occupazione in memoria nei casi di presenza o assenza della ridondanza

Analisi delle ridondanze : esempio Il dato ridondante è costituito dall’attributo popolazione = n°abitanti . Assumiamo che tale attributo richieda 4 byte e poiché le città prese in considerazione nelle tabelle precedenti sono 200, il dato ridondante richiede 800 byte. popolazione (1,N) (1,1) Residenza persona città

Analisi delle ridondanze : esempio Con dato di ridondanza Op. 1: memorizza una nuova persona con la relativa città di residenza. Dalla sua tavola degli accessi, op. 1 richiede: Un accesso tipo S a Persona (memorizzare la nuova persona) Un accesso tipo S a Residenza (per memorizzare una nuova coppia persona-città) Un accesso tipo L a Città (per cercare la città di interesse) Un accesso tipo S a Città (per incrementare di uno il numero di abitanti di quella città) Concetto Costr. Acc. Tipo Persona E 1 S Residenza R Città L

Analisi delle ridondanze : esempio Senza dato di ridondanza Op. 1: una nuova tavola degli accessi: Un accesso tipo S a Persona (memorizzare la nuova persona) Un accesso tipo S a Residenza (per memorizzare una nuova coppia persona-città) Conclusione: per op. 1, è meglio l’assenza del dato ridondante (meno accessi, 800 byte risparmiato) Concetto Costr. Acc. Tipo Persona E 1 S Residenza R

Analisi delle ridondanze : esempio La situazione per op. 2 : stampa tutti i dati di una città, incluso numero abitanti, è diversa. Con ridondanza: 1 accesso tipo L Senza ridondanza: in media, 5000 accessi tipo L a Residenza [5000 è ottenuto dividendo il numero di persone (1000000) per il numero di città (200)] Concetto Costr Acc Tipo Città E 1 L Concetto Costr. Acc. Tipo Città E 1 L Residenza R 5000

Analisi delle ridondanze : esempio Conclusioni : supponendo che il costo in scrittura sia doppio rispetto a quello in lettura si può concludere che: con la ridondanza si hanno 3500 ( 1500x2 in S + 500 in L)accessi al giorno senza ridondanza si hanno 12000( 5000x2 in S + 2000 in L) accessi al giorno Pertanto considerando che il risparmio di tempo è notevole conviene lasciare il dato di ridondanza

Eliminazione delle generalizzazioni I modelli logici tradizionali, tra cui il modello relazionale, non consentono di rappresentare direttamente una generalizzazione È necessario trasformare le generalizzazioni in entità e/o associazioni Tre metodi: Accorpamento delle figlie della generalizzazione nel padre Accorpamento del padre della generalizzazione nelle figlie Sostituzione della generalizzazione con associazioni

Eliminazione delle generalizzazioni La soluzione più conveniente si ricava da un’analisi simile a quella fatta per le ridondanze o ci si basa su alcune regole generali. Questa ristrutturazione ha il vantaggio di generare entità con pochi attributi e quindi di creare strutture logiche di piccole dimensioni.

Partizionamenti o accorpamenti di concetti Le entità e le relazioni di un modello E-R possono essere partizionate o accorpate con lo scopo di ottenere una maggior efficienza delle operazioni, ossia ridurre il numero di accessi mediante: Partizionamento di entità Eliminazione di attributi multivalore Accorpamento di entità

Partizionamenti o accorpamenti di concetti : esempio Partizione dell’entità impiegato nel caso in cui le operazioni più frequenti su tale entità riguardano i dati anagrafici o i dati retributivi Prima codice cognome livello impiegato indirizzo stipendio Data nascita ritenute

Partizionamenti o accorpamenti di concetti : esempio Dopo codice codice cognome Dati anagrafici livello Dati impiegato Dati lavorativi indirizzo ritenute stipendio Data nascita

Scelta degli identificatori principali (chiavi primarie) Questa fase è fondamentale nelle traduzioni verso il modello relazionale poiché le chiavi vengono usate per stabilire legami tra dati in relazioni diverse. Infatti i sistemi di gestione dei DB richiedono generalmente di specificare una chiave primaria sulla quale costruire delle strutture di dati (indici) per il reperimento dei dati in modo più efficiente.

Scelta degli identificatori principali (chiavi primarie) Criteri di decisione: Non possono essere attributi con valori nulli È preferibile scegliere un identificatore costituito da uno o pochi attributi È preferibile scegliere identificatori interni È preferibile usare un identificatore utilizzato da molte operazioni.

Traduzione verso il modello relazionale Traduzione tra modelli di dati diversi: dallo schema E-R ristrutturato allo schema logico equivalente in grado di rappresentare le medesime informazioni. Si fa riferimento ad un modello che: Non contiene generalizzazioni Non contiene attributi multivalore Utilizza solo identificatori primari

Traduzione verso il modello relazionale Per tradurre il modello E-R ristrutturato si tiene conto dei diversi casi che si possono presentare: Entità e associazioni molti a molti Associazioni uno a molti Associazioni uno a uno Entità con identificatore esterno

Traduzione verso il modello relazionale Per ogni entità viene creata una relazione (tabella) con lo stesso nome avente per attributi i medesimi attributi dell’entità e pe chiave il suo identificatore Per ogni relazione E-R molti a molti , viene creata una relazione (tabella) con lo stesso nome, avente per attributi quelli della relazione E-R e gli identificatori delle entità coinvolte. Tali identificatori formano la chiave della relazione

Traduzione verso il modello relazionale : esempio molti a molti Lo schema relazione corrispondente: Impiegato(Matricola, Cognome, Stipendio) Progetto(Codice, Nome, Budget) Partecipazione(Matricola, Codice, DataInizio) Due vincoli di integrità: tra Matricola e Codice di Partecipazione e Matricola e Codice di Impiegato e Progetto Stipendio Data inizio Cognome Nome Partecipazione Matricola Impiegato Progetto Budget (0,N) (1,N) Codice

Traduzione verso il modello relazionale : esempio uno a uno Monte ore Cognome CF anno Nome Nome (1,1) ( 1,1) titolare docente cattedra Se la partecipazione è totale da ambo le parti DOCENTE ( CF, Nome, Cognome, Cattedra, Anno) CATTEDRA (Nome, Monte ore) Oppure DOCENTE( CF, Nome, Cognome) CATTEDRA (Nome, Monte ore, Docente, Anno)

Traduzione verso il modello relazionale : esempio uno a uno Data inizio Codice Nome Sede Telefono Stipendio impiegato dipartimento direzione Nome (0,1) (1,1) Se la partecipazione è parziale su un lato: IMPIEGATO( Codice, Nome, Stipendio) DIPARTIMENTO( Nome, Sede, Codicedirettore, Data inizio) Oppure IMPIEGATO (Codice, Nome, Stipendio,Dipartimento,Sede,Telefono, Datainizio) Se la partecipazione è parziale da ambo le parti: IMPIEGATO (Codice, Nome, Stipendio) DIPARTIMENTO ( Nome, Sede, Telefonare) DIREZIONE (CodiceDirettore, Nomedip, Datainizio)

La Progettazione Logica Conclusioni : esistono sul mercato degli strumenti di supporto a tutte le fasi di progettazione di un DB ( strumenti CASE). Tali supporti sono utili in fase di traduzione ma non in fase di ristrutturazione del modello E-R che rimane quindi interamente a carico del progettista.

Prova semistrutturata verifica Prova semistrutturata