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