A design methodology for data warehouses