The authors explain conventional data warehouse design in detail, and additionally address two innovative domains recently introduced to extend the capabilities of data warehouse systems; namely the management of spatial and temporal information. Their presentation covers different phases, such as requirements specification, and conceptual, logical, and physical modeling. They include three different approaches for requirements specification depending on whether users, operational data sources, or both are the driving force in the requirements gathering process, and they show how each approach leads to the creation of a conceptual multidimensional model. The approaches are illustrated using many real-world examples and completed by sample implementations for Microsoft's Analysis Services 2005 and Oracle 10g with the OLAP and the Spatial extensions.