The service has now been discontinued but I’ve released the core source code under an OS license. Read the details here.
The MOLA::UMLtoDB/SQL tool is the simplest way to create your database schemas!. It automatically generates a SQL DDL script to create the database corresponding to the input UML class diagram, including:
- Dropping of existing database elements
- Creation of tables and columns
- Management of taxonomies(three alternatives: only subtypes, only supertypes, both)
- Creation of primary keys, unique keys and foreign keys with on update and on delete policies
- Support for auto-increment primary keys (by generating autoincrement fields or SEQUENCE-like constructs plus Triggers)
- Selection of the most appropriate database type for each column depending on the UML datatypes
- Support for enumerations (either by using an ENUM type or by using a VARCHAR field plus a CHECK constraint)
- Comments to trace back the elements to the original UML model
All major database vendors are supported: Oracle, MySQL, Postgresql, DB2, SQLServer, Firebird, Interbase, VoltDB*.
This tool is implemented as a service (SaaS). Simply upload the xmi file storing your UML class diagram, (optionally) indicate configuration parameters for the generation and, you will get as a result a text file with all the SQL sentences needed to immediatelly create your complete database!. The XMI model and the SQL script are removed after the generation, so you do not need to worry about the confidentiality of your designs
DATABASE SCHEMA GENERATION IN TWO STEPS
Step 1: Provide input UML model
Enter the input UML file and choose the database management system you want to generate the schema for
Step 2: Configure the generation
Indicate the configuration options to be used during the generation process
and just like that, the resulting SQL DDL file is ready for download!!
Let’s see an example OF a SQL DDL script generated by this service. Given the following UML model (represented, FOR instance, by this ArgoUML 0.24 XMI file )
the service will generate this SQL script for MySQL v.5 (results may vary depending ON the configuration options chosen during the generation). Thanks to the included comments, the script is self-explanatory
Executing the service
*Company logos ARE trademarks OF their respective owners