A Practical Guide to Database Design
2nd Edition
By Rex Hogan
Chapters 1-11
SC
Course Resource
This complete solutions manual for A Practical Guide to Database Design (2nd Edition) by
Rex Hogan provides detailed, step-by-step solutions to all end-of-chapter questions and
exercises from Chapters 1–11. It covers core database design principles including
O
requirements analysis, conceptual and logical data modeling, normalization, entity–
relationship diagrams, relational schema design, constraints, indexing, and
implementation considerations. Designed to support students in mastering practical
R
database design skills and to assist instructors with accurate explanations and grading.
Format: solution manual
EM
Edition: 2nd edition
Coverage: Chapters 1-11
© SCOREVAULT
AX
,TABLE OF CONTENT
CHAPTER 1 ■ Overview of Databases
CHAPTER 2 ■ Data Normalization
CHAPTER 3 ■ Database Implementation
CHAPTER 4 ■ Normalization and Physical Design Exercise
CHAPTER 5 ■ The erwin Data Modeling Tool
CHAPTER 6 ■ Using Microsoft Access
CHAPTER 7 ■ Using SQL Server
CHAPTER 8 ■ Using Perl to Extract and Load Data
SC
CHAPTER 9 ■ Building User Interfaces
CHAPTER 10 ■ Creating the University Database Application
CHAPTER 11 ■ PHP Implementation and Use
O
R
EM
AX
, A Practical Guide to Database Design, 2e By Rex Hogan (Solutions Manual)
Chapter 1
Questions
1. Do you consider MYSQL to be a Relational Database System? Why or why not?
ANS:
Frankly, either a Yes or No is acceptable if justified appropriately.
I personally don’t consider MQSQL to be a RDBMS. Each table is implemented in its own flat file. If a
new column is added, the original file is copied into a new file having the additional column. This, in my
opinion, does not meet the criteria of being able to dynamically make changes while the table is being used.
Those saying Yes could base that judgement on its ability to respond to SQL queries.
2. In the context of a database transaction, what is a “unit of work”? Why is it important?
ANS:
A “unit of work” is a series of updates to the database that are guaranteed to either succeed as a group, or
SC
all be reversed should some error or problem occur.
It is important because the database will always contain data that is in a consistent state from the user’s
perspective.
3. What are the “ACID” properties of a RDBMS? Why are they important?
ANS:
The ACID properties refer to:
O
Atomicity (database updates made are “all or nothing”)
Consistency (data in the database will always be in a consistent state)
Isolation (multiple concurrent users can access the database and updates from one will be shielded from
others until a commit point is reached)
R
Durability (once a transaction commits updates, the updates are guaranteed to survive any type of failure;
e.g., a disk drive fails, or the computer crashes)
4. In a database recovery operation, what files are used to restore the database? What does each contain?
EM
ANS:
Database backup – contains a complete copy of the database at some point in time. A database backup
could be a “full” backup, making a complete copy of the data, or a “partial” backup, making a copy only of
database components that were altered after the last full backup was made.
Log files – contain “before” and “after” records of the database as updates are made.
The recovery operation would begin by 1) restoring the database using the last full backup, 2) if it exists,
applying a partial backup to apply updates it contains, then 3) using log files to apply all updates made after
AX
the last full/partial backup.
5. What’s the difference between a Table and a View?
ANS:
A table is a set of related data elements stored and managed vertically as columns (identified by name) and
records are stored as horizontal rows.
A view is a virtual definition for a subset of data contained in a table or for columns residing in two or
more associated tables. Views are populated at run time based on their definition and the data residing in
the view’s underlying tables at that moment of execution.