Anteprima
Vedrai una selezione di 8 pagine su 32
Sintesi basi dati Pag. 1 Sintesi basi dati Pag. 2
Anteprima di 8 pagg. su 32.
Scarica il documento per vederlo tutto.
Sintesi basi dati Pag. 6
Anteprima di 8 pagg. su 32.
Scarica il documento per vederlo tutto.
Sintesi basi dati Pag. 11
Anteprima di 8 pagg. su 32.
Scarica il documento per vederlo tutto.
Sintesi basi dati Pag. 16
Anteprima di 8 pagg. su 32.
Scarica il documento per vederlo tutto.
Sintesi basi dati Pag. 21
Anteprima di 8 pagg. su 32.
Scarica il documento per vederlo tutto.
Sintesi basi dati Pag. 26
Anteprima di 8 pagg. su 32.
Scarica il documento per vederlo tutto.
Sintesi basi dati Pag. 31
1 su 32
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

DATI DI INGRESSO E USCITA

Ingresso:

schema concettuale;

– informazioni sul carico applicativo (dimensioni dei dati e caratteristiche delle operazioni);

– modello logico;

Uscita: schema logico;

– documentazione associata.

Osservazione: non si tratta di una pura e semplice traduzione, infatti alcuni costrutti dello schema

concettuale non sono direttamente rappresentabili e, nel modello logico, è necessario tenere conto

delle prestazioni.

RISTRUTTURAZIONE SCHEMA E-R

Motivazioni: semplificare la traduzione e "ottimizzare" le prestazioni.

Osservazioni: uno schema E-R ristrutturato non è più uno schema concettuale in senso stretto.

Per ottimizzare il risultato, abbiamo bisogno di analizzare le prestazioni a questo livello, anche se le

prestazioni non sono valutabili con precisione su uno schema concettuale.

INDICATORI DEI PARAMETRI CHE REGOLANO LE PRESTAZIONI

Spazio: spazio di memoria necessario per memorizzare i dati.

Tempo: numero di occorrenze (di entità e relationships) visitate durante un'operazione sulla base di

dati.

CALCOLO DELLE PRESTAZIONI

Per calcolare le prestazioni di uno schema occorre conoscere:

volume dei dati: numero di occorrenze di ogni entità ed associazione di uno schema;

– dimensioni di ciascun attributo (cioè del suo dominio);

caratteristiche delle operazioni:

– frequenza: numero medio di esecuzioni in un intervallo di tempo;

– dati coinvolti: entità, associazioni.

REGOLA 80-20 (OTTANTA VENTI)

Per le operazioni sulle basi di dati sussiste la cosiddetta regola 80-20, cioè l'80% del carico è

generato dal 20% delle operazioni. È sufficiente quindi individuare le operazioni principali per

avere una stima dei costi.

ATTIVITÀ DELLE RISTRUTTURAZIONE

1 – Analisi delle ridondanze;

2 – Eliminazione delle generalizzazioni;

3 – Partizionamento/Accorpamento di entità e associazioni;

4 – Scelta degli identificatori primari.

1 – ANALISI DELLE RIDONDANZE

Una Ridondanza in uno schema E-R è un'informazione significativa ma derivabile da altre. In

questa fase si decide se eliminare le ridondanze eventualmente presenti o mantenerle.

Vantaggi delle ridondanze:

semplificazioni delle interrogazioni;

Svantaggi delle ridondanze:

appesantimento degli aggiornamenti;

– rischio di perdita di coerenza dei dati;

– maggiore occupazione di spazio.

Forme di ridondanze in uno schema E-R

Attributi derivabili da altri attributi della stessa entità (o relazione) e da attributi di altre entità (o

relazioni).

Relazioni derivabili dalla composizione di altre relazione in presenza di cicli.

2 – ELIMINAZIONE DELLE GERARCHIE

Il modello relazionale non può rappresentare direttamente le generalizzazioni. Invece, entità e

relazioni sono direttamente rappresentabili. Però si eliminano le gerarchie, sostituendole con entità e

relazioni.

Per eliminare le gerarchie vi sono 3 possibilità:

accorpamento delle figlie della generalizzazione nel genitore;

– accorpamento del genitore della generalizzazione nelle figlie;

– sostituzione della generalizzazione con relazioni.

Accorpamento delle figlie della generalizzazione nel genitore

Se E0 è l'entità di E1 ed E2, le entità E1 ed E2 vengono eliminate e accorpate ad E0.

Ad E0 viene aggiunto un attributo che indica da quale delle entità figlia deriva una certa istanza, e

gli attributi di E1 ed E2 vengono assorbiti dall'entità genitore, e assumono valore nullo sulle istanze

provenienti dalle altre entità. Infine, una relazione relativa a solo una delle entità figlie viene

assorbita dall'entità genitore e avrà comunque cardinalità minima uguale a 0, in quanto gli elementi

dell'altra entità non contribuiscono alla relazione

Accorpamento del genitore della generalizzazione nelle figlie

L'entità genitore E0 viene eliminata, e le entità figlie E1 ed E2 ereditano le proprietà dell'entità

genitore. Le relazioni che coinvolgono l'entità vengono sdoppiate, coinvolgendo ciascuna delle

entità figlie.

Sostituzione delle generalizzazioni con associazioni

La generalizzazione si trasforma in due associazioni uno a uno che legano rispettivamente l'entità

genitore con le entità figlie. In questo caso non c'è trasferimento di attributi o di associazioni e le

entità figlie E1 ed E2 sono identificante esternamente dall'entità genitore E0

Nello schema ottenuto vanno aggiunti dei vincoli: ogni occorrenza di E0 non può partecipare

contemporaneamente alle due associazioni, e se la generalizzazione è totale, deve partecipare ad

almeno una delle 2.

Come scegliere?

La scelta fra le alternative si può fare con un metodo simile a quello previsto per l'analisi delle

ridondanze, però non basato sul numero degli accessi. Questo metodo:

conviene se le operazioni non fanno distinzione tra le occorrenze e tra gli attributi di E0, E1

– e E2;

è possibile solo quando la generalizzazione è totale (altrimenti ci sarebbero elementi di E0

– che non appartengono nè ad E1 nè ad E2). Conviene quando si fanno operazioni distinte su

elementi di E1 e E2;

è utilizzato se la generalizzazione non è totale, ma ci sono operazioni che si riferiscono

– separatamente a occorrenze di E1 o di E2. Si ha risparmio di memoria, ma incremento degli

accessi e problema a mantenere la consistenza dei dati.

Sono anche possibili soluzioni "ibride", soprattutto in gerarchie a più livelli.

3 – PARTIZIONAMENTO/ACCORPAMENTO DI CONCETTI

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

Gli accessi si riducono separando attributi di concetti diversi cui si accede contemporaneamente.

Partizionamento verticale di entità

Se applicazioni diverse hanno accesso a diversi gruppi di attributi di una stessa entità, si può

procedere al partizionamento verticale dell'entità. L'entità verrà suddivisa in due entità, legate da

una relazione, e gli attributi dell'entità iniziale saranno suddivise in due nuove entità, e le due nuove

entità saranno legate da una relazione 1:1

Partizionamento orizzontale di entità

Consiste nel fare un partizionamento secondo il valore assunto da un determinato attributo.

Il difetto di questo partizionamento è che una decomposizione orizzontale comporta una

duplicazione delle relazioni a cui l'entità partecipa.

Accorpamento di entità

Viceversa, due entità legate da un'associazione 1:1 possono essere accorpate in un'unica entità

contenente gli attributi di entrambi, se le operazioni più frequenti su un'entità richiedono anche i

dati dell'altra.

Accorpamento di Associazioni

È possibile anche effettuare un partizionamento di associazioni, per separare le occorrenze cui si

accede separatamente. Simmetricamente si può effettuare un accorpamento di associazioni quando

si accede alle varie occorrenze congiuntamente.

Eliminazione degli attributi multivalore

L'eliminazione degli attributi multivalore è necessaria perchè il modello relazionale non permette di

rappresentare in maniera diretta questa situazione.

In questo caso l'entità E che contiene un attributo multivalore viene divisa in due entità: una E' con

lo stesso nome di E ma senza l'attributo multivalore, e un'altra E'' contenente solo l'attributo

multivalore, legata a E' mediante una relazione uno a molti.

4 – SCELTA DEGLI IDENTIFICATORI PRIMARI

La scelta degli identificatori primari è un'operazione indispensabile per la traduzione nel modello

relazionale.

Criteri:

assenza di opzionalità (i valori nulli non permettono di identificare tutti gli attributi);

– semplicità (preferibili gli identificatori con pochi attributi);

– utilizzo nelle operazioni più frequenti o importanti.

Utilizo di Codici come Identificatori

La domanda è: se nessuno degli identificatori soddisfa i requisiti visti ? Allora si introducono nuovi

attributi, i codici, contenenti valori generati automaticamente per questo scopo.

Traduzione verso il modello relazionale

Una volta che abbiamo ristrutturato il modello relazionale, possiamo tradurlo nel modello logico.

ENTITÀ ED ASSOCIAZIONI MOLTI A MOLTI

Idea di base:

le entità diventano relazioni (del modello relazionale) sugli stessi attributi (o eventualmente

– altri);

le associazioni (cioè le relazioni E-R) molti a molti diventano relazioni (del modello

– relazionale) sugli identificatori delle entità coinvolte, più eventuali attributi propri.

ASSOCIAZIONE 1:1

La partecipazione è obbligatoria per entrambe le entità.

In genere si scelgono nomi più espressivi per gli attributi della chiave della relazione che

rappresenta l'associazione.

Nel caso di associazioni 1:1 con partecipazioni entrambe obbligatorie, scegliamo noi quale delle

due entità deve assorbire le chiavi dell'altra.

ASSOCIAZIONE 1:N

L'associazione 1:N viene assorbita dall'entità che partecipa con cardinalità massima uguale a 1, con

i suoi attributi e identificatori dell'altra entità.

ASSOCIAZIONE 1:1 CON UNA OPZIONALE

La relazione viene assorbita dall'entità che ha partecipazione obbligatoria, con vincolo di integrità

referenziale, senza valori nulli.

ASSOCIAZIONE 1:1 CON ENTRAMBE OPZIONALI

L'associazione viene rappresentata come una relazione a sè, con vincolo di integrità referenziale,

senza valori nulli.

TRADUZIONI DI SCHEMI COMPLESSI

1 – si procede alla trasformazione in relazioni delle entità con identificatore interno;

2 – si trasformano in relazioni le entità con identificazione esterna;

3 – quindi si procede a creare le relazioni relative alle associazioni (1:1, 1:N, N:N).

CAPITOLO 7 – ALGEBRA RELAZIONALE

LINGUAGGI DI INTERROGAZIONE PER BASI DI DATI RELAZIONALI

Dichiarativi: specificano le proprietà del risultato ('che cosa').

Procedurali: specificano le modalità di generazione del risultato ('come').

Linguaggi di interrogazione sono:

algebra relazionale: procedurale;

– calcolo relazionale: dichiarativo (teorico);

– SQL (Structured Query Language): parzialmente dichiarativo (reale);

– QBE (Query By Example): dichiarativo (reale).

ALGEBRA RELAZIONALE

Dettagli
Publisher
A.A. 2017-2018
32 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher astrex di informazioni apprese con la frequenza delle lezioni di Basi di dati e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Palermo o del prof Mantaci Sabrina.