• Non ci sono risultati.

Schema concettuale Requisiti della base di dati

N/A
N/A
Protected

Academic year: 2021

Condividi "Schema concettuale Requisiti della base di dati"

Copied!
34
0
0

Testo completo

(1)

Progettazione

Schema concettuale

Progettazione logica

Schema logico

Progettazione concettuale

(2)

Obiettivo della

progettazione logica

•  "tradurre" lo schema concettuale in uno schema logico che rappresenti

gli stessi dati in maniera corretta

ed efficiente

(3)

Dati di ingresso e uscita

•  Ingresso:

•  schema concettuale

•  informazioni sul carico applicativo

•  modello logico

•  Uscita:

•  schema logico

•  documentazione associata

(4)

•  alcuni aspetti non sono direttamente rappresentabili

•  è necessario considerare le prestazioni

Non si tratta di una pura e semplice

traduzione

(5)

Traduzione nel modello logico

Ristrutturazione dello schema E-R

Schema E-R applicativo

Schema E-R ristrutturato Modello

logico

(6)

Ristrutturazione schema E-R

•  Motivazioni:

•  semplificare la traduzione

•  "ottimizzare" le prestazioni

•  Osservazione:

•  uno schema E-R ristrutturato non è

(più) uno schema concettuale nel

senso stretto del termine

(7)

•  Ma:

•  le prestazioni non sono valutabili con precisione su uno schema

Per ottimizzare il risultato abbiamo bisogno di analizzare le prestazioni a

questo livello

(8)

Consideriamo

“indicatori” dei parametri che regolano le prestazioni

•  spazio: numero di occorrenze previste

•  tempo: numero di occorrenze (di entità e relationship) visitate

durante un’operazione

(9)

Esempio di valutazione di costo

•  Operazione:

•  trova tutti i dati di un impiegato, del dipartimento nel quale lavora e dei progetti ai quali partecipa

•  Si costruisce una tavola degli accessi

basata su uno schema di navigazione

(10)

Telefono

Dipartimento

Afferenza

Impiegato

Progetto

Partecipazione

Nome

Nome Cognome

Budget

Data

(1,N) (0,1)

(0,1)

(1,1) (0,N)

(1,N)

(1,N)

Codice

(11)

Attività della ristrutturazione

•  Analisi delle ridondanze

•  Partizionamento/accorpamento di entità e relationship

•  Scelta degli identificatori primari

(12)

Analisi delle ridondanze

•  Una ridondanza in uno schema E-R è una informazione significativa ma

derivabile da altre

•  in questa fase si decide se eliminare le

ridondanze eventualmente presenti o

mantenerle

(13)

Ridondanze

•  Vantaggi

•  semplificazione delle interrogazioni

•  Svantaggi

•  appesantimento degli aggiornamenti

•  maggiore occupazione di spazio

(14)

Forme di ridondanza in uno schema E-R

•  attributi derivabili:

•  da altri attributi della stessa entità (o relazione)

•  da attributi di altre entità (o relazioni)

•  relazioni derivabili dalla composizione

di altre relazioni in presenza di cicli

(15)

Attributo derivabile dai suoi attributi

FATTURA

Importo netto

IVA

Importo lordo

(16)

Attributo derivabile da altra entità

Importo totale

Composizione

Acquisto Prodotto

Prezzo (1,N) (1,N)

(17)

Residenza

Persona Città

Numero abitanti

conteggio di occorrenze

(18)

•  Operazione 1: memorizza una nuova

persona con la relativa città di residenza (500 volte al giorno)

•  Operazione 2: stampa tutti i dati di una

città (incluso il numero di abitanti) (2

volte al giorno)

(19)

Attività della ristrutturazione

•  Analisi delle ridondanze

•  Partizionamento/accorpamento di entità e relazioni

•  Scelta degli identificatori primari

(20)

•  Ristrutturazioni effettuate per rendere più efficienti le operazioni in base a un semplice principio

•  Gli accessi si riducono:

•  separando attributi di un concetto

che vengono acceduti separatamente

•  raggruppando attributi di concetti

diversi acceduti insieme

(21)

Ristrutturazioni, casi principali

•  partizionamento verticale di entità

•  partizionamento orizzontale di relationship

•  eliminazione di attributi multivalore

•  accorpamento di entità/

(22)

Impiegato

Livello

Stipendio Ritenute

Cognome Indirizzo

Data nascita

Codice

Partizionamento di entità

(23)

Livello Stipendio

Ritenute Cognome

Indirizzo Data Codice

Dati R anagrafici

Dati lavorativi (1,1) (1,1)

Partizionamento di entità

(24)

Agenzia

Indirizzo Città Telefono Nome

(1,N)

Partizionamento di entità

(25)

Numero

Indirizzo

Nome

Utenza

Agenzia Telefono

(1,N) (1,1) Città

Eliminazione di attributi multivalore

(26)

Indirizzo Interno

Cognome

Indirizzo Data nascita

Codice fiscale

Intestazione

Persona Appartamento

(0,1) (1,1)

Accorpamento di entità

(27)

Persona

Interno

Indirizzo Cognome

Indirizzo

Data nascita

Codice fiscale

(0,1)

(0,1)

Accorpamento di entità

(28)

Attività della ristrutturazione

•  Analisi delle ridondanze

•  Partizionamento/accorpamento di entità e relazioni

•  Scelta degli identificatori primari

(29)

Scelta degli identificatori principali

•  operazione indispensabile per la traduzione nel modello relazionale

•  Criteri

•  assenza di opzionalità

•  semplicità

•  utilizzo nelle operazioni più frequenti

(30)

Se nessuno degli identificatori soddisfa i requisiti visti?

Si introducono nuovi attributi (codici) contenenti valori speciali generati

appositamente per questo scopo

(31)

modello relazionale

•  idea di base:

•  le entità diventano relazioni sugli stessi attributi

•  le associazioni (ovvero le relazioni E- R) diventano relazioni sugli

identificatori delle entità coinvolte

(32)

Impiegato(Matricola, Cognome, Stipendio) Progetto(Codice, Nome, Budget)

Partecipazione(Matricola, Codice, DataInizio) Partecipazione

(0,N) (1,N)

Cognome

Stipendio

Matricola

Impiegato

Nome Codice

Budget Progetto Data inizio

Entità e relationship molti a molti

(33)

Entità e relationship molti a molti

Impiegato(Matricola, Cognome, Stipendio)

Progetto(Codice, Nome, Budget) Partecipazione(Matricola, Codice,

DataInizio)

•  con vincoli di integrità referenziale fra

•  Matricola in Partecipazione e (la chiave di)

(34)

Nomi più espressivi per gli attributi della chiave della relazione che

rappresenta la relationship

Impiegato(Matricola, Cognome, Stipendio) Progetto(Codice, Nome, Budget)

Partecipazione(Matricola, Codice, DataInizio) Partecipazione(Impiegato, Progetto, DataInizio)

Riferimenti

Documenti correlati

Il compilatore non genera una volta per tutte, all'atto della compilazione, il codice per l'assegnazione dei valori delle variabili in funzione delle chiamate dei

Le strutture di rappresentazione di un modello per i dati ele- mentari o disaggregati sono in linea di princi- pio notevolmente differenti da quelle di un

• le associazioni (ovvero le relazioni E-R) diventano tabelle sugli identificatori delle entità coinvolte (più gli attributi propri).. Impiegato(Matricola, Cognome,

Le Olimpiadi prevedono una fase scolastica (in ciascun istituto scolastico partecipante), una fase regionale, una finale nazionale e la gara internazionale che designerà

When many heterogeneous data types from different sources need to be integrated in a single data warehouse, classical global data schema design leads to:. • a complex

□ di operare nel rispetto delle vigenti normative in materia di edilizia ed urbanistica, in materia di tutela ambientale, sicurezza e tutela della salute nei luoghi di lavoro,

Ai fmi della determinazione della pena detentiva prevista nel primo comma non si tiene conto delle circostanze, ad eccezione di quelle per le quali la legge

prestazioni tecniche come descritte dal D. Nel corso dell’esecuzione dei lavori il collaudatore esegue verifiche periodiche mediante visite, sopralluoghi e