Database Modeling with Microsoft® Visio for Enterprise Architects

Database Modeling with Microsoft® Visio for Enterprise Architects

1st Edition - August 14, 2003

Write a review

  • Authors: Terry Halpin, Ken Evans, Pat Hallock, Bill Maclean
  • eBook ISBN: 9780080491035

Purchase options

Purchase options
DRM-free (PDF)
Sales tax will be calculated at check-out

Institutional Subscription

Free Global Shipping
No minimum order


This book is for database designers and database administrators using Visio, which is the database component of Microsoft's Visual Studio .NET for Enterprise Architects suite, also included in MSDN subscriptions. This is the only guide to this product that tells DBAs how to get their job done. Although primarily focused on tool features, the book also provides an introduction to data modeling, and includes practical advice on managing database projects. The principal author was the program manager of VEA's database modeling solutions.

Key Features

· Explains how to model databases with Microsoft® Visio for Enterprise Architects (VEA), focusing on tool features.
· Provides a platform-independent introduction to data modeling using both Object Role Modeling (ORM) and Entity Relationship Modeling (ERM), and includes practical advice on managing database projects.
· Additional ORM models, course notes, and add-ins available online.


data modelers, database modelers, and DBAs working with Visual Studio .NET for Enterprise Architects and subscribers to Microsoft Developer Network (MSDN); upper division undergraduate and graduate students in Computer Science and Information Science; professional courses in database modeling, business rules, Microsoft course in Visual Studio .NET and SQL Server

Table of Contents

  • Foreword


    Part 1 Overview of Database Modeling and the Database Modeling Tool

    1 Introduction

    1.1 Why Read This Book?

    1.2 What Can You Do with Visio for Enterprise Architects?

    1.3 What Can You Do with the Database Modeling Solution?

    1.4 How Can You Best Use This Book?

    1.5 Format Conventions

    2 Database Modeling

    2.1 Four Information Levels

    2.2 Designing Databases at the Logical level

    2.3 Designing Databases at the Conceptual Level

    2.4 The Database Life Cycle

    3 Getting Started

    3.1 Product Editions and Versions

    3.2 Installation

    3.3 The Visio Interface

    3.4 Using Help

    3.5 Pagination and Layers

    3.6 Simple Examples of Forward Engineering

    Part 2 The Conceptual Modeling Solution (ORM)

    4 Object Types, Predicates, and Basic Constraints

    4.1 Object Types

    4.2 Fact Types

    4.3 Adding Basic Constraints in the Fact Editor

    4.4 Populating Fact Types with Examples

    4.5 Saving a Model

    4.6 Verbalization and Hyphenation

    4.7 Objectifying an Association (Nesting)

    4.8 Model Error Checks

    4.9 Derived Fact Types

    4.10 Data Types

    5 ORM Constraints

    5.1 Value Constraints

    5.2 Internal and External Uniqueness Constraints

    5.3 Simple and Disjunctive Mandatory Constraints

    5.4 Constraint Editing and Deletion

    5.5 Set-Comparison Constraints

    5.6 Subtyping

    5.7 Frequency Constraints

    5.8 Ring Constraints

    5.9 Indexes

    5.10 Constraint Layers

    6 Configuring, Manipulating, and Reusing ORM Models

    6.1 Configuring ORM Preferences

    6.2 Showing Relationships for Object Types

    6.3 Redisplaying Model Elements

    6.4 Cloning Model Elements

    6.5 Cutting and Pasting Model Elements

    6.6 Referencing Model Elements

    7 Mapping ORM Models to Logical Database Models

    7.1 Forward Engineering ORM Source Models

    7.2 Refining the Logical Model

    7.3 Migrating Changes back to ORM Source Models

    7.4 Controlling Logical Name Generation

    7.5 Constraint Code

    7.6 Subtype Mapping

    8 Reverse Engineering and Importing to ORM

    8.1 Reverse Engineering to ORM

    8.2 Displaying the ORM Model Graphically

    8.3 Refining the ORM Schema

    8.4 Importing VisioModeler and ERX Files

    9 Conceptual Model Reports

    9.1 Conceptual Model Reports—Overview

    9.2 Object Type Reports

    9.3 Constraint Type Reports

    9.4 Fact Type Reports

    9.5 Supertype Reports

    9.6 Copying Diagrams and Text

    Part 3 The Logical Modeling Solution (ER and Relational)

    10 Creating a Basic Logical Database Model

    10.1 The Database Model Diagram Solution

    10.2 Notation Options

    10.3 Creating a Database Model Diagram

    10.4 Adding Attributes to an Entity

    10.5 Adding Basic Constraints

    10.6 Basic Model Housekeeping

    10.7 Projects and ER Source Models

    11 Generating a Physical Database Schema

    11.1 Physical Schemas and Database Drivers

    11.2 Creating a Basic DDL Script

    11.3 Database Driver Options

    11.4 Generating Schemas via an ODBC Connection

    11.5 The ODBC Driver Setup Pane

    12 Editing Logical Models: Intermediate Aspects

    12.1 The Database Properties Dialog

    12.2 Table Properties

    12.3 Column Properties

    12.4 Foreign Key Relationships

    12.5 Category Relationships

    12.6 Show Related Tables


    12.8 Pagination

    12.9 Verbalization

    12.10 Model Error Check

    12.11 Driver, Document, and Modeling Options

    13 Editing Logical Models: Advanced Aspects

    13.1 Copying Model Elements

    13.2 Cloning Model Elements

    13.3 Database Properties: Definition and Notes

    13.4 Check Clauses

    13.5 Indexes

    13.6 Triggers

    13.7 Stored Procedures

    13.8 Raw DDL

    13.9 User Defined Functions

    13.10 User Defined Types

    13.11 Extended Properties

    13.12 The Object-Relational Stencil

    14 Reverse Engineering Physical Schemas to Logical Models

    14.1 Using the Reverse Engineer Wizard

    14.2 Reviewing the Result

    14.3 Handling Errors and Warnings

    14.4 Other Reverse Engineering Options

    15 Logical Database Model Reports

    15.1 New Report Wizard

    15.2 Statistical Report

    15.3 Table Report

    15.4 Data Types Report

    Part 4 Managing Database Projects

    16 Change Propagation and Round-Trip Engineering

    16.1 Overview of Change Propagation

    16.2 Mapping ORM Changes to Logical Models

    16.3 Migrating Logical Model Changes to ORM Models

    16.4 Updating Physical Schemas with Logical Model Changes

    16.5 Refreshing Logical Models with Physical Schema Changes

    16.6 Three-Way Synchronization

    16.7 Code Synchronization and Transfer

    16.8 Data Migration

    16.9 DDL Script vs. Automated Update

    17 Other Features and Best Practices

    17.1 Model Reviews and Presentations

    17.2 Librarianship

    17.3 Distributing Your Database Models

    Glossary and ORM Notation

    Further Resources


Product details

  • No. of pages: 425
  • Language: English
  • Copyright: © Morgan Kaufmann 2003
  • Published: August 14, 2003
  • Imprint: Morgan Kaufmann
  • eBook ISBN: 9780080491035

About the Authors

Terry Halpin

Dr. Terry Halpin is a professor at Northface University. He has led database research teams at several companies including Visio Corporation and Microsoft Corporation, where he worked on the conceptual and logical database modeling technology in Microsoft Visio for Enterprise Architects. His publications include over 100 technical papers and five books.

Affiliations and Expertise

Professor, Neumont University, Utah, USA

Ken Evans

Ken Evans has taught and applied ORM in English and French for 10 years. His know-how in data and process modeling and complex systems management comes from over 30 years in industry, including international jobs with IBM, EDS, Honeywell Controls, and Plessy and clients among the Fortune 500.

Affiliations and Expertise

Independent Consultant, Boston, United Kingdom

Pat Hallock

Patrick Hallock, M.S., is the founder of InConcept, a consulting firm, and teaches object modeling throughout the United States. He has been in the industry for 30 years, focusing on database design, with an emphasis on ORM.

Affiliations and Expertise

InConcept, Inc., Lake Elmo, MN

Bill Maclean

Bill MacLean, CPA, is an independent consultant and teacher who has worked with relational databases for over 15 years, and consulted in database design for the last 9. He believes that the purpose of a data model is to turn business requirements into buildable specifications.

Affiliations and Expertise

Independent Consultant, Scottsdale, AZ

Ratings and Reviews

Write a review

There are currently no reviews for "Database Modeling with Microsoft® Visio for Enterprise Architects"