Optimal Strategies for Building an Effective Data Warehouse