COVID-19 Update: We are currently shipping orders daily. However, due to transit disruptions in some geographies, deliveries may be delayed. To provide all customers with timely access to content, we are offering 50% off Science and Technology Print & eBook bundle options. Terms & conditions.
Database Design for Smarties - 1st Edition - ISBN: 9781558605152, 9780080503738

Database Design for Smarties

1st Edition

Using UML for Data Modeling

Author: Robert Muller
Paperback ISBN: 9781558605152
eBook ISBN: 9780080503738
Imprint: Morgan Kaufmann
Published Date: 1st March 1999
Page Count: 464
Sales tax will be calculated at check-out Price includes VAT/GST

Institutional Subscription

Secure Checkout

Personal information is secured with SSL technology.

Free Shipping

Free global shipping
No minimum order.

Table of Contents

Chapter 1: The Database Life Cycle

Information Requirements Analysis

Data Modeling

Database Design and Optimization

Database Quality, Reviews, and Testing

Database Certification

Database Maintenance and Enhancement

Chapter 2: System Architecture and Design

System Architectures

The Three-Schema Architecture

The Multitier Architectures

System Architecture Summary

Data Architectures

Relational Databases

Object-Oriented Databases

Object-Relational Databases


Chapter 3: Gathering Requirements

Ambiguity and Persistence


Observing and Asking the Right Questions


Getting Your Priorities Straight

Understanding Requirements

Categorizing Requirements

Relating Requirements

Prioritizing Requirements

Deciding the Style of Database


Chapter 4: Modeling Requirements with Use Cases

All the World's a Stage

Actors on Stage

Use Case Diagrams

A Brief Example

Transactions and Use Cases

Use Case Relationships

Setting the Scene



UML Activity Diagrams

Data Elements and Business Rules Summary


Chapter 5: Testing the System

Requirements and Truth

Systems and Truth


Chapter 6: Building Entity-Relationship Models

Entities and Attributes


Semantic Relationships: Subtyping and Aggregation

ER Business Rules


Keys and Relationships

Strong and Weak Relationships



Chapter 7: Building Class Models in UML

Packages, Classes, and Attributes


Classes and Attributes


Operations, Methods, and Interfaces

Application Behavior

Database Server Behavior


Inheritance and Generalization

Associations, Containment, and Visibility

Object Constraints and Business Rules

Object Identity and Uniqueness Constraints

Domain Constraints

Complex Constraints


Chapter 8: Patterns of Data Modeling

Modeling with Reusable Design Patterns

Abstract Patterns

The Singleton Pattern

The Composite Pattern

The Flyweight Pattern

The Metamodel Pattern

Analysis Patterns

The Party Pattern

The Geographic Location Pattern

The Process Pattern

The Document Pattern


Chapter 9: Measures for Success

Goals, Metrics, and Scales

Size Measures

Database Size

Schema Size

Complexity Measures

Cohesion Measures

Abstraction Cohesion

Structural Cohesion

Coupling Measures

Reuse Potential

Reuse Certification


Chapter 10: Choosing Your Parents

Software Development Cultures and the Legacy System

Cultural Events

Replacing or Leveraging Legacy Systems

Starting Fresh

Using Your Legacy

Scoping the System and the Culture

Starting from Scratched

War Stories and Shared Language

Norms, Values, and Beliefs


The Structure of Schema Design



Business Rules

Design Guidelines

Data Definition Languages

Integrating Data Model Views

Structural Integration

Generalization Integration

Business Rule Integration

Big Picture Integration


Chapter 11: Designing a Relational Database Schema

Turning the Tables

Packages, Subsystems, and Name Spaces

Types and Domains


Foreign Affairs

Binary Associations


Special Situations

Living by the Rules

Class Invariants

System Invariants

Normalizing Relations

Atomic Values

Dependencies and Normalization

Denormalizing Your Schema

The Language of Peace

Conformity Rules

Nonconformity Rocks


Chapter 12: Designing an Object-Relational Database Schema

So What's New?


The Downside

The Transformation Process for ORDBMS Products Object Diversity-Types

User-Defined and Object Types



Who Makes the Rules?

The Language of War

Persistent Classes



Chapter 13: Designing an Object-Oriented Database Schema

The Transformation Process for OODBMS Products

Objective Simplicity?


Generalizations and Realizations


Disciplining Your Objects

Behavioral Problems

Setting Boundaries

Objective Language

Persistent Classes and Interfaces




Whether building a relational, object-relational, or object-oriented database, database developers are increasingly relying on an object-oriented design approach as the best way to meet user needs and performance criteria. This book teaches you how to use the Unified Modeling Language-the official standard of the Object Management Group-to develop and implement the best possible design for your database.

Inside, the author leads you step by step through the design process, from requirements analysis to schema generation. You'll learn to express stakeholder needs in UML use cases and actor diagrams, to translate UML entities into database components, and to transform the resulting design into relational, object-relational, and object-oriented schemas for all major DBMS products.

Key Features

  • Teaches you everything you need to know to design, build, and test databases using an OO model
  • Shows you how to use UML, the accepted standard for database design according to OO principles
  • Explains how to transform your design into a conceptual schema for relational, object-relational, and object-oriented DBMSs
  • Offers practical examples of design for Oracle, SQL Server, Sybase, Informix, Object Design, POET, and other database management systems
  • Focuses heavily on re-using design patterns for maximum productivity and teaches you how to certify completed designs for re-use


No. of pages:
© Morgan Kaufmann 1999
1st March 1999
Morgan Kaufmann
Paperback ISBN:
eBook ISBN:

Ratings and Reviews

About the Author

Robert Muller

Robert Muller is a Partner and Founder of Poesys Associates, and a project management consultant specializing in object-oriented, rapid application development, and client/server technology. Previously, he was Product Development Manager and Technical Documentation Manager for Blyth Software, Inc. and Manager of Client/Server Technology at Symantec’s TimeLine division. He is the author of The Oracle Developer/2000 Handbook, has taught a Developer/2000 course and C++ courses for UC Extension, and is co-author of Object-Oriented Software Testing: A Hierarchical Approach.