A block map is associated with a multi-dimensionally clustered (MDC) base
table in a database to maintain a "free" or "in use" status for each of
the contiguous blocks in the table. Additionally, information may be
stored in the block map to indicate whether, after loading data, a given
block in the base table requires constraint checking operation or
whether, based on changes to the block, a materialized query table
dependent upon the table requires a refresh operation. Each time data is
loaded into the table, the associated block map is updated. When delayed
constraint check or refresh operations are to be performed, the block map
is consulted to learn which blocks require the operations. After one of
the constraint check or refresh operations is performed, the associated
block map is again updated. The block map enables a method to efficiently
identify data blocks in a base table, changes to which trigger
incremental constraint checking operations and incremental maintenance
operations of dependent materialized query tables.