Preface xix
connector. For a full discussion of these tools, see Appendix E, “Getting Started with
the MySQL Workbench Database Design Tools,” and Appendix F, “Getting Started with
Microsoft Visio 2010.”
Good data modeling tools are available, but they tend to be more complex and
expensive. Two examples are Visible Systems’ Visible Analyst and Computer Associates’
ERwin Data Modeler. Visible Analyst is available in a student edition (at a modest price).
A 1-year time-limited CA ERwin Data Modeler Community Edition suitable for class use
can be downloaded from http://erwin.com/products/detail/ca_erwin_data_modeler_
community_edition/. This version has limited the number of objects that can be created by
this edition to 25 entities per model, and disabled some other features (see http://
erwin.com/uploads/erwin-data-modeler-r8-community-edition-matrix.pdf), but there is
still enough functionality to make this product a possible choice for class use.
Database Design from E-R Data Models
As we discuss in Chapter 6, designing a database from data models consists of three tasks:
representing entities and attributes with tables and columns; representing maximum
cardinality by creating and placing foreign keys; and representing minimum cardinality via
constraints, triggers, and application logic.
The first two tasks are straightforward. However, designs for minimum cardinality are
more difficult. Required parents are easily enforced using NOT NULL foreign keys and referential
integrity constraints. Required children are more problematic. In this book, however,
we simplify the discussion of this topic by limiting the use of referential integrity actions
and by supplementing those actions with design documentation. See the discussion around
Figure 6-28.
Although the design for required children is complicated, it is important for students to
learn. It also provides a reason for students to learn about triggers as well. In any case, the discussion
of these topics is much simpler than it was in prior editions because of the use of the
IE Crow’s Foot model and the use of ancillary design documentation.
David Kroenke is the creator of the semantic object model (SOM). The
SOM is presented in Appendix G, “The Semantic Object Model.” The E-R
data model is used everywhere else in the text.
Design Iteration 3: Database Redesign
Database redesign, the third iteration of database design, is both common and difficult. As
stated in Chapter 8, information systems cause organizational change. New information
systems give users new behaviors, and as users behave in new ways, they require changes in
their information systems.
Database redesign is by nature complex. Depending on your students, you may wish to skip
it, and you can do so without loss of continuity. Database redesign is presented after the discussion
of SQL DDL and DML in Chapter 7, because it requires the use of advanced SQL. It also
provides a practical reason to teach correlated subqueries and EXISTS/NOT EXISTS statements.
Active Use of a DBMS Product
We assume that the students will actively use a DBMS product. The only real question
becomes “which one?” Realistically, most of us have four alternatives to consider: Microsoft
Access, Microsoft SQL Server, Oracle Database, or MySQL. You can use any of those products
with this text, and tutorials for each of them are presented for Microsoft Access 2010
(Appendix A), SQL Server 2008 R2 (Chapter 10), Oracle Database 11g (Chapter 10A), and