Progettazione logica

Note sulla ristrutturazione dello schema ER


Analisi delle ridondanze

Eliminazione delle generalizzazioni

Il costrutto della generalizzazione è stato usato nello schema due volte:

NonConformità

La seguente figura mostra due delle possibili scelte nell'eliminazione della generalizzazione per NonConformità:

Figura: Eliminazione della generalizzazione NonConformità: (a) Accorpamento delle figlie nel padre (b) Accorpamento del padre nelle figlie

Non si prende in considerazione l'alternativa di sostituzione con associazioni in quanto essa è consigliabile solo quando gli attributi in gioco sono molti. Le operazioni coinvolte sono O11 e O18:

            
Concetto Costrutto Accessi Tipo
Lavoro E 1 L
Problema R 2 L
NonConformità E 2 L

 (a) Accorpamento delle figlie nel padre

Concetto Costrutto Accessi Tipo
Lavoro E 1 L
ProblemaInt R 1 L
NonConformitàInt E 1 L
ProblemaEst R 1 L
NonConformitàEst E 1 L

(b) Accorpamento del padre nelle figlie


Come si vede abbiamo cinque accessi in lettura in entrambe le ristrutturazioni. In conclusione la nostra scelta sul tipo di eliminazione da adottare cade sulla modalità accorpamento del padre nelle figlie in quanto l'accorpamento delle figlie nel padre spreca più memoria senza permettere una maggiore velocità.

Lavoro

Su 1500 lavori, 1480 sono lavori terminati (in pratica il 99% del totale), quindi accorpare le figlie nel padre introduce uno spreco di memoria trascurabile e riduce il numero di accessi per le operazioni O6, O7, O8, O10, O15 e O18, rispetto alle altre alternative. Queste tra l'altro richiederebbero la replicazione aggiunta di varie associazioni e vincoli con conseguente aumento della complessità e degli overhead.

Partizionamento/Accorpamento di concetti

Scelta degli identificatori primari

SchemaElettrico e TipoDiArticolo sono identificate esternamente l'una dall'altra. Per entrambe le entità risulta più adatta la chiave interna Codice. Le altre entità hanno tutte un solo identificatore.