Per permettere una maggiore flessibilità e potenza nella realizzazione di query che interrogano basi di dati corrispondenti a versioni diverse dello schema vengono introdotti gli Schemi Aumentati, che rappresentano un aggiornamento degli schemi precedenti. Gli Schemi Aumentati sono schemi che vengono prodotti attraverso insiemi di operazioni di modifica, riportate nelle versioni precedenti per allargare i limiti del range delle interrogazioni multi-schema. Ad ogni versione dello Schema Graph corrisponde un diverso schema aumentato, se il progettista decide di riportare in quel determinato schema una o più modifiche apportate all'ultima versione.
Una transazione di operazioni di modifica porta ad ottenere una versione
a partire da
. Sia
una versione precedente (eventualmente coincidente con
), ed
il suo schema aumentato. Mentre la migrazione coinvolge i dati che hanno una validità che si sovrappone ad entrambe le versioni
ed
, l'aumento di
coinvolge solamente i dati che hanno la stessa validità temporale di
(
). A differenziare ulteriormente le due operazioni è la gestione degli eventi: mentre nella migrazione non vengono coinvolti, l'aumento deve prendere in considerazione tutti gli eventi che sono accaduti durante
ed eventualmente alcune istanze di gerarchie non erano valide in
.
Come nella migrazione, tuttavia, esistono anche in questo caso delle azioni che non dipendono dalla specifica sequenza delle operazioni di modifica applicate, ma sull'effetto di rete per gli attributi e le dipendenze funzionali coinvolte nella transazione. In particolare:
Le operazioni di aumento degli schemi coinvolgono solamente le operazioni di aggiunta, a differenza di quanto visto per la migrazione, per un motivo preciso. Mentre il progettista può aggiungere ed eliminare attributi e dipendenze funzionali dagli schemi, non è affatto utile ai fini delle interrogazioni cross-versionali la propagazione di una cancellazione negli schemi precedenti. Nell'ottica di trovare il sistema migliore per rendere possibile l'interrogazione sia degli schemi singoli che di schemi multipli, la cancellazione non farà parte dei nostri schemi aumentati.
Introduciamo quindi la definizione 22 di versione aumentata, costruita sulla base di ,
e sullo schema aumentato basato su queste due versioni dello schema.
E' necessario che tutti gli attributi coinvolti dalle dipendenze funzionali presenti in
devono essere presenti in
, dal momento che si possono aumentare solamente le dipendenze funzionali che coinvolgono attributi già presenti.
Elemento | Condizione | Azione di aumento | |
![]() |
stimare i valori per ![]() |
||
![]() |
![]() |
disaggregare i valori delle misure | |
![]() |
calcolare i valori per ![]() |
||
![]() |
![]() |
![]() |
aggiungere i valori di ![]() |
![]() |
- | controllare se ![]() |
Le azioni di aumento associate a ciascun elemento in
e
sono riportate nella tabella 4.2 e sono definite come segue: