I recently stumbled upon an interesting tool – Dataedo, quite powerful database documentation tool. It enables describing each table and column (data dictionary), procedure and function, create ER diagrams from existing schema and generate a pretty HTML, PDF or Excel documents.
It is in freemium model, with free edition good enough to create documentation for practical applications.
What I think makes it special is:
- Ability to keep the data dictionary and ER diagrams in one model and in sync with the schema,
- Nice HTML and PDF exports,
- Convenient UI and rich text editor,
- Ability to group tables and other database objects into so called modules,
- Search functionality,
- Showing documentation progress
One of the key functionalities is importing tables, columns and other database objects from your database and describing it with a convenient rich text editor.
As you can see below, repository browser displays progress of documentation – the extent to which elements are described. My database descriptions turn out to be only 9% complete.
Seems like I my database isn’t documented as much as I thought, but it’s easy to fix by just typing in the Description column.
A strong side of this tool is its documentation export. It supports HTML, PDF and Excel export formats.
HTML is a clean and interactive page that is suitable to host online or share on a network drive.
You can see live example here.
PDF export is a nice looking printable document.
One of the features that I liked the most was an ER diagrams module. The module has an ERD tab with a pane, you can drop tables and views to. For each table you may choose columns displayed on the diagram. That helps to keep the diagram clean when tables are large.
The existing foreign keys are automatically added to the diagram, but you can also add your own relations (see below) from the UI level, with no change to the actual database.
Another cool feature of the tool is the search functionality. You can quickly search for tables and other objects by their name, column, description. This is useful not just for documenting but for querying and development of your database too.
In Dataedo you can create objects called module and then assign each object to a module (or multiple modules. You can use it to split large databases into smaller, more manageable pieces. Each module then becomes a separate chapter in a PDF document. You can provide a description of the functionality of this area of the database using the rich text editor. You can also paste images and diagrams created with other tools.
Keeping documentation up to date
Dataedo handles changes in the schema nicely. All it takes is to re-import schema with a few clicks and changes will be reflected in your documentation.
Repository and teamwork
Dataedo holds all the metadata in a repository – a regular SQL Server database or a file (SQL Server Compact). I like the idea of this repository because it enables multiple people to work on the documentation and you can access all the metadata with an SQL.
The tool comes with a command line support for schema updates and documentation exports. This enables automatic generation of database documentation in build scripts.
Dataedo is a good tool that will contribute to your toolbox and will help you better understand your databases.
Try yourself, download a free version or get a free 30 day trial.
Reference: Pinal Dave (https://blog.sqlauthority.com)