1. A method for updating a data warehouse comprising: identifying a primary key for each fact entry in a data warehouse having a fact table and a set of dimensions, each of said dimensions corresponding to a predetermined schema; for each fact entry in the data warehouse, linking the fact table and the set of dimensions; for each said dimension, batch deleting those records from its corresponding dimension table subject to an update, based on said primary key, including removing any dangling records from the corresponding dimension table, thereby updating the corresponding dimension table and removing any dangling values not associated with the corresponding dimension; for each said dimension, bulk loading new records into its corresponding dimension table, based on said primary key; and bulk loading said new records into said fact table, based on said primary key, wherein the bulk loading is via a temporary table, which stages updated records to be at least one of inserted and bulk-loaded to final data warehouse tables, and preventing duplicate records.