Database – Types of ER Diagrams

databasedesigndiagrams

I'm currently taking a class for database design, and we're using the ER diagram style designed by Peter Chen. I have a couple of problems with this style:

  • Keys in relationships don't seem realistic. In practice, synthetic keys like "orderid" seem to be used in almost all tables, including association tables, but the Chen style diagrams heavily favor (table1key, table2key) compound keys.
  • There is no notation for datatype.
  • The diamond shape for associations is horrible, and produces a cluttered diagram.

In general, it just seems hard to capture some relationships with the Chen system.

What ERD style, if any, do you use? What has been the most popular in your workplaces? What tools have you used, or do you use, to create these diagrams?

Best Answer

I'm not sure of the names of the diagrams, but generally know what you're talking about.

At the Tech School I first went to and the CIS dept of the University in the business school (where I took one DB class) we used crows foot notation, which makes a lot more sense to me.

In the CS dept, I was taught by a very experienced DB prof who used the diamonds for his ER diagrams - but he didn't care if we used some other notation for our assignments (we didn't do a lot of diagramming in that class, not nearly as much as in the CIS class at least)

In practice, having a number next to the diamond is well and good, but totally pointless. What you prefer probably comes down to who first taught you. I'd reckon if you say ES Queue Ell you probably use crows foot ER diagrams. If you say Sequel, you probably use the diamonds. And if you just call it a database, you probably don't use diagrams.

Also, datatypes aren't supposed to be captured at this level of database design. In my CIS classes at least, once we got to that point, we'd write the table structure out in a text file. Then it's just 2 steps away from an SQL create statement.

MS Visio can turn your diagrams into databases (and vice versa) so that method of diagramming ought to capture the info you want, although I've found it to be fairly cumbersome to use and I much prefer to just use Dia.

Related Topic