In aggiunta alle quattro operazioni appena introdotte, assumiamo che ci sia una operazione per creare uno schema iniziale
, che contiene solo il fact node, ed una che permette di cancellare uno schema esistente.
Sia
uno schema graph. Per ciascuna operazione di modifica
(dove
è
o
e
è un attributo, oppure
è
o
e
è una dipendenza funzionale. Definiamo il nuovo schema
ottenuto applicando
sullo schema corrente
.
Nella definizione 18 non distinguiamo i casi in cui sia già presente o meno in
.
Infatti se
è già presente in
lo schema risultante rimarrà invariato, mentre se non lo è verrà direttamente connesso attraverso un arco al fact node
. 4.2
Al momento dell'inserimento il progettista dovrà specificare se questo attributo è una proprietà o una misura. Queste informazioni verranno registrate nei meta-dati.
Quindi, secondo il teorema 1 la cancellazione di una attributo è definita rimuovendo
e mantenendo le dipendenze funzionali che non coinvolgono
attraverso la proiezione
Bisogna notare che l'introduzione di una nuova dipendenza funzionale può introdurre ridondanze, che vengono rimosse attraverso la riduzione ``''.
![]() |
![]() |
![]() |
|
![]() |
|||
![]() |
La definizione 21 afferma che la dipendenza funzionale
viene eliminata attraverso la differenza degli insiemi. Successivamente vengono inserite in
tutte le dipendenze funzionali che determinano
e tutte le dipendenze funzionali che partono da
.
Questa definizione permette di gestire qualsiasi operazione di cancellazione di dipendenze funzionali semplici, senza nessuna perdita di informazioni importanti implicitamente connesse a quella che stiamo eliminando dallo schema.
|
Possiamo quindi dimostrare che le definizioni 18-21 formalizzano il risultato atteso per le modifiche degli schemi, ed in particolare che queste operazioni di modifica sono chiuse sugli schema graph.
Dimostrazione:La (1), (2), e la (3) sono dirette conseguenze delle definizioni 18, 19, e 20, rispettivamente. La (4) è conseguente dalla definizione 21, osservando cheè canonica e quindi in particolare è non ridondante. Rimane da dimostrare che
è uno schema graph ridotto, cioè che: (a)
è un insieme di dipendenze funzionali semplici (b)
ha solo archi in uscita ed esiste un percorso da
a ciascun attributo di
(c)
è in forma ridotta. Per
,
, e
, (a) e (b) sono banali. Per
, (a) e (b) sono conseguenti dal teorema 1. Per tutte le quattro operazioni, (c) dipende direttamente dalla definizione dell'operatore di riduzione ``
''.
Questo teorema è necessario per dimostrare che le operazioni di modifica che abbiamo appena definito portano a schemi validi e viene garantita la produzione di risultati non ridondanti ed univocamente determinati.