All articles · Metadata Management · Database Design & Metadata · Application Metadata · Metadata Tools · Products and News

ER Diagram vs Data Dictionary – Which is Better for Documenting Data Models

What is a Data Model?

Data Model is an abstract representation of an aspect of real world in the form of a list of data elements and their relationships.

Data may be modeled using various techniques - Entity-Relationship Diagrams in relational modeling, UML Class Diagrams in object-oriented modelling, Data Dictionaries, Dimensional Modeling, to name a few.

What is an Entity-Relationship Diagram (ERD)?

ER Diagram is a graphical representation of a data model using entities, their attributes and relationships between those entities. It has a form of a diagram.

Sample ER Diagram created with Dataedo

What is a Data Dictionary?

Data Dictionary is a list of data elements (entity/table and attribute/column) with their attributes and descriptions. It has a form of a set of tables.

Sample Data Dictionary in Dataedo

Which is Better?

Entity-Relationship Diagram

Pros

  1. Easier to see the big picture
  2. Easier to understand table relations
  3. Possible to use visual cues to communicate information (e.g. location, proximity, color, shape)

Cons

  1. Doesn't work with large data models due to space constraints and clutter
  2. Supports limited amount of details
  3. May contain very little descriptions (as notes on a diagram)
  4. Requires careful layout and fitting into canvas
  5. Hard to search

Data Dictionary

Pros

  1. May include many data attributes (e.g. list of values, default values, owner, etc.)
  2. Includes detailed descriptions of each element (table, column)
  3. Easily searchable

Cons

  1. Less visually appealing
  2. More difficult to read

Conclusion

Neither is strictly better. Which one is better for you depends on what you want to achieve and the required level of detail. In my opinion you should use both.

Use ERDs for showing key tables and top level design. Use it to communicate ideas.

Don't add too many elements and details. Instead use multiple diagrams to explain different functional areas of a database.

Use Data Dictionaries for detailed documentation of each table and column. Use it as a reference documentation.

Add as many details as required. Data dictionaries can contain detailed description of each data element and the table form can handle this without losing readability.

You can use tool such as Dataedo to build ERDs connected with Data Dictionary imported from relational databases.

Build your own data dictionary and diagrams

Recommendations