I. Introduction
All software development processes, and especially for data centric applications, start with the gathering and analysis of the user's requirements. Many techniques were proposed [1], [2], but all approaches are time and resource consuming and, therefore expensive. Moreover, software developers will not initiate this process unless the project is officially started. The time wasted through the long and iterative process of the gathering of business requirements could be better used. The idea behind this work originated from recent proliferation of open source applications. As many of these projects rely on a persistence engine, the idea is to gather and study the database design of the largest possible number of open source applications. Furthermore, the increasing popularity of design patterns (a design pattern is a common solution to a common problem found by different people) in many disciplines, and especially in software engineering, was a motivation to try to come up with Database Design Patterns or (DDP).