There are two main approaches to building a data warehouse - top-down and bottom-up. The top-down approach builds a centralized data repository first and then creates subject-specific data marts from it. The bottom-up approach incrementally builds individual data marts and then integrates them. Successful data warehouse design considers data sources, usage requirements, and takes a holistic, iterative approach addressing data content, metadata, distribution, tools, and technical factors like hardware, DBMS, and communication infrastructure.