1. A method for optimizing a federated database management system having a federated database server and a plurality of data source servers comprising the steps of: a) determining schema and metadata configurations of the data source servers; b) enumerating available resources; c) enumerating security and confidentiality requirements; d) calculating an optimal federated database management system design based on the schema and metadata, the enumerated available resources, and the enumerated security and confidentiality requirements, wherein said calculating includes: (i) modeling a cost in terms of available resources consumed by each strategy of a plurality of strategies while executing a query with said federated database management system; (ii) determining whether operations associated with said query should be performed by said federated database server or one of said data source servers; (iii) determining the optimal order of said operations associated with said query; e) designing an optimal federated database management system, wherein said designing includes: (i) selecting the strategy having the lowest cost for executing said query; (ii) in response to determining that said operations associated with said query should be performed by said federated database server, selecting said federated database server to perform said operations according to said optimal order; (ii) in response to determining that said operations associated with said query should be performed by one of said data source servers, selecting said data source server to perform said operations according to said optimal order; and f) providing functionality for user input including user heuristics and data inputs.