Our research focuses on developing a methodology for designing distributed database systems. This methodology is used to allocate databases across a number of computer sites connected by a communication network. It takes into account the pattern of usage of the databases, the communication costs in the network, delays due to queuing of requests for data, costs for maintaining consistency among the various copies of a database, and storage costs for the databases. The methodology is based on nonlinear integer programming modeling. A Lagrangian relaxation procedure using decomposition is developed to derive near optimal solutions for the problem. A tool has been built to operationalize this methodology, the model, and the solution procedure. The methodology developed in this research makes a significant contribution to the database field because it is one of the first to consider communication costs, costs of maintaining consistency, a,id queuing delays for the database allocation problem. It is applicable to a wide range of organizations which are in the process of moving from a centralized to a distributed computing environment.