|
|
|
|
|
|
Database Design
|
|
The entire database needs to be designed using data modeling tools like the one that we are using
from:
xCase
and just to give you an idea here is how a model with 100 tables
may look like. See below images. Each rectangular represents the name of table and
if you right click on that using the data modeling tool, you will
get the field's names, relations and business rules needed to maintain the data base.
Not going through the database design steps and a complete specs
preparation may double the cost of your application for the long
run. Many mistakes could also be avoided if starting with the
database design process at first.
|
Prevent data redundancy
Database that was not design properly can cause
a duplicated data in the application. So when you enter data
somewhere you need to save it in several other places in order for
the system to work properly. Due to this problem, later, when you
need to modify some data you will need to process all other tables
where the same data is stored.
The above is a major flaw in the design and it breaks the basic rule
that is needed to prevent data redundancy. In a normal design you
enter the data in one place and use that data all over. Data stored
only once guarantee consistency all over the application and this
way one change of data could be reflected anywhere in the
application. Redundant data will cause a lot of UN predicted issues.
Database design using data modeling tools will prevent and will
optimize the entire development while saving money to the client. In
addition for future changes it will be easier to have a global view
of the entire database and implement new changes quite rapidly. Just
to give you an idea here is how a model with 100 tables looks
like.
|
|
Figure 1:
|
|
Below is a zoom of above image
Each dotted line between one table to another represents a relation
between each table. If you observe
the Students table in brown color then the Sat1 is a child of that
table. In a database design relations
between tables are part of the actual design.
|
|
Figure 2:
|
|
Specs Preparation
Without specs preparation and analysis of the requirements needed it
is NOT feasible to assess the scope of work needed for a total
re-write of an application if it is needed. The above will include
the database design as shown in figure 1 and figure 2 and will be
used for the entire new development process. At the end of the
design the data modeling tool will create the entire data base with
all relations captions fields names. When ever a change is occurred
it will be implemented via the our
data modeling tool.
When you design a database while using a data modeling tool, you can
also provide notes of the business
rules and formulas as you discuss the specs with the client and
enter all in the entity which represents
either the table or view.
|
|
|
|
|
|
|
|