How to Design a Better Database

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

4 thoughts on “How to Design a Better Database”

  1. I like your article, it gave some really good tips and advice on how to make a good Database. This really does show how difficult it can be to make a database. But I am sure with the right practice and experience anyone can build a great database.

  2. It was a good article with very useful information. I found interesting the part where you explained that self tuning logical database design is needed to reduce redundancy and efficiency.Its amazing to see how computers can adapt to different applications and make decision in split seconds. They are becoming smarter and smarter with a self contained systems, that it makes me wonder what new creative innovations will be made in the future.

  3. I agree that a better database needs time to be formed because a new database may be inefficient or inaccurate. As time goes by, designers may experience some errors in the database and be able to refine the database by filtering out redundancy.

  4. After reading your article i can see how it’s hard to make a database. It take a good design and it can still be further improved as these designer uses that system. And the idea of a self-tuning sounds like it would a very useful tool to have, it will save a lot of time and money.

Comments are closed.