Hi fahd-ga,
Database design is very critical to the scalability and performance of
the applications. Also it is difficult to make changes to the
application once it is completed. If the database is poorly designed
it will affect the performance of the application.
"Good database design is crucial for a high performance application,
just like an aerodynamic body is important to a racecar. If the
racecar doesn’t have smooth lines, it will produce drag and go slower.
The same holds true for databases. If a database doesn’t have
optimized relationships—normalization—it won’t be able to perform as
efficiently as possible.
Beyond performance is the issue of maintenance. Your database should
be easy to maintain. This includes storing a limited amount (if any)
of repetitive data. If you have a lot of repetitive data and one
instance of that data undergoes a change (such as a name change), that
change has to be made for all occurrences of the data. To eliminate
duplication and enhance your ability to maintain the data, you would
create a table of possible values and use a key to refer to the value.
That way, if the value changes names, the change occurs only once—in
the master table. The reference remains the same throughout
other tables. For example, suppose you are responsible for maintaining
a database of students and the classes in which they’re enrolled. If
thirty-five of these students are in the same class, called “Advanced
Math,” this class name would appear thirty-five times in the table.
Now, if the instructor decides to change the name of the class to
“Mathematics IV,” you must
change thirty-five records to reflect the new name of the class. If
the database were designed so that class names appeared in one table
and just the class ID number was stored with the student record, you
would only have to change one record—not thirty-five—in order to
update the name change.
The benefits of a well-planned and designed database are numerous, and
it stands to reason that the more work you do up front, the less
you’ll have to do later. A really bad time for a database redesign is
after the public launch of the application using it—although it does
happen, and the results are costly. So, before you even start coding
your application, spend a lot of time designing your database."
Extract from the book "MySQL in 24 hours". Here's a chapter from this
book, which gives an introduction to several design techniques and
normalizations. You will need Adobe aAcrobat installed to view it:
http://www.weberdev.com/Specials/Books/0672323494/MySQL_24Hours_ch3.pdf
Here's another beginner's course on efficient database design and
optimization:
http://www.sum-it.nl/cursus/dbdesign/english/index.php3
Hope this helps,
Kind regards,
rhansenne-ga.
Search terms used:
"database design" "importance" |