The present invention is a method and system for incrementally maintaining
a database having at least one materialized view based on at least one
table. When changes to the table are received, a change table based on the
received changes is generated. The generated change table is propagated
upwards to form a higher-level change table and the materialized view is
updated by applying the higher-level change table to the materialized view
using a refresh operation. In one aspect, the change table includes a
plurality of tuples representing the changes and the materialized view
includes a plurality of tuples. The refresh operation has two parameters,
a join condition and an update function specification. The materialized
view is updated by finding all tuples in the materialized view that match
the tuple in the change table, using the join condition, for each tuple in
the change table and updating each found tuple in the materialized view by
performing operations indicated by the update function specification.
De onderhavige uitvinding is een methode en een systeem om oplopend een gegevensbestand te handhaven dat minstens één gematerialiseerde mening heeft die op minstens één lijst wordt gebaseerd. Wanneer de veranderingen in de lijst worden ontvangen, wordt een veranderingslijst die op de ontvangen veranderingen wordt gebaseerd geproduceerd. De geproduceerde veranderingslijst wordt verspreid naar omhoog om een higher-level veranderingslijst te vormen en de gematerialiseerde mening wordt bijgewerkt door de higher-level veranderingslijst op het gematerialiseerde mening gebruiken toe te passen verfrist verrichting. In één aspect, omvat de veranderingslijst een meerderheid van tuples die de veranderingen vertegenwoordigen en de gematerialiseerde mening omvat een meerderheid van tuples. Verfris verrichting heeft twee parameters, sluit me aan bij voorwaarde en een specificatie van de updatefunctie. De gematerialiseerde mening wordt bijgewerkt door alle tuples in de gematerialiseerde mening te vinden die tuple in de veranderingslijst aanpassen, sluit aan gebruiken zich bij voorwaarde, voor elke tuple in de verandering lijst en het bijwerken van elke gevonden tuple in de gematerialiseerde mening door handelingen uit te voeren die door de specificatie van de updatefunctie worden vermeld.