Editorials

Aqua Data Studio

Recently I picked up a project where I am integrating data into an SQLite database that will be used for an embedded controller. I was provided the database by another software engineer. It already has the table design, and the software is configured to use the schema as is. All I have to do is populate the tables from my system. Simple, right? Well, if you already know what the schema is, the answer is yes.

I did not have any tools handy for working with SQLite. So, it’s time to get some, so I can figure out what this beastie looks like. I wanted a tool that would let me look at the contents of the database, and better yet, extract an ERD of the table layout. I already have an ADO.Net database driver allowing me to integrate my code in C#. Now I just need to know what SQL commands to write.

My Google search brought me to Aqua Systems Auqua Data Studio. It wasn’t the only thing out there, but it looked inviting. It had a free full featured two week trial; so what did I have to lose? After downloading the app, I installed it in no time, and opened an evaluation license. Immediately, with no tutorials or anything, I was able to connect to my SQLite database. In a System Objects tree, much like SQL Server Management Studio, I was able to see my tables. I could open them to view the data. It provided a lot right out of the box.

The thing that prompted me to try this product is the ability to reverse engineer the database schema into an ERD. I did so, and what a pleasant surprise. Reverse engineering placed the tables in a useful pattern, allowing me to create the missing relationships easily. That was the second thing I really liked. This is the first tool I have ever used that has easy to use relationship line manipulation. That is probably the area where I spend the most time in a database diagram. It’s a lot of work to get things laid out, and relationships that connect tables, without the relationship lines crossing over each other or crossing over tables.

I decided to really give it a test. I reverse engineered my SQL Server database, having about 80 tables. This took about a minute to accomplish. In this case, it also reverse engineered my relationships, due to the referential integrity. There are number of different layout patterns you can use to try and layout all of the tables in a meaningful way. This was really impressive. The different layouts placed things in logical locations so that, with a little work, I could create a diagram of the entire database, with little work.

I’ve only used the product for about 1 ½ hours, so I don’t know a lot about all the different things it can do. But, so far, I’m very interested in what I’ve seen. For diagramming, I haven’t had a better experience when laying things out.

What’s your favorite tool for diagramming your database? Why not leave a comment with your experience?

Cheers,

Ben