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 doesnt have smooth lines, it will produce drag and go slower.
The same holds true for databases. If a database doesnt have
optimized relationshipsnormalizationit wont 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 oncein
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 theyre 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 recordnot thirty-fivein 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
youll have to do later. A really bad time for a database redesign is
after the public launch of the application using italthough 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" |