Database Design
Planning
Webster's dictionary uses the following
phrases to define the term design:
?
"To prepare the preliminary
plans or sketch for"
?
"To intend for a definite
purpose"
?
"The combination of details
or features of something constructed"
?
"To plan and fashion
artistically or skillfully"
?
"Adaptation of means to a
preconceived end"
"To prepare the
preliminary plans or sketch for" implies that there is more work in database
design than what is obvious on the surface. Before the actual design of the
database occurs, there is much planning involved.
The "definite purpose"
of the database should be clearly defined.
Many "details and
features" are involved during the design of any database.
Once the purpose of the
database has been established, the design team should study all of the details
and features that comprise the business.
These details and
features, once gathered and often "sketched," are eventually formatted into a
database structure using a predetermined database model.
During the actual
design of the database, these details and features are "fashioned artistically
and skillfully" into a database model, which will most likely be modified
numerous times before the design process is complete.
"Adaptation of means to
a preconceived end" is an excellent phrase used to describe the activities of
database designers in many situations.
The designers must be
able to adapt the phases and tasks in database design to roll with the changes
and meet the customer's needs. Often, the designers find that the customer's
needs for a database are refined throughout the design process, or even changed
drastically.
The following bullets
represent actions that should be taken during the design planning process:
?
Defining the mission
statement
?
Defining design
objectives
?
Devising a work
plan
?
Setting milestones and
deliverables
?
Establishing project
deadlines
?
Assigning
tasks
Mission
Statement and Design Objectives
The following questions
can be raised to help define the mission statement:
?
What is the purpose of the
database?
?
Who will use the
database?
?
What type of database will
this be?
?
What models and
methodologies will be used?
?
Is this a new
database?
?
Will this database be molded
after a legacy database?
?
Will the database need to be
modified in the near future?
?
Will there be multiple
databases?
?
How will the customer access
the database?
Following is an example of a mission statement and design objectives for a class management and student registration database system:
Mission statement - An automated business system is needed to
manage and track student class registrations, class schedules, instructors, and
instructor availability.
Design
objectives:
?
The
manual process of managing the training program will be
automated.
?
Internal users will be accessing the
database.
?
The
relational model will be used.
?
An
automated design (AD) tool will be used to design the
database.
?
Currently no database is in place to meet
the present needs (no legacy database).
?
The
database might need to be modified as the training company grows and more data
storage requirements are established.
?
This
will be a single database that will reside in one
location.
?
The
users will implement a form interface to query and make changes to data in the
database.
?
Instructors should be able to query the
database and check the status of classes they teach.
?
In
the future, a portion of the database can be made available online so that
students can query the status of classes or programs for which they are
scheduled.
A milestone is a significant point in the
database design process. The most common events in the design process that are
associated with milestones are the completion of the different design phases.
Following are common
milestones:
?
All business requirements
are gathered.
?
A work plan is
devised.
?
Entities and attributes are
established.
?
The logical design of the
database is complete.
?
The physical design of the
database is complete.
?
The database is
tested.
?
The database is implemented
into production.
Establishing
a Design Team
The design team might
consist of one or many individuals.
The responsibility to
design a database might fall into the hands of only one individual for smaller
companies.
It is possible for only
one individual to comprise the entire IT department for a small company.
For larger companies
with larger projects, many individuals will most likely be
involved.

The following figure illustrates an
example design team and work distribution:
Planning
Logical and Physical Modeling
The two basic types of data modeling are
as follows:
?
Logical
modeling
?
Physical
modeling
Logical modeling?deals with gathering business
requirements and converting those requirements into a model.
The logical model
revolves around the needs of the business, not the database, although the needs
of the business are used to establish the needs of the
database.
Logical modeling
involves gathering information about business processes, business entities
(categories of data), and organizational units.
After this information
is gathered, diagrams and reports are produced including entity relationship
diagrams, business process diagrams, and eventually process flow diagrams.
Typical deliverables of
logical modeling include:
?
Entity relationship
diagrams
?
Business process
diagrams
?
User feedback
documentation
Physical modeling involves the actual design of a database
according to the requirements that were established during logical modeling.
Physical modeling deals
with the conversion of the logical, or business model,
into a relational database model.
When physical modeling
occurs, objects are being defined at the schema level.
During physical
modeling, objects such as tables and columns are created based on entities and
attributes that were defined during logical modeling.
Constraints are also
defined, including primary keys, foreign keys, other unique keys, and check
constraints.
Views can be created
from database tables to summarize data or to simply provide the user with
another perspective of certain data.
Other objects such as
indexes and snapshots can also be defined during physical modeling. Physical
modeling is when all the pieces come together to complete the process of
defining a database for a business.
Physical modeling is
database software specific, meaning that the objects defined during physical
modeling can vary depending on the relational database software being used.
Typical deliverables of
physical modeling include:
?
Server model diagrams
?
User feedback
documentation
?
Database design
documentation
Automated
Design Tools
Automated design tools
(formerly known as CASE tools)?are graphical user interface (GUI)
applications that are used to aid in the design of a database or database
application.
Automated design tools
are used to automate and expedite the task of designing a business system.
These automated tools
store information about business requirements and assist in the overall design
and generation of a business system.
Automated design (AD)
tools are vendor-specific.
All AD tools have one
goal in common - to assist the developer in assuring that a complete database
model or database application is designed in a timely
fashion.
Some of the most robust
features of many AD tools include the following:
?
The capability to capture
business and user needs
?
The capability to model
business processes
?
The capability to model the
flow of data in an organization
?
The capability to model
entities and their relationships
?
The capability to generate
DDL to create database objects
?
Full life cycle database
support
?
Business process
reengineering/reverse engineering
?
Database and application
version control
?
Generation of reports for
documentation and user-feedback sessions