views:

394

answers:

7

Before anyone votes to close this as a dupe, know that every question I found so far was a question about specific programs that are good for database modeling. My question is what is the industry standard language (if there is one) for modeling a relational database?

I know UML is very popular in general, especially for OOP modeling, and the author of the book I am currently reading ("Pro SQL Server 2005 Database Design and Optimization" by Davidson) uses IDEF1X. MS Visio, though it supports IDEF1X, defaults to what seems like a generic modeling language without many specific symbols (refered to as the "relational" symbol set), but I know Visio is pretty standard because it's a part of the Office suite.

So, as a summer intern trying to build my résumé, which modeling language will prove the most useful in the industry for the future?

+7  A: 

That would be Entity RelationShip Diagrams, in short ERD.

Razzie
@JoeCool1986 Visio is a tool that can be used to create an ERD. ERD's can be created in different ways and UML is the typical representation of them. Most of the time knowing what the diagrams are and how to create them is more important than the language (UML vs IDEF1X).
JamesEggers
From the Wikipedia link that Razzie posted, it would seem that it is a very standard and neutral term. For those interested, Razzie provided a great link. It would be a good read at the least.
maxwellb
@James, that makes sense. Just in my little experience I have seen how related most of them are anyway. Thanks!
JoeCool
+1  A: 

ERD is probably the most widely used. I've also seen ORM used, though it is not database specific- it is about building a universe of facts.

RichardOD
+1  A: 

I have always known some form of an 'Entity Relationship Diagram' (ERD) as the standard for modeling a database.

These diagrams generally use rectangles to represent entities and use lines between the rectangles to represent relationships between those entities. It's also common to see some form of notation indicating the cardinality of the relationship (i.e. one-to-one, one-to-many, many-to-many) in form of dashes and "crow's feet".

Jesse Taber
A: 

There isn't really a standard language though UML is more than just OOP class modeling. The concept of an ERD as mentioned by Razzie is what you'd really want to focus on more than trying to add something to your resume that the interviewer may or may not know. Interviewers would know of UML and ERDs but may not know IDEF1X. They know of Tools and the names for the end results and care little about how the results for the diagrams are created.

JamesEggers
A: 

This isn't an answer (hope that's OK), but I wanted to applaud you for your desire to learn. I recently interviewed someone for a position where they would be the developer for a database-based application as well as reporting on it. I gave her a simple set of requirements and said "Given this, how would you structure your database objects?" I was just looking for a simple ERD (or heck, just boxes & lines! Or a list of tables and potential fields!). She couldn't even do that - totally flustered by the question.

Not hired, for the record.

So I'm just seconding ERD - it's probably the most common one, and I've also found it's easy for non-developers to understand.

Shannon Davis
A: 

UML can be perfectly used for Data Modeling. It is more expressive than EER languages so you can express in UML all you could express with those other languages. Moreover, I feel that using the same language for modeling all aspects of the application simplifies the development.

In my university we teach UML for both, data modeling and "application modeling"

Jordi Cabot
A: 

It would be ERD.... I would start with the industry standard data models. For instance Retail's industry standard group is called ARTS (association of Retail technology standards) and they have an industry data model that almost everyone extends from (http://www.nrf-arts.org/DataModel/DataModelHome.htm)

Albert T. Wong