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; and e) designing an optimal federated database management system; and f) providing functionality for user input including user heuristics and data inputs.