Ultimate Guide to ER Diagrams

|| Information Technology |



An Entity Relationship Diagram (ERD) is a visual representation of different data using conventions that describe how these data are related to each other. For example, the elements writer, novel, and consumer may be described by an ER diagram this way:


In the diagram, the elements inside rectangles are called entities while the items inside diamonds  denote the relationships between entities.

While able to describe just about any system, ER diagrams are most often associated with complex databases that are used in software engineering and IT networks. In particular, ER diagrams are frequently used during the design stage of a development process in order to identify different system elements and their relationships with each other. For example, an inventory software used in a retail shop will have a database that monitors elements such as purchases, item, item type, item source and item price. Rendering this information through an ER diagram would be something like this:


In the diagram, the information inside the oval shapes are attributes of a particular entity.


History

ER diagrams are visual tools that are used in the Entity-Relationship model initially proposed by Peter Chen in 1976 to create a uniform convention that considers both relational database and network views. Chen envisioned the ER model as a conceptual modeling approach that views real world data as systems of entities and relationships. Entities are data objects that maintain different relationships with each other. Additionally, entities are also described further using attributes.

Since 1976, the ER model has been expanded and is sometimes used in business management, product development, and strategy formulations. However, database design remains its primary application. 


Benefits

Database engineers agree that ER diagrams constitute a very useful framework for creating and manipulating databases. First, ER diagrams are easy to understand and do not require a person to undergo extensive training to be able to work with it efficiently and accurately. This means that designers can use ER diagrams to easily communicate with developers, customers, and end users, regardless of their IT proficiency. Second, ER diagrams are readily translatable into relational tables that are frequently used by IT professionals to build databases. In addition, ER diagrams can directly be used by database developers as the blueprint for implementing data in specific software applications.  Lastly, ER diagrams may be applied in other contexts such as describing the different relationships and operations within an organization.


ER Diagram Basics

There are four basic elements in an ER Diagram: entity, attribute, relationship, and cardinality.

  • An entity can be a person, place, event, or object that is relevant to a given system. For example, a school system may include students, teachers, major courses, subjects, fees, and other items. Entities are represented in ER diagrams by a rectangle and named using singular nouns.
  • An attribute is a property, trait, or characteristic of an entity, relationship, or another attribute. For example, the attribute Inventory Item Name is an attribute of the entity Inventory Item. An entity can have as many attributes as necessary. Meanwhile, attributes can also have their own specific attributes. For example, the attribute "customer address" can have the attributes number, street, city, and state. Note that some top level ER diagrams do not show attributes for the sake of simplicity. In those that do, however, attributes are represented by oval shapes.


  • A relationship describes how entities interact. For example, the entity "carpenter" may be related to the entity "table" by the relationship "builds" or "makes". Relationships are represented by diamond shapes and are labeled using verbs.  



  • Cardinality further defines relationships between entities by placing the relationship in the context of numbers. In an email system, for example, one account can have multiple contacts. The relationship in this case follows a "one to many" model. A number of conventions--including UML and crow's foot notation--are used to present cardinality in ER diagrams. The following example uses UML to show cardinality.     




Tips on How to Prepare Effective ER Diagrams

Because ER diagrams are simple enough to understand, just about anyone can create them. However, two different ER diagrams describing the same system may still be radically different in terms of their simplicity, completeness, and efficiency at communicating the system. In other words, there are good ER diagrams and there are poor ones.

Here are some tips that will help you build effective ER diagrams:
  1. Identify all the relevant entities in a given system and determine the relationships among these entities.
  2. An entity should appear only once in a particular diagram.
  3. Provide a precise and appropriate name for each entity, attribute, and relationship in the diagram. Terms that are simple and familiar always beats vague, technical-sounding words. In naming entities, remember to use singular nouns. However, adjectives may be used to distinguish entities belonging to the same class (part-time employee and full time employee, for example). Meanwhile attribute names must be meaningful, unique, system-independent, and easily understandable. 
  4. Remove vague, redundant or unnecessary relationships between entities.   
  5. Never connect a relationship to another relationship.
  6. Make effective use of colors. You can use colors to classify similar entities or to highlight key areas in your diagrams.

You can draw entity relationship diagrams manually, especially when you are just informally showing  simple systems to your peers. However, for more complex systems and for external audiences, you need diagramming software such as Creately's to craft visually engaging and precise ER diagrams. The diagramming application offered by Creately as an online service is pretty easy to use and is a lot more affordable than purchasing licensed software. It is also perfectly suited for development teams because of its strong support for collaboration.


This article was written by Joseph for Creately. Creately helps teams create and collaborate on visual projects such as diagrams, wireframes, charts, and concept maps. Build compelling visuals with their easy to use online platform at http://creately.com/