In application development it is often helpful to visualize your database structure. This is useful for existing databases to make sure you have all the relationships defined correctly, and especially for new projects as you are building the database. I recently needed to dive back into database diagramming, so I opened Visio Professional 2016 … and found the database tools had been taken out of that version. (From my research it appears those features are in, or coming to, the Office 365 edition of the tool, which I do not have.) This got me looking for a good database diagramming tool that did not break the bank.
My main requirement was the ability to point to an existing database and generate a diagram (reverse engineering), and to generate the database from a diagram (forward engineering). The databases I am working with are on Microsoft SQL Server, so the tool would need to be able to support that platform. I also wanted a tool that was easy to use and currently supported.
After some initial research I had two very promising candidates that met my requirements:
This is an online only tool that allows you to create your database diagrams within the browser. It is still in beta, but from my testing it works quite well. There is a forward engineering feature which allows you to generate a SQL script to define the database. The reverse engineering feature gives you a script to run on your current database which generates XML. You then paste the resulting XML code into the program and it creates a model of your database. Saving models requires an account, which is free at the time of this blog post.
This is a program that you install on your Windows, Linux, or Mac computer. It can be used in online or offline mode. Online mode is when the changes are made directly to the database as you make them. It supports many relational and NoSQL databases. It can reverse engineer databases and can save any changes you make back to the database. An interesting note on this, it has a Schema Synchronization feature which does a compare against what you have in the project and the database, and you can update either side with any changes.
This software has many additional features as well. It includes a relational data browser, where you can select a value in one table and it will automatically filter a related table to only show rows that match the selected value. You can use it to generate random data for testing. Diagrams can be exported as HTML5 documentation to share with coworkers. It also includes a query builder, SQL editor, and several other features you can read about on their website.
The software comes with a 15-day trial. At the time of this post, perpetual licenses cost between $63 – $197 per user.
There are many more database diagramming tools available at variable levels of cost, licensing models, functionality, and ease of use. These are two that caught my attention. I ended up purchasing DbSchema.
Tech Talk Live is the only conference of its kind in the region specifically designed for IT pros in education.
1020 New Holland Avenue
Lancaster, PA 17601