Chapter 9 Database Design / Modeling

Table of Contents

9.1 Modeling Interface
9.1.1 Model Editor
9.1.2 EER Diagram Editor
9.1.3 Creating Tables
9.1.4 Creating Foreign Key Relationships
9.1.5 Creating Views
9.1.6 Creating Routines and Routine Groups
9.1.7 Creating Layers
9.1.8 Creating Notes
9.1.9 Creating Text Objects
9.1.10 Creating Images
9.2 Additional Modeling Tools
9.2.1 Printing Diagrams
9.2.2 DBDoc Model Reporting
9.2.3 Schema Validation Plugins
9.3 Modeling Tutorials
9.3.1 Creating a Model
9.3.2 Basic Modeling
9.3.3 Importing a Data Definition SQL Script
9.3.4 Using the Default Schema
9.3.5 Documenting the sakila Database
9.4 Forward and Reverse Engineering
9.4.1 Forward Engineering
9.4.2 Reverse Engineering
9.5 Schema Synchronization and Comparison
9.5.1 Database Synchronization
9.5.2 Compare and Report Differences in Catalogs
9.6 Table Templates
9.7 Customizing DBDoc Model Reporting Templates
9.7.1 Supported Template Markers
9.7.2 Creating a Custom Template

Modeling simplifies database design and maintenance by enabling you, the data architect, to visualize requirements and resolve design issues. Model-driven database design is an efficient methodology for creating valid and well-performing databases, while providing the flexibility to respond to evolving data requirements. Models are used to build ER diagrams and physical MySQL databases.

MySQL Workbench provides extensive capabilities for creating and manipulating database models, including these:

This is not an exhaustive list. The following sections discuss these and additional data-modeling capabilities.