2012-03-23

Designing databases

Databases should be designed to model the real world. Most Relational Database Management Systems (RDBMS) database designs don't even follow the rudimentary dictates of proper normalization and many software packages allow databases with no referential integrity constraints to be built. If a datum exists only once in the real-world then that datum should only be represented once in a database. Regardless of how complex access to, or maintenance of that datum may become, only a single instance of the datum should exist in the database! (Access to, and maintenance of the datum will actually become simpler.)

The shortcomings of RDBMSs and how they are being implemented are presently being explored by Date and Darwen in The Third Manifesto, and by Terry Halpin who takes a different approach to database modeling with his Object Role Modeling. Once again I will quote from George Santayana who has said, “Those who do not learn from history are doomed to repeat it.” Indeed, it really is history that has hobbled database design. Some of this history will be discussed and the considerations that result in the modeling of the real world, without altering it, will be dealt with.

No comments:

Post a Comment