Speaker: Mike Zinner
Developed a design tool called DBDesigner4 as his own schema design tool, had 1.5 million downloads. Tool was built on Delphi, became outdated. Project brought him to the attention of MySQL AB, resulted in a job offer.
After signing on he began work on basic MySQL GUI tools such as MySQL Administrator, MySQL Query Browser, Migration Toolkit, and MySQL Windows installer and configuration wizard.
Project existed from DBDesigner, then in 2005 a preview version of Workbench was released. Workbench was re-architected in 2007-2008 and was released in April 2008.
Workbench is a fully featured schema design tool for MySQL developers. Two editions: one open source and one commercial. Commercial version has additional functionality.
Intended for developers, architects, DBAs.
Provides schema design features, schema documentation features, database sync, schema validation, internal scripting and plugin architecture.
Design Features: Point and click schema design, multiple-diagram support, foreign key drawing and object design tools.
Automatic schema documentation is available.
Forward and reverse engineering from SQL scripts and live servers.
Schema validation will display warnings and suggest optimizations.
Upcoming talk tomorrow where Mike shows how to write scripts and develop plugins.
Mike then begins a live demo. Tabbed interface makes it easy to move from schema to schema. Once a model is loaded we see diagrams and members of the schema including tables, views, stored procedures, stored procedure groups. Also possible to navigate schema privs, SQL scripts and model notes.
Roles can be built and managed within Workbench, it will map them into the database when you export since MySQL itself has no role support.
Design interface looks very sharp, allowing for multiple layers. Hover the mouse over an FK relationship and it highlights the columns that belong to the relationship.
Mike showed how to create a new diagram. Drag and drop can be used to introduce existing tables. When tables are added the foreign key relationships are automatically drawn in. New tables can be added using drawing tools.
You draw a table, name it, choose a storage engine and then start listing columns. You name columns, choose the datatype from a list, choose whether it is nullable or auto-increment, add key information and the schema is automatically updated.
Composite keys can be defined by naming the key and checking the columns that are members and setting their order. Partitioning is configurable through the workbench.
Designer also allows for things like colour of the table in the schema design, useful for logically grouping tables.
Relationship design tools allow for drag and drop relationshop buildings, with automatic addition of columns to the child tables.
You can create user defined data types, allowing you to easily change all columns with your user-defined type to a new type without extensive edits.
Views can be edited, queries can be edited with syntax highlighting. A visual query designer is coming in a later version. Syntax validation is included in Workbench for queries and stored procedures.
Privilege management is included in Workbench, roles are managed in the tool but not available in MySQL so roles are mapped. Privileges can be assigned to roles and users given roles, workbench will then create SQL scripts that implement the user’s privileges.
Import/Export can happen to live servers or to SQL scripts. Export to PNG and PDF is also available. Printing support is available, large format is supported.
Auto-layout will arrange tables automatically so that relationship lines do not overlap.
Auto-documentation looks very nice, producing a useful report automatically from the design, including any notes you added to your objects. Uses Google libraries.
Plugins and scripts can be user created. Workbench includes a scripting IDE.
Community Edition is not crippled, it just does not include certain plugins. GUI team needed to find compelling reasons to purchase the standard edition for $99. You get a one year update subscription for the price. Workbench web site has a feature comparison matrix.
Coming up is cross-platform support, support for Linux, OSX and Solaris. Add a fulle SQL IDE that replaces query browser. Upcoming is other DB Vendor support. Eventually Workbench may replace the Migration Toolkit.
See http://dev.mysql.com/workbench or wb.mysql.com. Bug reports, forum posts and blog entries are appreciated.
Q&A
Yes, currently this is only for Windows.
Linux version is in progress, thanks to architecture 80% of code is re-used. Q4 target for GA.
Good session, product is looking great.