Fog Creek Software
Discussion Board

Merits of Visio?

Hi Folks,

I've used Sybase PowerDesigner 8.0 for some time now for data modelling, and I've found it a *great* tool.

A new member of the company has suggested I now start to use MS Visio instead, but I have to admit, I don't like the look of it after the brief introduction I've just given myself. What am I missing?

Has anyone used either/both?

Thanks in advance...

Friday, January 23, 2004

I don't have idea about Data Modelling. I used it as a general purpose diagraming tool. (simple UML diagrams, some simple diagrams to explain geometry algorithms, etc).  It was very useful.

It can import lot of formats.

Nitin Bhide
Friday, January 23, 2004

My personal oppinion on Visio is that its a good all-around product.  For data modeling, you can do almost anything you want to do with it.  That's the major benefit.  The major drawback is for anything you want to do with it, there is probably a better tool (albeit a more expensive tool) out there for your needs.  i.e. Class Diagrams, UML Modeling, Circuit Diagrams, Wiring Diagrams, Process Flow, Floor Plan Layouts, etc.

Friday, January 23, 2004

I'm not sure about designing software, be we use Visio for wireframe mockups.

It lets us create user interfaces quickly during the early stages of a project while we are still gathering requirements.

What do others use to mockup interfaces (besides a whiteboard, which we use even before Visio stage)?  I'm not talking developers here, more product manager types.

Rick Watson
Friday, January 23, 2004

What Elephant said! Visio is a good at "modeling" which includes data modeling. If you already have it, try it and use it. If you already have one of the other great modeling tools, use it. Use whatever you are more productive in.

One plus for visio though is that is is easy to share with your analyst friends.

Friday, January 23, 2004


I don't think Visio is good in generating / updating the db schema from the drawing. IMHO it's incomparable with PowerDesigner.

Also its code generation from UML diagrams is very poor.

If you need anything more than good-looking pictures better use somethnig else.

Mata Kosmata
Friday, January 23, 2004

If you're willing to invest a little effort, Visio lets you customize the "ShapeSheet" underlying each type of shape. You can program (in VBA) the behavior of the shape through the formulae in the sheet and the events that the shape receives. It takes a day or two to get the hang of it, but you can get some really neat effects. For example, I once used an estimation tool that a coworker wrote in Visio. You could connect up widgets, which looked up their current price from a database. The widgets were programmed to enforce the rules on which widgets could be connected to each other. At the end, you hit a menu button, and it produced a nice listing of the stuff on the diagram, and the total cost.

Rob VH
Friday, January 23, 2004

Visio is a nice drawing tool. Great product.

However, a nice drawing tool that lets you put a bunch of cute chairs and desks on the screen is NOT what you need for a managing a database system.

It turns out that Visio has some add-ins that does allow you to work with, and generate scripts etc for database schemas/diagrams. However, one must note that the ability of Visio to manage and work with databases is simply one of MANY features of the product. The product has VBA built in.

While ms-word is not a great document management and filing system, you can add-in that feature. However, when word is compared to a dedicated document management system, the results will likely be less then perfect.

The same applies to Visio. It is not a database management tool, but a nice drawing and flowcharting program with those database features added in. The versatility of Visio is both its strength, and it weakness.

The strength is due to that Visio can do so many cool things.

The weakness is that when you do everything, likely you don’t do each thing the best! However, since Visio is programmable, then you can do a lot of things......

I use Visio for all kinds of diagrams etc, but I never used Visio to actually maintain and build the DDL scripts for the database server.

In my case, the enterprise tools for sql server, or the built in ER tools in ms-access are better, and more convenient to manage the database in question anyway. In fact, in ms-access you can right click any table in the ER diagram and jump right into table design mode (a lot of people don’t realize this!).

The same goes for sql server and the included tools. Since they are better then Visio, then why use Visio?

On the other hand, if you need to grab/create some diagrams of existing database systems, then Visio is not too bad.  This fact is especially so, if you often have to walk into different clients for different database systems, and want/need a drawing tool. (why learn a new tool for each system)

However, as a table management tool for a production database....hum, that is probably not the best use of Visio.

It is a real fancy drawing tool, not a database managment system. So, keep this in mind when evaluation of the tool.

Albert D. Kallal
Edmonton, Alberta Canada

Albert D. Kallal
Friday, January 23, 2004

The reason I don't use EM for schema design is that while you're fiddling around with renaming fields and tables, they're actually being created, changed, dropped in the database. When you get into larger schemas, the delays can become noticeable.

The most important thing for an ER design tool is the ability to round-trip the design - Visio can do this against a number of databases. There are two downsides in your case -
1) You're used to the tool you're using. This may make Visio frustrating to transition to.
2) If you only work on Sybase databases, your current tool may hook into features no other ER designer will, so you need to find that out. But if you are working in multiple database platforms, this shouldn't be an issue.

Here's the Visio fact sheet:

[disclaimer: I work for Microsoft]

Sunday, January 25, 2004

Realise that Powerdesigner support more rdbs than any similar product out there.

Powerdesigner also works at the declarative level with a metamodel. So the variable behaviour al sits in Templates which you can add and modify if you want.

PD can also be scripted or programmed via COM, .NET and Java. (in fact in works as a EClipse plug-in). Viso (when i last checked) worked only in the imperative (VBA/COM) mode.

Visios meta-model is shallow i.e. no deep hierarchy of objects. The customizability of shapes is second to none.

I use both. But i only generate from PD.

Tuesday, January 27, 2004

Like many people, I find Visio a good general purpose drawing tool, but I have experienced much pain and suffering trying to get the DBMS modelling tools to work as advertised.  I came to Visio with certain expectations based upon my past experience in ERWin.  In particular, Visio seems really BAD at generating DDL for M$FT SQL Server. 

Some of the problems I've seen: Dropping closing quotes on entity names, creating duplicate DEFAULT() clauses in Alter Table statements, generating extra blank lines in SPROC and TRIGGER scripts, and multiple round-trip synchronizations needed to really get the model and dbms in sync, even when nobody is using the database.

Brad L
Wednesday, February 11, 2004

*  Recent Topics

*  Fog Creek Home