Distributed database technology is expected to have a significant impact on data processing in the upcoming years because distributed database systems have many potential advantages over centralized systems for geographically distributed organizations. Data allocation and query optimization are two of the most important aspects of distributed database design. Data allocation involves placing a database and the applications that run against it in the multiple sites of a network. It is a very complex problem consisting of two processes: data fragmentation and fragment allocation. Data fragmentation involves the partitioning of each relation into a group of fragment relations while fragment allocation deals with the distribution of these fragm...