Componenti di un DBMS - Chesterton Parte IIb.pdf · Componenti di un DBMS • Gestore del Buffer...

24
1 Sistemi di Elaborazione dell’Informazione Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese Hadley C. Taylor Componenti di un DBMS Come fa un DBMS a garantire le proprietà ACIDe di una transazione? Vediamo i componenti principali dal più interno a quello di più alto livello: – Controllore di Concorrenza – Gestore del Buffer – Controllore di Affidabilità – Gestore degli Accessi (RSS) – Ottimizzatore (incluso Compilatore) Sistemi di Elaborazione dell’Informazione Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese Hadley C. Taylor Componenti di un DBMS Gestore del Buffer Controllo Affidabilità Gestore degli Accessi Ottimizzatore Controllo Concorrenza

Transcript of Componenti di un DBMS - Chesterton Parte IIb.pdf · Componenti di un DBMS • Gestore del Buffer...

Page 1: Componenti di un DBMS - Chesterton Parte IIb.pdf · Componenti di un DBMS • Gestore del Buffer Manager – Il Buffer è l’area di memoria centrale allocata al DBMS – Problema

1

Sistemi di Elaborazione dell’Informazione

Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese

Hadley C. Taylor

Componenti di un DBMS

• Come fa un DBMS a garantire le proprietàACIDe di una transazione?

• Vediamo i componenti principali dal piùinterno a quello di più alto livello:

– Controllore di Concorrenza

– Gestore del Buffer

– Controllore di Affidabilità

– Gestore degli Accessi (RSS)

– Ottimizzatore (incluso Compilatore)

Sistemi di Elaborazione dell’Informazione

Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese

Hadley C. Taylor

Componenti di un DBMS

Gestore del Buffer

Controllo Affidabilità

Gestore degli Accessi

Ottimizzatore

Controllo Concorrenza

Page 2: Componenti di un DBMS - Chesterton Parte IIb.pdf · Componenti di un DBMS • Gestore del Buffer Manager – Il Buffer è l’area di memoria centrale allocata al DBMS – Problema

2

Sistemi di Elaborazione dell’Informazione

Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese

Hadley C. Taylor

Componenti di un DBMS

• Controllore di Concorrenza

– Problemi da risolvere per transazioni concorrenti:• Caso A:

– Transazione1 legge un campo e lo ricalcola senza aggiornarlo

» Transazione2 legge, ricalcola e aggiorna il campo e commit

– Transazione1 aggiorna il campo e commit

• Caso B:

– Transazione1 legge, ricalcola e aggiorna un campo

» Transazione2 legge, ricalcola e aggiorna il campo e commit

– Transazione1 rollback

• Ecc…

Sistemi di Elaborazione dell’Informazione

Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese

Hadley C. Taylor

Componenti di un DBMS

• Controllore di Concorrenza– Caso A: Perdita di aggiornamento

Transazione1 Transazione2

Read1 (x)

x = x+1

Read2 (x)

x=x+1

Write2 (x)

Commit2

Write1 (x)

Commit1

Page 3: Componenti di un DBMS - Chesterton Parte IIb.pdf · Componenti di un DBMS • Gestore del Buffer Manager – Il Buffer è l’area di memoria centrale allocata al DBMS – Problema

3

Sistemi di Elaborazione dell’Informazione

Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese

Hadley C. Taylor

Componenti di un DBMS

• Controllore di Concorrenza– Caso A: Perdita di aggiornamento

• Transazione1 legge un campo e lo ricalcola senza aggiornarlo

– Transazione2 legge, ricalcola e aggiorna il campo e commit

• Transazione1 aggiorna il campo e commit

Transazione1 Transazione2 Risultato

Read1 (x) 10

x = x+1 11

Read2 (x) 10

x=x+1 11

Write2 (x) 11

Commit2 11

Write1 (x) 11

Commit1 11

L’aggiornamento della transazione2 è andato perduto!

Problema

Sistemi di Elaborazione dell’Informazione

Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese

Hadley C. Taylor

Componenti di un DBMS

• Controllore di Concorrenza– Caso B: Lettura sporca:

Transazione1 Transazione2

Read1 (x)

x = x+1

Write1 (x)

Read2 (x)

x=x+1

Write2 (x)

Commit2

Rollback1

Page 4: Componenti di un DBMS - Chesterton Parte IIb.pdf · Componenti di un DBMS • Gestore del Buffer Manager – Il Buffer è l’area di memoria centrale allocata al DBMS – Problema

4

Sistemi di Elaborazione dell’Informazione

Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese

Hadley C. Taylor

Componenti di un DBMS

• Controllore di Concorrenza– Caso B: Lettura sporca:

• Transazione1 legge, ricalcola e aggiorna un campo

– Transazione2 legge, ricalcola e aggiorna il campo e commit

• Transazione1 rollback

Transazione1 Transazione2 Risultato

Read1 (x) 10

x = x+1 11

Write1 (x) 11

Read2 (x) 11

x=x+1 12

Write2 (x) 12

Commit2 12

Rollback1 12

Problema

Il valore di partenza per Transazione2 era un valore sbagliato!

Sistemi di Elaborazione dell’Informazione

Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese

Hadley C. Taylor

Componenti di un DBMS

• Controllore di Concorrenza

– Problemi da risolvere per transazioni concorrenti:• Caso A: Perdita di aggiornamento

– Transazione1 legge un campo e lo ricalcola senza aggiornarlo

» Transazione2 legge, ricalcola e aggiorna il campo e commit

– Transazione1 aggiorna il campo e commit

L’aggiornamento della transazione2 è andato perduto!

• Caso B: Letture sporche

– Transazione1 legge, ricalcola e aggiorna un campo

» Transazione2 legge, ricalcola e aggiorna il campo e commit

– Transazione1 rollback

Il valore di partenza per Transazione2 era un valore sbagliato!

Soluzione può sembrare ‘causare rollback anche di T2’���� no:

si vuole evitare l’effetto domino.

• Ecc…

Page 5: Componenti di un DBMS - Chesterton Parte IIb.pdf · Componenti di un DBMS • Gestore del Buffer Manager – Il Buffer è l’area di memoria centrale allocata al DBMS – Problema

5

Sistemi di Elaborazione dell’Informazione

Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese

Hadley C. Taylor

• Soluzione, vari metodi:

– Timeout: blocco possibile solo temporaneamente poi scade

– Anzianità: non consentire attesa per transazione più giovane

– Rilevazione di blocco: causare rollback

• Problema: due transazioni possono bloccarsi a vicenda su campi diversi: DEADLOCK!

Componenti di un DBMS

• Controllore di Concorrenza

– Soluzione

• Il controllore di concorrenza sequenzializza le operazioni di

lettura e scrittura bloccando l’accesso in scrittura per le

transazioni seguenti

Sistemi di Elaborazione dell’Informazione

Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese

Hadley C. Taylor

Componenti di un DBMS

• Gestore del Buffer Manager

– Il Buffer è l’area di memoria centrale allocata al DBMS

– Problema• La memoria Centrale di solito non contiene tutto il database

perciò l’utilizzo dell’area deve essere condiviso alternando le pagine dalla Memoria Centrale alla Memoria di Massa

– Soluzione• Politiche di ‘swapping’ analoghe a Sistemi Operativi.

• Esempio:

– Togli dal buffer le pagine meno utilizzate ( 20% dei dati èacceduto dall’80% delle applicazioni)

– Tieni pagine con accessi pù recenti

– Ecc…

Page 6: Componenti di un DBMS - Chesterton Parte IIb.pdf · Componenti di un DBMS • Gestore del Buffer Manager – Il Buffer è l’area di memoria centrale allocata al DBMS – Problema

6

Sistemi di Elaborazione dell’Informazione

Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese

Hadley C. Taylor

Componenti di un DBMS

• Controllore di Affidabilità

– Problema

• Se avviene un guasto i dati in Memoria Centrale vanno perduti!

– Soluzione

• Archiviare su memoria ‘stabile’ (es.:RAID) in un file (LOG) le

sequenze di modifica, in modo che possano essere rieseguite

• Archiviare su backup, periodicamente, tutto il database (DUMP)

• Se avviene

– Guasto di sistema (SW) � ripartire da LOG (warm boot)

– Guasto di Memoria di Massa (HW) � ripartire da DUMP (cold

boot) e poi da LOG

Sistemi di Elaborazione dell’Informazione

Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese

Hadley C. Taylor

Componenti di un DBMS

• Gestore degli Accessi (Relational StorageSystem)

– Problema

• Accedere alla memoria fisica in modo efficiente

– Soluzione

• Metodi a seconda della struttura dei record nelle pagine– Sequenziale � ricerca sequenziale o dicotomica (se ordinata)

– Hashing � ricerca in base ad un calcolo (Hash)

– Albero � ricerca in base ad Indicizzazione della chiave: viene costruita una struttura di puntatori aggiuntiva alla struttura dati per consentire una ricerca efficiente dei record

Page 7: Componenti di un DBMS - Chesterton Parte IIb.pdf · Componenti di un DBMS • Gestore del Buffer Manager – Il Buffer è l’area di memoria centrale allocata al DBMS – Problema

7

Sistemi di Elaborazione dell’Informazione

Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese

Hadley C. Taylor

Componenti di un DBMS

• Ottimizzatore

– Problema

• Scegliere i metodi di esecuzione delle operazioni e l’ordine

migliore in cui eseguirli per minimizzare i tempi

– Soluzione

1. Analisi delle dimensioni tabelle e attributi (Dizionario Dati)

2. Analisi dei costi dei metodi in base a struttura fisica

3. Costruzione di albero delle alternative con costi

4. Ricerca di una alternativa buona (non ottima)

5. Produzione del codice sorgente e compilazione

Sistemi di Elaborazione dell’Informazione

Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese

Hadley C. Taylor

DBMS: Ottimizzazione

Esempio: Quanti impiegati lavorano a Milano? Diverse soluzioni…

Dipartimento

Impiegati

Page 8: Componenti di un DBMS - Chesterton Parte IIb.pdf · Componenti di un DBMS • Gestore del Buffer Manager – Il Buffer è l’area di memoria centrale allocata al DBMS – Problema

8

Sistemi di Elaborazione dell’Informazione

Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese

Hadley C. Taylor

Accesso al DBMS

Gestore del Buffer

Controllo Affidabilità

Gestore degli Accessi

Ottimizzatore

Controllo Concorrenza

Sistemi di Elaborazione dell’Informazione

Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese

Hadley C. Taylor

Accesso al DBMS

• L’accesso ai dati può avvenire:

1. con linguaggi testuali interattivi (es. SQL) utilizzati come comandi da una interfaccia testuale

2. con interfacce amichevoli interattive non testuali (es. ACCESS)

3. con linguaggi della quarta generazione (4GL) specifici del DBMS, che permettono di sviluppare complete applicazioni

4. con comandi (del linguaggio interattivo) immersi in un linguaggio ospite di alto livello (Pascal, C, Cobol, Java, etc.)

Program

mazione

Page 9: Componenti di un DBMS - Chesterton Parte IIb.pdf · Componenti di un DBMS • Gestore del Buffer Manager – Il Buffer è l’area di memoria centrale allocata al DBMS – Problema

9

Sistemi di Elaborazione dell’Informazione

Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese

Hadley C. Taylor

Linguaggi per DBMS

Introduzione ai Linguaggi per DBMS:

• Schemi e Istanze

– In ogni base di dati esistono:

• lo Schema: che ne descrive la struttura

– le intestazioni delle tabelle, i legami

• l’Istanza, costituita dai valori

– il “corpo” di ciascuna tabella

Sistemi di Elaborazione dell’Informazione

Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese

Hadley C. Taylor

Linguaggi per DBMS

• Nei DBMS esistono linguaggi separati per

la definizione e per la manipolazione delle

strutture:

– Data Definition Language (DDL)

• per la definizione di Schemi (la struttura):

– le intestazioni delle tabelle, i legami

– Data Manipulation Language (DML) :

• per l’interrogazione e l’aggiornamento di Istanze

(valori):

– il “corpo” di ciascuna tabella

Page 10: Componenti di un DBMS - Chesterton Parte IIb.pdf · Componenti di un DBMS • Gestore del Buffer Manager – Il Buffer è l’area di memoria centrale allocata al DBMS – Problema

10

Sistemi di Elaborazione dell’Informazione

Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese

Hadley C. Taylor

SQL (’74)

• SQL è un linguaggio sia DDL che DML

– Data Definition Language (DDL) :

• per la definizione di schemi

– Data Manipulation Language (DML) :

• per l’interrogazione e l’aggiornamento di istanze

Sistemi di Elaborazione dell’Informazione

Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese

Hadley C. Taylor

SQL

• Primitive DDL:

– Create, Alter, Drop

• Domain (tipo di dato) utente

• Table con

– Attributi

– Vincoli

• Index (campi indicizzati)

• Assertion (vincoli generici)

• View (viste�tabelle temporanee)

Page 11: Componenti di un DBMS - Chesterton Parte IIb.pdf · Componenti di un DBMS • Gestore del Buffer Manager – Il Buffer è l’area di memoria centrale allocata al DBMS – Problema

11

Sistemi di Elaborazione dell’Informazione

Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese

Hadley C. Taylor

SQL

• Primitive DML principali di interrogazione:

– Select EspressioneAttributi

From tabelle

Where condizioni

Group by attributi

Order by attributi

– Union, Intersect,Except

Sistemi di Elaborazione dell’Informazione

Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese

Hadley C. Taylor

SQL

• Primitive DML principali di manipolazione:

– Insert (valori nei campi o righe nella tabella)

– Delete (righe nella tabella)

– Update (valori nei campi)

Page 12: Componenti di un DBMS - Chesterton Parte IIb.pdf · Componenti di un DBMS • Gestore del Buffer Manager – Il Buffer è l’area di memoria centrale allocata al DBMS – Problema

12

Sistemi di Elaborazione dell’Informazione

Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese

Hadley C. Taylor

SQL

• Primitive DML principali di manipolazione:Sintassi:

– Inserimento

• Di valori nei campi:

• insert into tabella (attributi) values (valori)

• Di righe nella tabella

• insert into tabella SelectSQL

– Cancellazione

• Di righe dalla tabella:

• delete from tabella where (condizione)

– Modifica

• Di valori nei campi :

• update tabella set attributo =

<espressione | SelectSQL |null | default >

[where condizione]

Sistemi di Elaborazione dell’Informazione

Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese

Hadley C. Taylor

Accesso al DBMS

Page 13: Componenti di un DBMS - Chesterton Parte IIb.pdf · Componenti di un DBMS • Gestore del Buffer Manager – Il Buffer è l’area di memoria centrale allocata al DBMS – Problema

13

Sistemi di Elaborazione dell’Informazione

Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese

Hadley C. Taylor

Interfaccia di Accesso ai Dati

Applicazione

DB

appl

Fonte dati propria dell’applicazione

Sistemi di Elaborazione dell’Informazione

Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese

Hadley C. Taylor

Interfaccia di Accesso ai Dati

Applicazione

DB

appl

Leggenda:

Data Source

Applicazione

Elaboratore

Fonti dati diverse su vari elaboratori:

File System

Elaboratore B

DBDB

Elaboratore C

DBemails

Elaboratore C

Elaboratore A

molte interfacce!

Page 14: Componenti di un DBMS - Chesterton Parte IIb.pdf · Componenti di un DBMS • Gestore del Buffer Manager – Il Buffer è l’area di memoria centrale allocata al DBMS – Problema

14

Sistemi di Elaborazione dell’Informazione

Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese

Hadley C. Taylor

Interfaccia di Accesso ai Dati

E’ necessaria una libreria (Driver) per ogni

specifica tripla:• DBMS

• Sistema Operativo

• Protocollo di Rete

ODBC: Open Database Connectivity (’91)

– Supporta un SQL ristretto definito da c.a 50 grandi

utenti (aziende, enti, …)

Sistemi di Elaborazione dell’Informazione

Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese

Hadley C. Taylor

Interfaccia di Accesso ai Dati

Applicazione

Driver

Manager

DB

appl

DB

DB

File System

emails

DB

Driver 1

Driver 2Driver 4

Driver 3

Driver 5

Elaboratore B

Elaboratore C

Elaboratore C

Elaboratore A

Fonti dati diverse su vari elaboratori:

una sola interfaccia – ODBC…

Leggenda:

Data Source

Applicazione

Elaboratore

Page 15: Componenti di un DBMS - Chesterton Parte IIb.pdf · Componenti di un DBMS • Gestore del Buffer Manager – Il Buffer è l’area di memoria centrale allocata al DBMS – Problema

15

Sistemi di Elaborazione dell’Informazione

Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese

Hadley C. Taylor

Interfaccia di Accesso ai Dati

E’ necessaria una libreria (Driver) per ogni specifica tripla:

• DBMS

• Sistema Operativo

• Protocollo di Rete

ODBC: Open Database Connectivity (’91)– Supporta un SQL ristretto definito da c.a 50 grandi

utenti (aziende, enti, …)

• Problema:

– Interfaccia solo verso Database (relazionali):• di DBMS diversi

• su Sistemi Operativi diversi

• con Protocolli di Rete diversi

Sistemi di Elaborazione dell’Informazione

Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese

Hadley C. Taylor

Interfaccia di Accesso ai Dati

• Evoluzione verso

• fonti eterogenee (non solo DB)

• fonti non connesse (tecnologia Web Services)

– Microsoft:

• ODBC�DAO�RDO�OLE DB�

ADO�ADO.NET

– Java

• JDBC

– XML

Page 16: Componenti di un DBMS - Chesterton Parte IIb.pdf · Componenti di un DBMS • Gestore del Buffer Manager – Il Buffer è l’area di memoria centrale allocata al DBMS – Problema

16

Sistemi di Elaborazione dell’Informazione

Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese

Hadley C. Taylor

Progettazione di Basi di Dati

• La progettazione di una base di Dati si

divide in tre fasi:

1. Progettazione Concettuale

2. Progettazione Logica

3. Progettazione Fisica

Sistemi di Elaborazione dell’Informazione

Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese

Hadley C. Taylor

Progettazione di Basi di Dati

• Schemi nell’architettura del DBMS

SchemaFisico

Page 17: Componenti di un DBMS - Chesterton Parte IIb.pdf · Componenti di un DBMS • Gestore del Buffer Manager – Il Buffer è l’area di memoria centrale allocata al DBMS – Problema

17

Sistemi di Elaborazione dell’Informazione

Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese

Hadley C. Taylor

Progettazione di Basi di Dati

Progettazione Concettuale

– Utilizza un modello concettuale per

rappresentare i dati in modo indipendente da

ogni sistema, cercando di descrivere i concetti

del mondo reale

• il più noto è il modello Entity-Relationship

– Produce lo Schema Concettuale

Sistemi di Elaborazione dell’Informazione

Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese

Hadley C. Taylor

Progettazione di Basi di Dati

Progettazione Concettuale

– Modello Entity-Relationship

• Entity: concetto che descrive una classe di oggetti che ha proprietà comuni ed esistenza autonoma

– Es.: Impiegato, Dipartimento, Progetto

• Relationship: concetto che associa due o più Entity

– Es.: Direzione (tra Impiegato e Dipartimento), Appartenenza (tra Impiegato e Dipartimento), Partecipazione (tra Impiegato e Progetto)

• Attribute: concetto con struttura semplice rappresentabile come attributo di un altro concetto

– Es.: Cognome di un Impiegato, Budget di un Progetto

Page 18: Componenti di un DBMS - Chesterton Parte IIb.pdf · Componenti di un DBMS • Gestore del Buffer Manager – Il Buffer è l’area di memoria centrale allocata al DBMS – Problema

18

Sistemi di Elaborazione dell’Informazione

Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese

Hadley C. Taylor

Progettazione di Basi di Dati

Progettazione Concettuale � Modello Entity-Relationship

Impiegato Appartenenza

Partecipazione

Dipartimento

Progetto

Direzione

Nome

Cognome

Stpendio

Nome

Budget

Data consegna

Data inizio

Data appartenenza

Nome

Città

Entità, Relazioni e

Attributi

Sistemi di Elaborazione dell’Informazione

Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese

Hadley C. Taylor

Progettazione di Basi di Dati

Progettazione Concettuale � Modello Entity-Relationship

Impiegato Appartenenza

Partecipazione

Dipartimento

Progetto

Direzione

Nome

Cognome

Stpendio

Nome

Budget

Data consegna

Data inizio

Data appartenenza

Nome

Città

Cardinalità delle relazioni:Quante volte una occorrenza di una relazione

può essere legata a occorrenze di un’altra relazione

1 1

Massima

Relazione 1 a 1

Page 19: Componenti di un DBMS - Chesterton Parte IIb.pdf · Componenti di un DBMS • Gestore del Buffer Manager – Il Buffer è l’area di memoria centrale allocata al DBMS – Problema

19

Sistemi di Elaborazione dell’Informazione

Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese

Hadley C. Taylor

Progettazione di Basi di Dati

Progettazione Concettuale � Modello Entity-Relationship

Impiegato Appartenenza

Partecipazione

Dipartimento

Progetto

Direzione

Nome

Cognome

Stpendio

Nome

Budget

Data consegna

Data inizio

Data appartenenza

Nome

Città

Cardinalità delle relazioni:Quante volte una occorrenza di una relazione

può essere legata a occorrenze di un’altra relazione

1 1

Massima

1 N

Relazione 1 a N

Sistemi di Elaborazione dell’Informazione

Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese

Hadley C. Taylor

Progettazione di Basi di Dati

Progettazione Concettuale � Modello Entity-Relationship

Impiegato Appartenenza

Partecipazione

Dipartimento

Progetto

Direzione

Nome

Cognome

Stpendio

Nome

Budget

Data consegna

Data inizio

Data appartenenza

Nome

Città

Cardinalità delle relazioni:Quante volte una occorrenza di una relazione

può essere legata a occorrenze di un’altra relazione

1 1

Massima

1 N

N

N

Relazione N a N

Page 20: Componenti di un DBMS - Chesterton Parte IIb.pdf · Componenti di un DBMS • Gestore del Buffer Manager – Il Buffer è l’area di memoria centrale allocata al DBMS – Problema

20

Sistemi di Elaborazione dell’Informazione

Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese

Hadley C. Taylor

Progettazione di Basi di Dati

Progettazione Concettuale � Modello Entity-Relationship

Impiegato Appartenenza

Partecipazione

Dipartimento

Progetto

Direzione

Nome

Cognome

Stpendio

Nome

Budget

Data consegna

Data inizio

Data appartenenza

Nome

Città

Cardinalità delle relazioni:Quante volte una occorrenza di una relazione

può essere legata a occorrenze di un’altra relazione

1 1

1 N

N

N

Minima

( 0 , ) ( 1 , )

( 1 , )( 1 , )

( 0 , )

( 1 , )

Sistemi di Elaborazione dell’Informazione

Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese

Hadley C. Taylor

Progettazione di Basi di Dati

Progettazione Concettuale � Modello Entity-Relationship

Impiegato Appartenenza

Partecipazione

Dipartimento

Progetto

Direzione

Nome

Cognome

Stpendio

Nome

Budget

Data consegna

Data inizio

Data appartenenza

Nome

Città

Identificatori delle entita:Concetto che permette di identificare

in maniera univoca una entità

1 1

1 N

N

N

( 0 , ) ( 1 , )

( 1 , )( 1 , )

( 0 , )

( 1 , )

Page 21: Componenti di un DBMS - Chesterton Parte IIb.pdf · Componenti di un DBMS • Gestore del Buffer Manager – Il Buffer è l’area di memoria centrale allocata al DBMS – Problema

21

Sistemi di Elaborazione dell’Informazione

Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese

Hadley C. Taylor

Progettazione di Basi di Dati

Progettazione Logica

– Utilizza Schema Concettuale e lo traduce nel

Modello di Dati scelto

• esempi: relazionale, reticolare, gerarchico, a oggetti

– indipendente dalla struttura fisica dei dati

– produce uno Schema Logico

Sistemi di Elaborazione dell’Informazione

Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese

Hadley C. Taylor

Progettazione di Basi di Dati

Progettazione Logica

• La Progettazione Logica avviene in due fasi

1. Ristrutturazione dello Schema Concettuale di Entity-

Relationship

• Analisi ed eliminazione delle ridondanze �

Normalizzazione

• Scelta Identificatori Principali � Chiavi Primarie

2. Traduzione verso il modello Logico

Page 22: Componenti di un DBMS - Chesterton Parte IIb.pdf · Componenti di un DBMS • Gestore del Buffer Manager – Il Buffer è l’area di memoria centrale allocata al DBMS – Problema

22

Sistemi di Elaborazione dell’Informazione

Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese

Hadley C. Taylor

Progettazione di Basi di Dati

Normalizzazione

Informazione

Ridondante

Impiegati

Sistemi di Elaborazione dell’Informazione

Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese

Hadley C. Taylor

Progettazione di Basi di Dati

Normalizzazione

Informazione

Ridondante

Impiegati

Page 23: Componenti di un DBMS - Chesterton Parte IIb.pdf · Componenti di un DBMS • Gestore del Buffer Manager – Il Buffer è l’area di memoria centrale allocata al DBMS – Problema

23

Sistemi di Elaborazione dell’Informazione

Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese

Hadley C. Taylor

Progettazione di Basi di Dati

Normalizzazione

Informazione

Ridondante

Impiegati

Problemi:

1. aggiornamento

2. cancellazione

3. inserimento

Vantaggi: meno accessi

Sistemi di Elaborazione dell’Informazione

Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese

Hadley C. Taylor

Progettazione di Basi di Dati

Normalizzazione

DB NormalizzatoDipartimento

Impiegati

Page 24: Componenti di un DBMS - Chesterton Parte IIb.pdf · Componenti di un DBMS • Gestore del Buffer Manager – Il Buffer è l’area di memoria centrale allocata al DBMS – Problema

24

Sistemi di Elaborazione dell’Informazione

Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese

Hadley C. Taylor

Progettazione di Basi di Dati

Normalizzazione

• L’eliminazione delle ridondanze (dati derivabili) è una

scelta opzionale di progettazione

– Vantaggi

• Maggiore efficienza nel mantenere i dati aggiornati �

Consistenza

• Risparmio memoria

– Svantaggio

• Aumento degli accessi necessari per derivare il dato

• Si parla di 1ª (Boyce-Codd), 2ª e 3ª Forma Normale

Sistemi di Elaborazione dell’Informazione

Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese

Hadley C. Taylor

Progettazione di Basi di Dati

Progettazione Fisica

– Utilizza Schema Logico per determinare

• parametri prestazionali del DBMS

– Dimensioni iniziali ed espansione dei file

– Contiguità di allocazione

– Dimensioni aree di swapping

– …

• e caratteristiche della tabelle

– Individuazione Indici da definire per ciascuna tabella

– Tipo e dimensione degli attributi

– Produce uno Schema Fisico