Conceptual Design Verification, Logical Design, and Implementation
m m m m m m
Appendix C m
The University Lab: Conceptual Design, Verification,
m m m m m
Logical Design, and Implementation m m m m
Discussion Focus m
How is a database design verified, and why is such verification necessary?
m m m m m m m m m m m
Use our detailed answer to question 1 to focus class discussion on database design verification. Stress
m m m m m m m m m m m m m m m
that the verification process uses the initial ER model as a communication tool.
m m m m m m m m m m m m m
The designer may begin the verification process by describing the organization's operations to its end
m m m m m m m m m m m m m m
users, basing the detailed description on the initial ER model. Next, explain how the operations will be
m m m m m m m m m m m m m m m m m
supported by the database design. Stress that the design must support the end-user application views,
m m m m m m m m m m m m m m m
outputs, and inputs. Points to be addressed include such questions as:
m m m m m m m m m m m
• Is the description accurate? If not, what aspects of the description must be corrected?
m m m m m m m m m m m m m
• Does the model support the end-user requirements? If not, what aspects of the end-
m m m m m m m m m m m m m
userrequirements have not been addressed or have been addressed inadequately?
m m m m m m m m m m
Keep in mind that even a model that perfectly addresses all initially determined end user requirements
m m m m m m m m m m m m m m m
is likely to need adjustments as those end users begin to understand the ramifications of the database
m m m m m m m m m m m m m m m m m
mdesign's capabilities. In many cases, the end users may learn what the organization's processes and
m m m m m m m m m m m m m m
mprocedures actually are, thus leading to new requirements and the perception of new opportunities. The
m m m m m m m m m m m m m m
database designer must keep such likely developments in mind, especially if (s)he works as a database
m m m m m m m m m m m m m m m m
mdesign consultant. (Anticipation of such developments must be factored into the contract negotiations
m m m m m m m m m m m m
mfor consulting fees.)
m m
Discuss the role of the system modules.
m m m m m m
1
, Appendix C The University Lab: m m m m
Conceptual Design Verification, Logical Design, and Implementation
m m m m m m
The use of system modules can hardly be overemphasized in a database design environment.
m m m m m m m m m m m m m
mStressthese module characteristics and features:
m m m m m
• Modules represent subsets of the database model: Smaller "pieces" are more easily
m m m m m m m m m m m
understood.
m
• Modules are self-contained and accomplish a specific system function; if such a system
m m m m m m m m m m m m
function must be modified, other functions remain unaffected.
m m m m m m m m
• Modules fit into a modular database design, which is more easily modified and adapted to
m m m m m m m m m m m m m m
new circumstances. Because modification efforts are focused on a database subset,
m m m m m m m m m m m
productivity of both designers and application developers is likely to be enhanced.
m m m m m m m m m m m m
Module interfaces must be clear if the modules are expected to work well within the overall system.
m m m m m m m m m m m m m m m m
2
, Appendix C The University Lab: m m m m
Conceptual Design Verification, Logical Design, and Implementation m m m m m m
Answers to Review Questionsm m m
1. Why must a conceptual model be verified? What steps are involved in the verification process?
m m m m m m m m m m m m m m
The verification of a conceptual model is crucial to a successful database design. The verification
m m m m m m m m m m m m m m
process allows the designer to check the accuracy of the database design by:
m m m m m m m m m m m m m
• Re-examining data and data transformations. m m m m
• Enabling the designer to evaluate the design efficiency relative to the end user's and
m m m m m m m m m m m m m
system's design goals.
m m m
Keep in mind that, to a large extent, the best design is the one that serves the end-user
m m m m m m m m m m m m m m m m m
requirements best. For example, a design that works well for a manufacturing firm may not fit the
m m m m m m m m m m m m m m m m m
needs of a marketing research firm, and vice versa.
m m m m m m m m m
The verification process helps the designer to avoid implementation problems later by:
m m m m m m m m m m m
• Validating the model's entities. (Remember the minimal data rule.)
m m m m m m m m
• Confirming entity relationships and eliminating duplicate, unnecessary, or improperly
m m m m m m m m
defined relationships.
m m
• Eliminating data redundancies. m m
• Improving the model's semantic precision to better represent real-world operations.
m m m m m m m m m
• Confirming that all user requirements (processing, performance, or security) are met.
m m m m m m m m m m
Verification is a continuous activity in any database design. The database design process is
m m m m m m m m m m m m m
evolutionary in nature: It requires the continuous evaluation of the developing model by examining
m m m m m m m m m m m m m m
the effect of adding new entities and by confirming that any design changes enhance the model's
m m m m m m m m m m m m m m m m
accuracy.
m
The verification process requires the following steps:
m m m m m m
1. Identify the database's central entity. m m m m
The central entity is the most important entity in our database, and most of the
m m m m m m m m m m m m m m
motherentities depend on it.
m m m m
3
, Appendix C The University Lab: m m m m
Conceptual Design Verification, Logical Design, and Implementation
m m m m m m
2. Identify and define each module and its components.
m m m m m m m
The designer divides the database model into smaller sets that reflect the data needs
m m m m m m m m m m m m m
mofparticular systems modules such as inventory, orders, payroll, etc.
m m m m m m m m m
3. Identify and define each of the module's processes.
m m m m m m m
Specifically, this step requires the identification and definition of the database transactions
m m m m m m m m m m m
that represent the module's real-world operations.
m m m m m
4