Im ch09 Database Design Ed12
Im ch09 Database Design Ed12
Chapter 9
Database Design
Discussion Focus
What is the relationship between a database and an information system, and how does this
relationship have a bearing on database design?
Basically, a database is a fact (data) repository that serves an information system. If the database is
designed poorly, one can hardly expect that the data/information transformation will be successful, nor
is it reasonable to expect efficient and capable management of data and information.
The last point deserves emphasis: even the best-designed database lacks value if it fails to meet
information system objectives. In short, good database designers must pay close attention to the
information system requirements.
Systems design and database design are usually tightly intertwined and are often performed in parallel.
Therefore, database and systems designers must cooperate and coordinate to yield the best possible
information system.
The SDLC traces the history (life cycle) of an information system. The DBLC traces the history (life
cycle) of a database system. Since we know that the database serves the information system, it is not
surprising that the two life cycles conform to the same basic phases.
362
Suggestion: Use Figure 9.8 as the basis for a discussion of the parallel activities.
What basic database design strategies exist, and how are such strategies executed?
There are two basic approaches to database design: top-down and bottom-up.
Top-down design begins by identifying the different entity types and the definition of each entity's
attributes. In other words, top-down design:
starts by defining the required data sets and then
defines the data elements for each of those data sets.
Bottom-up design:
first defines the required attributes and then
groups the attributes to form entities.
Although the two methodologies tend to be complementary, database designers who deal with small
databases with relatively few entities, attributes, and transactions tend to emphasize the bottom-up
approach. Database designers who deal with large, complex databases usually find that a primarily
top-down design approach is more appropriate.
In spite of the frequent arguments concerning the best design approach, perhaps the top-down vs.
bottom-up distinction is quite artificial. The text's note is worth repeating:
NOTE
Even if a generally top-down approach is selected, the normalization process that revises
existing table structures is (inevitably) a bottom-up technique. E-R models constitute a top-
down process even if the selection of attributes and entities may be described as bottom-up.
Since both the E-R model and normalization techniques form the basis for most designs, the
top-down vs. bottom-up debate may be based on a distinction without a difference.
363
Good decisions are generally based on good information. Ultimately, the purpose of an information
system is to facilitate good decision making by making relevant and timely information available to
the decision makers.
2. How do systems analysis and systems development fit into a discussion about information
systems?
Both systems analysis and systems development constitute part of the Systems Development Life
Cycle, or SDLC. Systems analysis, phase II of the SDLC, establishes the need for and the extent of
an information system by
Establishing end-user requirements.
Evaluating the existing system.
Developing a logical systems design.
Systems development, based on the detailed systems design found in phase III of the SDLC, yields
the information system. The detailed system specifications are established during the systems design
phase, in which the designer completes the design of all required system processes.
3. What does the acronym SDLC mean, and what does an SDLC portray?
SDLC is the acronym that is used to label the System Development Life Cycle. The SDLC traces
the history of a information system from its inception to its obsolescence. The SDLC is composed of
six phases: planning, analysis, detailed system, design, implementation and maintenance.
4. What does the acronym DBLC mean, and what does a DBLC portray?
DBLC is the acronym that is used to label the Database Life Cycle. The DBLC traces the history of
a database system from its inception to its obsolescence. Since the database constitutes the core of an
information system, the DBLC is concurrent to the SDLC. The DBLC is composed of six phases:
initial study, design, implementation and loading, testing and evaluation, operation, and maintenance
and evolution.
364
5. Discuss the distinction between centralized and decentralized conceptual database design.
Centralized and decentralized design constitute variations on the bottom-up and top-down
approaches we discussed in the third question presented in the discussion focus. Basically, the
centralized approach is best suited to relatively small and simple databases that lend themselves well
to a bird's-eye view of the entire database. Such databases may be designed by a single person or by
a small and informally constituted design team. The company operations and the scope of its
problems are sufficiently limited to enable the designer(s) to perform all of the necessary database
design tasks:
The centralized design procedure thus yields the design summary shown in Figure Q9.5A.
D
A
Conceptual Model T
A
D
I
Conceptual Model Verification C
T
I
User System Data O
Views Processes Constraints N
A
R
Y
365
Note that the centralized design approach requires the completion and validation of a single
conceptual design.
NOTE
Use the text’s Figures 9.15 and 9.16 to contrast the two design approaches, then use Figure
9.6 to show the procedure flows; demonstrate that such procedure flows are independent
of the degree of centralization.
In contrast, when company operations are spread across multiple operational sites or when the
database has multiple entities that are subject to complex relations, the best approach is often based
on the decentralized design.
Typically, a decentralized design requires that the design task be divided into multiple modules,
each one of which is assigned to a design team. The design team activities are coordinated by the
lead designer, who must aggregate the design teams' efforts.
Since each team focuses on modeling a subset of the system, the definition of boundaries and the
interrelation between data subsets must be very precise. Each team creates a conceptual data model
corresponding to the subset being modeled. Each conceptual model is then verified individually
against the user views, processes, and constraints for each of the modules. After the verification
process has been completed, all modules are integrated in one conceptual model.
Since the data dictionary describes the characteristics of all the objects within the conceptual data
model, it plays a vital role in the integration process. Naturally, after the subsets have been
aggregated into a larger conceptual model, the lead designer must verify that the combined
conceptual model is still able to support all the required transactions. Thus the decentralized design
activities may be summarized as shown in Figure Q8.6B.
366
DATA COMPONENT
Conceptual D
Models Subset A Subset B Subset C
A
T
A
Views, Views, Views,
Verification Processes, Processes, Processes, D
Constraints Constraints Constraints I
C
T
I
Aggregation O
N
A
R
FINAL CONCEPTUAL MODEL Y
Keep in mind that the aggregation process requires the lead designer to assemble a single model in
which various aggregation problems must be addressed:
synonyms and homonyms. Different departments may know the same object by different
names (synonyms), or they may use the same name to address different objects (homonyms.)
The object may be an entity, an attribute, or a relationship.
entity and entity subclasses. An entity subset may be viewed as a separate entity by one or
more departments. The designer must integrate such subclasses into a higher-level entity.
Conflicting object definitions. Attributes may be recorded as different types (character,
numeric), or different domains may be defined for the same attribute. Constraint definitions,
too, may vary. The designer must remove such conflicts from the model.
The minimal data rule specifies that all the data defined in the data model are actually required to fit
present and expected future data requirements. This rule may be phrased as All that is needed is
there, and all that is there is needed.
367
7. Discuss the distinction between top-down and bottom-up approaches to database design.
There are two basic approaches to database design: top-down and bottom-up.
Top-down design begins by identifying the different entity types and the definition of each
entity's attributes. In other words, top-down design:
starts by defining the required data sets and then
defines the data elements for each of those data sets.
Bottom-up design:
first defines the required attributes and then
groups the attributes to form entities.
Although the two methodologies tend to be complementary, database designers who deal with
small databases with relatively few entities, attributes, and transactions tend to emphasize the
bottom-up approach. Database designers who deal with large, complex databases usually find
that a primarily top-down design approach is more appropriate.
8. What are business rules? Why are they important to a database designer?
Business rules are narrative descriptions of the business policies, procedures, or principles that are
derived from a detailed description of operations. Business rules are particularly valuable to
database designers, because they help define:
Entities
Attributes
Relationships (1:1, 1:M, M:N, expressed through connectivities and cardinalities)
Constraints
To develop an accurate data model, the database designer must have a thorough and complete
understanding of the organization's data requirements. The business rules are very important to the
designer because they enable the designer to fully understand how the business works and what role
is played by data within company operations.
NOTE
Do keep in mind that an ERD cannot always include all the applicable business rules. For
example, although constraints are often crucial, it is often not possible to model them. For
instance, there is no way to model a constraint such as “no pilot may be assigned to flight
duties more than ten hours during any 24-hour period.”
It is also worth emphasizing that the description of (company) operations must be done in
almost excruciating detail and it must be verified and re-verified. An inaccurate description
of operations yields inaccurate business rules that lead to database designs that are destined
to fail.
368
A good data dictionary provides a precise description of the characteristics of all the entities and
attributes found within the database. The data dictionary thus makes it easier to check for the
existence of synonyms and homonyms, to check whether all attributes exist to support required
reports, to verify appropriate relationship representations, and so on. The data dictionary's contents
are both developed and used during the six DBLC phases:
DATABASE DESIGN
The data dictionary contents are used to verify the database design components: entities, attributes,
and their relationships. The designer also uses the data dictionary to check the database design for
homonyms and synonyms and verifies that the entities and attributes will support all required query
and report requirements.
OPERATION
If the database design still yields (the almost inevitable) operational glitches, the data dictionary may
be used as a quality control device to ensure that operational modifications to the database do not
conflict with existing components.
10. What steps are required in the development of an ER diagram? (Hint: See Table 9.3.)
369
3 Define the relationships among the entities, using the results of Steps 1 and 2.
4 Define the attributes, primary keys, and foreign keys for each of the entities.
5 Normalize the entities. (Remember that entities are implemented as tables in an RDBMS.)
6 Complete the initial ER diagram.
7 Validate the ER model against the user’s information and processing requirements.
8 Modify the ER diagram, using the results of Step 7.
Point out that some of the steps listed in Table 9.3 take place concurrently. And some, such as the
normalization process, can generate a demand for additional entities and/or attributes, thereby
causing the designer to revise the ER model. For example, while identifying two main entities, the
designer might also identify the composite bridge entity that represents the many-to-many
relationship between those two main entities.
11. List and briefly explain the activities involved in the verification of an ER model.
Keep in mind that the verification process requires the continuous verification of business
transactions as well as system and user requirements. The verification sequence must be repeated for
each of the system’s modules.
The selection of DBMS software is critical to the information system’s smooth operation.
Consequently, the advantages and disadvantages of the proposed DBMS software should be
carefully studied. To avoid false expectations, the end user must be made aware of the limitations of
both the DBMS and the database.
Although the factors affecting the purchasing decision vary from company to company, some of the
most common are:
370
13. List and briefly explain the four steps performed during the logical design stage.
1) Map conceptual model to logical model components.
In this step, the conceptual model is converted into a set of table definitions including table
names, column names, primary keys, and foreign keys to implement the entities and relationships
specified in the conceptual design.
2) Validate the logical model using normalization.
It is possible for normalization issues to be discovered during the process of mapping the
conceptual model to logical model components. Therefore, it is appropriate at this stage to
validate that all of the table definitions from the previous step conform to the appropriate
normalization rules.
3) Validate logical model integrity constraints.
This step involves the conversion of attribute domains and constraints into constraint definitions
that can be implemented within the DBMS to enforce those domains. Also, entity and referential
integrity constraints are validated. Views may be defined to enforce security constraints.
4) Validate the logical model against the user requirements.
The final step of this stage is to ensure that all definitions created throughout the logical model
are validated against the users' data, transaction, and security requirements. Every component
(table, view, constraint, etc.) of the logical model must be associated with satisfying the user
requirements, and every user requirement should be addressed by the model components.
14. List and briefly explain the three steps performed during the physical design stage.
371
15. What three levels of backup may be used in database recovery management? Briefly describe
what each of those three backup levels does.
A full backup of the database creates a backup copy of all database objects in their entirety.
A differential backup of the database creates a backup of only those database objects that have
changed since the last full backup.
A transaction log backup does not create a backup of database objects, but makes a backup of the
log of changes that have been applied to the database objects since the last backup.
Problem Solutions
1. The ABC Car Service & Repair Centers are owned by the SILENT car dealer; ABC services
and repairs only SILENT cars. Three ABC Car Service & Repair Centers provide service and
repair for the entire state.
Each of the three centers is independently managed and operated by a shop manager, a
receptionist, and at least eight mechanics. Each center maintains a fully stocked parts
inventory.
Each center also maintains a manual file system in which each car’s maintenance history is
kept: repairs made, parts used, costs, service dates, owner, and so on. Files are also kept to
track inventory, purchasing, billing, employees’ hours, and payroll.
You have been contacted by the manager of one of the centers to design and implement a
computerized system. Given the preceding information, do the following:
a. Indicate the most appropriate sequence of activities by labeling each of the following steps
in the correct order. (For example, if you think that “Load the database.” is the
appropriate first step, label it “1.”)
The answer to this question may vary slightly from one designer to the next, depending on the
selected design methodology and even on personal designer preferences. Yet, in spite of such
differences, it is possible to develop a common design methodology to permit the development of a
basic decision-making process and the analysis required in designing an information system.
372
Whatever the design philosophy, a good designer uses a specific and ordered set of steps through
which the database design problem is approached. The steps are generally based on three phases:
analysis, design, and implementation. These phases yield the following activities:
ANALYSIS
1. Interview the shop manager
2. Interview the mechanics
3. Obtain a general description of company operations
4. Create a description of each system process
DESIGN
5. Create a conceptual model, using E-R diagrams
6. 8. Draw a data flow diagram and system flow charts
7. Normalize the conceptual model
IMPLEMENTATION
8. Create the table structures
9. Load the database
10. Create the application programs
11. Test the system.
This listing implies that, within each of the three phases, the steps are completed in a specific order.
For example, it would seem reasonable to argue that we must first complete the interviews if we are
to obtain a proper description of the company operations. Similarly, we may argue that a data flow
diagram precedes the creation of the E-R diagram. Nevertheless, the specific tasks and the order in
which they are addressed may vary. Such variations do not matter, as long as the designer bases the
selected procedures on an appropriate design philosophy, such as top-down vs. bottom-up.
Given this discussion, we may present problem 1's solution this way:
373
374
b. Describe the various modules that you believe the system should include.
This question may be addressed in several ways. We suggest the following approach to develop
a system composed of four main modules: Inventory, Payroll, Work order, and Customer.
The Inventory module will include the Parts and Purchasing sub-modules. The Payroll Module
will handle all employee and payroll information. The Work order module keeps track of the car
maintenance history and all work orders for maintenance done on a car. The Customer module
keeps track of the billing of the work orders to the customers and of the payments received from
those customers.
c. How will a data dictionary help you develop the system? Give examples.
We have addressed the role of the data dictionary within the DBLC in detail in the answer to
review question 10. Remember that the data dictionary makes it easier to check for the existence
of synonyms and homonyms, to check whether all attributes exist to support required reports, to
verify appropriate relationship representations, and so on. Therefore, the data dictionary's
contents will help us to provide consistency across modules and to evaluate the system's ability
to generate the required reports. In addition, the use of the data dictionary facilitates the creation
of system documentation.
375
d. What general (system) recommendations might you make to the shop manager? (For
example. if the system will be integrated, what modules will be integrated? What benefits
would be derived from such an integrated system? Include several general
recommendations.)
The designer's job is to provide solutions to the main problems found during the initial study.
Clearly, any system is subject to both internal and external constraints. For example, we can
safely assume that the owner of the ABC Car Service and Repair Center has a time frame in
mind, not to mention a spending limitation. As is true in all design work, the designer and the
business owner must prioritize the modules and develop those that yield the greatest benefit
within the stated time and development budget constraints.
Keep in mind that it is always useful to develop a modular system that provides for future
enhancement and expansion. Suppose, for example, that the ABC Car Service & Repair
company management decides to integrate all of its service stations in the state in order to
provide better statewide service. Such integration is likely to yield many benefits: The car
history of each car will be available to any station for cars that have been serviced in more than
one location; the inventory of parts will be on-line, thus allowing parts orders to be placed
between service stations; mechanics can better share tips concerning the solution to car
maintenance problems, and so on.
Given the nature of this business, the best way to produce this conceptual database design would
be to use a centralized and top-down approach. Keep in mind that the designer must keep the
design sufficiently flexible to make sure that it can accommodate any future integration of this
system with the other service stations in the state.
f. Name and describe at least four reports the system should have. Explain their use. Who
will use those reports?
REPORT 1
Monthly Activity contains a summary of service categories by branch and by month. Such
reports may become the basis for forecasting personnel and stock requirements for each branch
and for each period.
REPORT 2
Mechanic Summary Sheet contains a summary of work hours clocked by each mechanic. This
report would be generated weekly and would be useful for payroll and maintenance personnel
scheduling purposes.
REPORT 3
Monthly Inventory contains a summary of parts in inventory, inventory draw-down, parts
reorder points, and information about the vendors who will provide the parts to be reordered.
This report will be especially useful for inventory management purposes.
REPORT 4
376
2. Suppose you have been asked to create an information system for a manufacturing plant that
produces nuts and bolts of many shapes, sizes, and functions. What questions would you ask,
and how would the answers to those questions affect the database design?
Basically, all answers to all (relevant) questions help shape the database design. In fact, all
information collected during the initial study and all subsequent phases will have an impact on the
database design. Keep in mind that the information is collected to establish the entities, attributes,
and the relationships among the entities. Specifically, the relationships, connectivities, and
cardinalities are shaped by the business rules that are derived from the information collected by the
designer.
Sample questions and their likely impact on the design might be:
Do you want to develop the database for all departments at once, or do you want to design
and implement the database for one department at a time?
How will the design approach affect the design process? (In other words, assess top-down
vs. bottom-up, centralized or decentralized, system scope and boundaries.)
Do you want to develop one module at a time, or do you want an integrated system?
(Inventory, production, shipping, billing, etc.)
Do you want to keep track of the nuts and bolts by lot number, production shift, type, and
department? Impact: conceptual and logical database design.
Do you want to keep track of the suppliers of each batch of raw material used in the
production of the nuts and bolts? Impact: conceptual and logical database design. E-R model.
Do you want to keep track of the customers who received the batches of nuts and bolts?
Impact: conceptual and logical database design. ER model.
What reports will you require, what will be the specific reporting requirements, and to whom
will these reports be distributed?
The answers to such questions affect the conceptual and logical database design, the database’s
implementation, its testing, and its subsequent operation.
The SDLC is not a function of the information collected. Regardless of the extent of the design
or its specific implementation, the SDLC phases remain:
PLANNING
Initial assessment
Feasibility study
ANALYSIS
User requirements
377
IMPLEMENTATION
Coding, testing, debugging
Installation, fine-tuning
MAINTENANCE
Evaluation
Maintenance
Enhancements
As is true for the SDLC, the DBLC is not a function of the kind and extent of the collected
information. Thus, the DBLC phases and their activities remain as shown:
DATABASE DESIGN
Create the conceptual design
Create the logical design
create the physical design
OPERATION
Produce the required information flow
378
3. Suppose you perform the same functions noted in Problem 2 for a larger warehousing
operation. How are the two sets of procedures similar? How and why are they different?
The development of an information system will differ in the approach and philosophy used. More
precisely, the designer team will probably be formed by a group of system analysts and may decide
to use a decentralized approach to database design.
Also, as is true for any organization, the system scope and constraints may be very different for
different systems. Therefore, designers may opt to use different techniques at different stages. For
example, the database initial study phase may include separate studies carried out by separate design
teams at several geographically distant locations. Each of the findings of the design teams will later
be integrated to identify the main problems, solutions, and opportunities that will guide the design
and development of the system.
4. Using the same procedures and concepts employed in Problem 1, how would you create an
information system for the Tiny College example in Chapter 4?
Tiny College is a medium-sized educational institution that uses many database-intensive operations,
such as student registration, academic administration, inventory management, and payroll. To create
an information system, first perform an initial database study to determine the information system's
objectives.
Next, study Tiny College's operations and processes (flow of data) to identify the main problems,
constraints, and opportunities. A precise definition of the main problems and constraints will enable
the designer to make sure that the design improves Tiny College's operational efficiency. An
improvement in operational efficiency is likely to create opportunities to provide new services that
will enhance Tiny College's competitive position.
After the initial database study is done and the alternative solutions are presented, the end users
ultimately decide which one of the probable solutions is most appropriate for Tiny College. Keep in
mind that the development of a system this size will probably involve people who have quite
different backgrounds. For example, it is likely that the designer must work with people who play a
managerial role in communications and local area networks, as well as with the "troops in the
trenches" such as programmers and system operators. The designer should, therefore, expect that
there will be a wide range of opinions concerning the proposed system's features. It is the designer's
job to reconcile the many (and often conflicting) views of the "ideal" system.
Once a proposed solution has been agreed upon, the designer(s) may determine the proposed
system's scope and boundaries. We are then able to begin the design phase. As the design phase
begins, keep in mind that Tiny College's information system is likely to be used by many users (20
to 40 minimum) who are located on distant sites across campus. Therefore, the designer must
consider a range of communication issues involving the use of such technologies as local area
networks. These technologies must be considered as the database designer(s) begin to develop the
structure of the database to be implemented.
379
The remaining development work conforms to the SDLC and the DBLC phases. Special attention
must be given to the system design's implementation and testing to ensure that all the system
modules interface properly.
Finally, the designer(s) must provide all the appropriate system documentation and ensure that all
appropriate system maintenance procedures (periodic backups, security checks, etc.) are in place to
ensure the system's proper operation.
Keep in mind that two very important issues in a university-wide system are end-user training and
support. Therefore, the system designer(s) must make sure that all end users know the system and
know how it is to be used to enjoy its benefits. In other words, make sure that end-user support
programs are in place when the system becomes operational.
5. Write the proper sequence of activities in the design of a video rental database. (The initial
ERD was shown in Figure 9.9.) The design must support all rental activities, customer
payment tracking, and employee work schedules, as well as track which employees checked
out the videos to the customers. After you finish writing the design activity sequence, complete
the ERD to ensure that the database design can be successfully implemented. (Make sure that the
design is normalized properly and that it can support the required transactions.
Given its level of detail and (relative) complexity, this problem would make an excellent class
project. Use the chapter’s coverage of the database life cycle (DBLC) as the procedural template.
The text’s Figure 9.3 is particularly useful as a procedural map for this problem’s solution and
Figure 9.6 provides a more detailed view of the database design’s procedural flow. Make sure that
the students review section 9-3b, “Database Design,” before they attempt to produce the problem
solution.
Appendix B, “The University Lab: Conceptual Design,” and Appendix C “The University Lab:
Conceptual Design Verification, Logical Design, and Implementation” show a very detailed
example of the procedures required to deliver a completed database. You will find a more detailed
video rental database problem description in Appendix B, problem 4. This problem requires the
completion of the initial database design. The solution is shown in this manual’s Appendix B
coverage. This design is verified in Appendix C, Problem 2.
The Visio Professional files for the initial and verified designs are located on your instructor’s CD.
Select the FigB-P04a-The-Initial-Crows-Foot-ERD-for-the-Video-Rental-Store.vsd file to see
the initial design. Select the Fig-C-P02a-The-Revised-Video-Rental-Crows-Foot-ERD.vsd file to
see the verified design.
6. In a construction company, a new system has been in place for a few months and now there is
a list of possible changes/updates that need to be done. For each of the changes/updates,
specify what type of maintenance needs to be done: (a) corrective, (b) adaptive, and (c)
perfective.
a. An error in the size of one of the fields has been identified and it needs to be
updated status field needs to be changed.
380
c. The company has to comply with some government regulations. To do this, it will
require adding a couple of fields to the existing system tables.
7. You have been assigned to design the database for a new soccer club. Indicate the most
appropriate sequence of activities by labeling each of the following steps in the correct order.
(For example, if you think that “Load the database” is the appropriate first step, label it “1.”)
381