Text this: Designing relational data warehouses through schema-transformation primitives