1. A method for performance analysis of a database, comprising: receiving, at a processor, a proposed data model; generating a hypothetical query workload, the generating comprising using a plurality of sample query templates representing different query constructs for the proposed data model, identifying fact tables and dimension tables using foreign key constraints between tables in the proposed data model, substituting join predicates based on the foreign key constraints, randomly selecting dimension properties and fact measures from table definitions, randomly selecting local predicates from the dimension tables for slice and filter conditions, and randomly substituting literal values based on a data-type of an associated dimension column; generating hypothetical optimizer statistics using predefined generating rules that include a projected cardinality for the proposed data model; creating a sample unpopulated database and database schema using the proposed data model; applying, by the processor, the hypothetical optimizer statistics to the sample unpopulated database; based on generating the hypothetical optimizer statistics, applying, by the processor, each query construct of the hypothetical query workload to the database schema; and estimating, by the processor, a cost of the hypothetical query workload for the proposed data model.
1. A method for performance analysis of a database, comprising: receiving, at a processor, a proposed data model; generating a hypothetical query workload, the generating comprising using a plurality of sample query templates representing different query constructs for the proposed data model, identifying fact tables and dimension tables using foreign key constraints between tables in the proposed data model, substituting join predicates based on the foreign key constraints, randomly selecting dimension properties and fact measures from table definitions, randomly selecting local predicates from the dimension tables for slice and filter conditions, and randomly substituting literal values based on a data-type of an associated dimension column; generating hypothetical optimizer statistics using predefined generating rules that include a projected cardinality for the proposed data model; creating a sample unpopulated database and database schema using the proposed data model; applying, by the processor, the hypothetical optimizer statistics to the sample unpopulated database; based on generating the hypothetical optimizer statistics, applying, by the processor, each query construct of the hypothetical query workload to the database schema; and estimating, by the processor, a cost of the hypothetical query workload for the proposed data model. 8. A method as claimed in claim 1 , wherein estimating the cost of the hypothetical query workload for the proposed data model further comprises: executing each query from the hypothetical query workload against the database using an explain plan command to compute an access path used to execute the query to provide an estimate cost of each query.