How to Design a Better Database{4}

by Penny P
The authors of this article discussed how physical database design is under-studied because database administrators have to maintain databases on a daily basis. The idea is to design databases that could adjust themselves to the characteristics of applications, such as indexing definitions or automatically gathering information from SQL workloads. The authors explain that self-tuning logical database design is needed. Most databases contains information that causes data redundancies and null values. Two main ways of maintaining efficient databases is to: 1) reduce the length of the join paths “without sacrificing the normal form based on functional dependencies” and 2) reduce the length join paths “by introducing data redundancy” (Marchi, Hacid & Petit). Null values may not be of much importance for the database designers but it matters greatly for the database programmers who performs the SQL queries. The authors come to the conclusion that good designs can’t be obtained when the database is designed, however, a better design could be made afterward. With the use of SQL workloads, they could tune the database and filter out the information that is needed or not needed. The SQL statements should be used to do three main things: minimize null values, maximize the efficiency of queries performed, and data integrity.

This article was informative because it describes how difficult it is to create a good database design. No matter how good the design may be, problems can still exist. It takes a lot of work to filter out the information and figure out what is needed and what isn’t. But even then, the authors say that there can still be problems. It’s no wonder that it’s so hard to make a good database design. But I bet if it’s a good one, then it may be worth all the problems.



De Marchi, F., Hacid, M.-S., Petit, J.-M. (2006). Data Engineering Workshops. (July 2006) P. 1219. Retrieved from