0% found this document useful (0 votes)
114 views

Mysql Workbench A Data Modeling Guide For Developers and Dbas

Uploaded by

Jenny Martínez
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
114 views

Mysql Workbench A Data Modeling Guide For Developers and Dbas

Uploaded by

Jenny Martínez
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

MySQL Workbench

A Data Modeling Guide for


Developers and DBAs

A MySQL® Business White Paper

Copyright © 2009, Sun Microsystems, Inc


Table of Contents

1 INTRODUCTION ....................................................................................................................3

2 TYPES OF DATA TO MANAGE ............................................................................................3

3 MODEL-DRIVEN DATA MANAGEMENT ..............................................................................4

4 MODEL-DRIVEN DATA MANAGEMENT BENEFITS ...........................................................5


4.1 Metadata Management..................................................................................................................................... 5

4.2 Rapid Application Delivery ............................................................................................................................. 5

4.3 Change Management ....................................................................................................................................... 6

4.4 Package Application Management ................................................................................................................. 6

4.5 Reporting and Communication ...................................................................................................................... 7

4.6 Performance Management .............................................................................................................................. 7

5 MYSQL WORKBENCH – DATA MODELING/DESIGN FOR MYSQL ...................................8


5.1 Database Design .............................................................................................................................................. 8

5.2 Forward and Reverse Engineering ................................................................................................................. 9

5.3 Change Management ..................................................................................................................................... 10

5.4 Reporting and Documentation ..................................................................................................................... 11

5.5 At-a-Glance View of MySQL Workbench Features ..................................................................................... 12

6 CONCLUSION......................................................................................................................12

Copyright © 2009, Sun Microsystems, Inc. Page 2 of 13


1 Introduction
Data is the lifeblood of all successful businesses, no matter the size of the company or the industry they
serve. A company’s data takes many forms: it can be new transactional data in the form of incoming
orders from a Web site, business intelligence data that’s gleaned from customer data, which helps a
company’s management staff make smart strategic decisions, historical information that’s needed for
compliance officers, or metadata that describes the various data elements that make up data-driven
systems and how each one of those elements is used. Should a company mishandle or lose key data, it
is oftentimes a devastating experience and one that can end in great financial costs as well as loss of
reputation.

This being the case, modern and successful companies are leaving nothing to chance when it comes to
the definition, design, and implementation of their data. This equates to a professional and process-driven
approach to the creation and management of data that will flow through its business systems – a process
that is led by data management professionals who utilize a model-driven approach to data and employ
the right tools in the process to ensure that the capture and administration of data is properly carried out.

This paper looks at the various types of data that modern businesses need to manage, examines the
reasons why a model-driven approach to data management is necessary, and outlines the benefits such
an approach provides. It also highlights how the MySQL Workbench product from MySQL can be an
indispensable aid in the hands of experienced data modelers, developers, and DBAs who are tasked with
managing the complex data management infrastructure of a dynamic and growing business.

2 Types of Data to Manage


Although there are myriads of different ways to classify and categorize data, most forms of data that
modern companies deal with fall into seven groups:

1. Operational data – normally transactional processing data that exists in the form of new/updated
customer orders and other data that supports the products and services that companies sell. This
data is generally found in relational databases that support transactional data flows.
2. Business Intelligence data – exists in the form of current and past operational data that is being
used to understand things like customer purchasing trends, the impact of marketing programs, and
more. This data typically resides in staging areas known as data warehouses or analytic data
stores, and is separated from the operational data to improve system response times for those
systems.
3. Historical data – represents the historical activity of business systems or audit trails of data usage
throughout an organization. It differs from business intelligence data in that it is seldom accessed
and is primarily kept online to meet government or industry compliance regulations.
4. Integration data – used to manage the flow of data from operational systems to analytic or
historical data stores. It most often defines the process of how transactional data is transformed
into business intelligence data.
5. Master data – equates to “reference data”. Reference data does not depend on other data
elements for its identity or meaning, and usually serves as consensus data that is shared
consistently across systems.
6. Metadata – is “data about data” and serves as the definition point of data elements along with
describing how they should be used.
7. Unstructured data – is typically handled in content management systems (although some are
moving this into traditional RDBMS engines), which manages the evolutionary life cycle of digital
information (video files, documents, etc.)

Again, there may be more narrowly-defined classifications of data, but the above represents the bulk of
what today’s modern enterprise tackles in the area of data management.

Copyright © 2009, Sun Microsystems, Inc. Page 3 of 13


3 Model-Driven Data Management
The approach acknowledged by experienced data professionals as the best method for managing the
capture, definition, and implementation of data throughout an organization is one that is model-driven. That
is, it depends on modeling the use and relationships of data that exist in the categories of data discussed in
the previous section. This applies to both existing systems and ones that are in the process of being
constructed.

Models are the best means for representing the definition of data elements that support the various data
stores found throughout an enterprise. This being the case, it is not surprising that most IT organizations
utilize practices such as entity relationship diagramming (ERD) or other forms of modeling to capture and
preserve their data structures. The practice of model-driven data management is seen in a late 2005 North
American developer study jointly conducted by IDC and Infoworld, which showed that most organizations
look to modeling tools to help in their capture and implementation of data:

It is interesting to note that even companies that are small in terms of employee size still utilize a model-
driven approach to managing their data. Nearly ¾ of large companies are either using a model-driven
approach now or will be shortly.

Such large usage implies there are real and tangible benefits from using a model-driven approach to data
management. It’s helpful to briefly outline these advantages and then drill down into each one so a good
understanding can be had regarding why a model-driven approach to data management is preferred over
any other.

Copyright © 2009, Sun Microsystems, Inc. Page 4 of 13


4 Model-Driven Data Management Benefits
There are a number of benefits that model-driven data management brings to the table, with the most
tangible being the following:

• Metadata management – ensures data consistency, enforces standards of data elements used
throughout an organization, and assists in identifying and cataloging elements for data governance
• Rapid application delivery – reduces the time it takes to craft and implement a new physical data
design and also the application that makes use of the underlying database
• Change management – helps to manage change between different iterations of data designs
• Packaged application management – removes the ‘black box’ feel of packaged applications by
graphically rendering the heart of any application, which is the database.
• Reporting and communication – greatly simplifies the communication and reporting of new and
modified data designs
• Performance management – helps to more quickly pinpoint design flaws in data designs that
contribute to inefficient response times in actual data-driven systems

Each one of these areas is explored in more detail in the sections that follow.

4.1 Metadata Management


The importance of having well-defined and standardized data element definitions is understood by
companies who have wrestled with the difficult task of tracing and fixing the use of data artifacts that mean
and refer to the same thing, but are defined differently across various applications and systems. Ensuring,
for example, that a data element named CUSTOMER_ID is defined consistently among all systems that
use it (e.g. correct datatype, meaning, etc.) lessens the pain of using it in future applications or in analytic
data stores that are fed from many operational systems.

In addition, government and industry compliance regulations have


created a whole new set of reasons why proper metadata
management is critical. The need to ensure the highest possible data
quality (no invalid data; data matches its purpose and definition
100%), data privacy (internal only or external), data security (highly
sensitive, not sensitive, etc.), what business area owns the data
element (e.g. Finance, etc.), and what compliance is being ensured
(Sarbanes Oxley, etc.) are all needs that modern enterprises now
have.

A model-driven approach to metadata management lets data


architects and others responsible for managing data throughout an organization capture and catalog all
aspects of data elements. Models and the tools that facilitate metadata management also provide an easy
way to reference, report on, search, and examine change control aspects of all data elements defined
within them.

4.2 Rapid Application Delivery


The heart of the vast majority of modern applications is the underlying database. This being the case, it is
critical that there be no delay in designing and physically implementing the data structures that will support
critical business applications.

There is really no substitute for what a model-driven approach offers when it comes to quickly delivering
good physical database designs. Many times a database design begins in a conceptual way, which

Copyright © 2009, Sun Microsystems, Inc. Page 5 of 13


equates to defining data entities, their relationships, and attributes in a way that does not target any one
physical database vendor’s platform. Once a logical data model is agreed upon, it is then transformed into
a physical design that is directed at a specific RDBMS (e.g. MySQL, Oracle, etc.) The logical model is
oftentimes amended to meet the requirements of a particular physical platform and for performance
purposes (e.g. adding partitioning to tables, etc.)

In addition to modeling standard data-related objects (tables, indexes, etc.), code may also be included in
certain physical models so that everything related to and that touches data is kept in one place. This
equates to objects such as stored procedures, triggers, and more being included in a model. In addition,
the security aspects of a design can also be included so that user login details and individual object
permissions are recorded. Such abilities (all of which are included in MySQL Workbench) greatly enhance
the abilities for developers to move their projects forward as everything they need to create and manage
the data aspects of their applications resides in their model-driven tools.

All good modeling tools, like MySQL Workbench, support forward engineering of physical designs, which
means that all SQL code used to create a database and its dependent objects is automatically written and
runs right the first time. This eliminates the error-prone and time-consuming process of a developer or DBA
hand coding database creation syntax.

4.3 Change Management


Data designs and their corresponding databases have version control and lifecycle management
considerations just like applications do, so it is important that data architects, DBAs, and developers
understand the need to perform proper change management for their databases and metadata designs. A
model-driven approach that’s linked into some form of repository is best, although manual methods of
archiving versioned data models and metadata schemes can work also.

Perhaps one of the most difficult challenges facing data management professionals in the area of change
management is successfully performing complex alterations in existing physical database designs.
Performing the detailed impact analysis of proposed changes and preparing the database change scripts
can be a long and error-ridden task, which is unfortunate as mistakes made during database alterations
can be very costly.

Fortunately, most good modeling tools like MySQL Workbench alleviate such problems as they contain
synchronization utilities that allow a DBA or developer to make changes to a physical data model and then
synch those changes with an existing physical databases. The tool does all the work of performing the
impact analysis and generating the right database alteration code, with all changes being easily previewed
before they are executed against the target database.

In most tools, the reverse can be done as well – a data model can be altered to reflect changes that have
been made to an existing physical database. This aspect is important as oftentimes emergency changes
must be performed to a database, but if models are being used for change management and revision
purposes, they need to be updated to reflect what is currently in the IT infrastructure.

4.4 Package Application Management


Packaged/purchases applications are often difficult black boxes for data professionals and application
developers to understand in terms of how an underlying database is used. Further, should enhancements
or other modifications need to be made to the packaged application, it’s important to understand the impact
of those changes and ensure they are done right the first time.

A model-driven approach to packaged application management can greatly simplify this process. Models
are the perfect way to visually understand the data relationships and data definitions of a complex
database structure. Via a reverse-engineering utility found in nearly all good modeling tools, a DBA or
developer can quickly visualize the inner workings of a packaged application’s database and understand

Copyright © 2009, Sun Microsystems, Inc. Page 6 of 13


how parts of the database are used. Should modifications or additions to the database need to be made, a
modeling tool can generate both an impact analysis of the changes and the code to make things happen.

4.5 Reporting and Communication


Modern businesses have great numbers of people who are consumers of data that is captured and
internally maintained. Some of these people may be technically savvy, but many of them are not, so the
challenge becomes how best to educate and communicate the ways to access the data that they need.
Further, the same need is present in large development teams who are all working on the same set of data
structures. They routinely need to understand how to code their part of a collectively-built application so
that it properly accesses the targeted database.

Again, models can come to the rescue as they are a perfect way for both technical and non-technical
people to grasp how data is defined and how it can be accessed. Good modeling tools like MySQL
Workbench can help on this front as they all offer the ability to create and export picture files of model
designs, and most provide reporting facilities that create Web-based and/or text-based reports that break
down large models into tabular report formats that are easily read and navigated.

4.6 Performance Management


Fast databases are not a nice-to-have – they are a necessity. Databases that power globally used web
sites must complete user transactions and present information at a rate fast enough that prevents impatient
customers from clicking to a competitor’s site. Further, businesses needing up-to-date internal information
cannot wait for long drawn out processes that crunch numbers and detail competitive statistics. Instead,
they need databases capable of quickly churning out the data necessary to compete in today’s economy.

In the pursuit for better overall database performance, many professionals are ignoring what is perhaps the
number one contributor to excellent RDBMS speed – the physical database design. If a database runs
slow, oftentimes those implementing it will add additional hardware power, but throwing hardware at a bad
design never works in the long run. In the short term, things may appear to get better and if the database is
relatively static in nature, things may remain that way. But if the database is dynamic and the data/user
load continues to grow, the situation will slide back to the point where it once was. Instead, the physical
design of the database should be interrogated for performance flaws and tuning opportunities. The reason
for this is a foundational one. If the foundation is flawed, then the house needs to be put in order at that
level before anything else is done.

One of the keys to understanding the discipline of performance monitoring is this: When a DBA monitors
a database for performance, they are really validating their physical design implementation. If the
performance monitor they choose to use is blasting them with flashing lights, alarm bells, and pager alerts,
it's probably because their physical design is failing. If all is quiet in the performance monitor, then their
physical design is likely a current success. Some will try and argue that SQL code is the number one factor
in database performance, but in reality, it is the physical design (code comes next).

Creating robust efficient physical designs can be difficult and intricate work. IT professionals need to arm
themselves with some serious power tools that have the capability to slice through the difficulties involved
in building and retrofitting complex physical database designs. Long gone are the days when a DBA or
modeler could handle most of their work with a SQL query interface and a drawing tool. Today, relational
databases are just too robust and contain too many complexities for such primitive aids.

At a minimum, those creating databases will need two things flanking both ends of their arsenal: a solid
data modeling tool and a robust performance monitoring product. As has already been mentioned,
performance monitoring is really the validation of a database's physical design. When foundational cracks
are identified with the monitor, DBAs and developers will need a high-quality design tool to aid in rectifying
the situation – one that makes quick work of sometimes complicated schema changes.

Copyright © 2009, Sun Microsystems, Inc. Page 7 of 13


5 MySQL Workbench – Data Modeling/Design for MySQL
MySQL Workbench is a visual database modeling and design tool provided by MySQL/Sun that helps
developers and DBAs create new physical data models for MySQL databases and modify existing physical
MySQL databases with reverse/forward engineering and change management functions. MySQL
Workbench is designed to increase user productivity and success in conceptualizing, communicating,
building, and maintaining key business metadata and high-performance databases and data warehouses.

MySQL Workbench’s interface and automated processes ensures out-of-box success for a variety of
audiences within modern enterprises including database administrators, application developers, data
architects and IT management. The product runs on Windows, Linux, and Mac so that users can design
their databases from all the popular desktop operating systems. A quick tour of MySQL Workbench’s
feature set showcases how the tool supplies the benefits previously discussed in the area of model-driven
data management.

5.1 Database Design


MySQL Workbench’s chief purpose is to help developers and DBAs visually create physical database
designs that eventually end up as MySQL databases. Models are far and away the best and most efficient
means to understanding and creating valid and well-performing databases, and MySQL Workbench helps
users accelerate their work through a variety of functions and utilities.

MySQL Workbench allows a developer or DBA to create one or multiple models within its interface and
supplies various different views of the objects (tables, views, stored procedures, etc.) being designed.

Figure 1 - MySQL Workbench's Visual Interface

Copyright © 2009, Sun Microsystems, Inc. Page 8 of 13


Many different utilities and aids within the tool exist to help the data modeler quickly design and implement
the physical data models being worked on. MySQL Workbench contains all the core data modeling
elements one would expect in a database design tool: visual design of all objects that make up a database,
including tables, relationships between tables (foreign keys), views, triggers, stored procedures, functions,
object permissions, and more. Easy to use editors make adding or changing elements like columns,
indexes, foreign keys, privileges, etc., simple to do. For changes made that need to be undone, an Undo
function returns things to the way they previously were before a change took place.

In addition, MySQL Workbench has a number of other aids that help DBAs and developers quickly create
database designs right the first time. A Model Validation utility checks a data model for any possible
mistakes and reports all found issues back to the user. For large models that are difficult to navigate, a
Zoom feature allows a data modeler to easily zoom in and out to get either a bird’s eye view of an entire
data model or just focus on one specific area. To locate various objects (tables, column names, etc.) in a
large model, an advanced Find utility locates all occurrences of whatever search criteria the user supplies,
with the results providing point-and-click navigation to whatever is selected in the output.

Finally, a variety of other helpful functions exist in the tool such as the allowance for different modeling
notations, an Autolayout function that automatically arranges tables on a diagram, and a scripting ability
that lets advanced users extend the tool via LUA

5.2 Forward and Reverse Engineering


One of the most used functions in good modeling tools involves the forward engineering of a physical
database design, meaning that the tool generates all the SQL code necessary to create a physical
database on a target server. MySQL Workbench
provides just such a utility so that a visual data
model created in the tool can easily be quickly
translated into a physical database on a target
MySQL Server, with a nice benefit being that all
the SQL code runs right the first time, which
eliminates the normal error-prone process of
manually writing complex SQL code.

In addition, to help understand existing


databases that may either be custom in nature
or part of a packaged application, MySQL
Workbench also supplies a reverse engineering
utility that connects to any existing MySQL
Server and builds a new data model from either
all or part of the source MySQL system. Once in
the tool, all objects and their relationships can Figure 2 - Forward Engineering Operations can be
be easily viewed, added to, and modified. easily customized in MySQL Workbench

Copyright © 2009, Sun Microsystems, Inc. Page 9 of 13


Figure 3 - Reverse Engineering utilities are provided to model/modify
existing databases

5.3 Change Management


Database change management, which normally equates to maintaining different versions of database
schemas and competently modifying existing databases that are complex in nature, is oftentimes a difficult
and challenging task.

To help DBAs and developers with change management, MySQL Workbench offers a Synchronization
utility that compares a data model against a target MySQL server and performs a synchronization between
the two. Using MySQL Workbench, A DBA or developer first connects to a target MySQL server, and then
the tool compares all aspects of the currently used model with the physical MySQL database. The
Synchronization utility then presents a graphical display of all the differences that it found and lets the
developer or DBA decide what they want to do next.

MySQL Workbench provides three options for any found differences between a model and a physical
database:

1. Ignore differences
2. Synchronize the model with the physical database server
3. Synchronize the physical database server with the model

Copyright © 2009, Sun Microsystems, Inc. Page 10 of 13


Figure 4 - Synchronization functions can carry out one or many database changes at once

MySQL Workbench allows a user to make such decisions on either a global or per object basis, so
everything can be handled in the exact way a DBA desires. Once the synchronization operation is
complete, a DBA can save the MySQL Workbench model to preserve versions of how the model and
database looked at a particular point in time.

5.4 Reporting and Documentation


Documenting database designs can be a time-consuming process, but fortunately MySQL Workbench
provides a point-and-click reporting and documentation utility that makes such things very easy. A model
can be documented in either HTML or plain text format, and includes all the objects and models in a current
MySQL Workbench session.

Copyright © 2009, Sun Microsystems, Inc. Page 11 of 13


Figure 5 - Reporting functions quickly document any existing model

5.5 MySQL Workbench Features


MySQL Workbench is currently offered in a free open source edition and a paid standard version. For an at-
a-glance overview of MySQL Workbench and feature differences between the free and paid editions visit:
http://www.mysql.com/products/workbench/features.html

6 Conclusion
Modern businesses know the value of using a model-driven approach to manage the definitions and designs
of data that’s used in their key production systems. Models stand second-to-none when it comes to quickly
understanding, organizing, and managing both custom built and packaged data-driven applications.

To help data professionals tackle the challenges that come with designing and understanding complex
databases, MySQL offers MySQL Workbench, which helps DBAs and developers both quickly create new
MySQL databases and manage the lifecycle of existing MySQL databases with change management and
reporting functions. With MySQL Workbench, the productivity of a database professional is increased as the
tool eliminates the complex and error-prone processes of manually performing the previously mentioned tasks,
with the end result being a quicker and more efficient delivery of MySQL-based applications.

Copyright © 2009, Sun Microsystems, Inc. Page 12 of 13


For more information on MySQL Workbench including downloads of the free and commercial editions, please
visit the MySQL Web site at www.mysql.com. The specific MySQL Workbench link is currently
http://dev.mysql.com/workbench/.

In addition, other white papers are available from MySQL on both business (TCO, etc.) and technical topics
(storage engines, etc.) – see http://www.mysql.com/why-mysql/white-papers/ for free paper downloads.

Copyright © 2009, Sun Microsystems, Inc. Page 13 of 13

You might also like