Entity Relationship Diagram (ERD) | ER Diagram Tutorial
Ultimate Entity Relationship Diagram Tutorial (ER Diagrams)
Updated on: 30 July 2021
So you want to learn Entity Relationship diagrams? This ER diagram tutorial will cover their usage, history, symbols, notations and how to use our ER diagram software to draw them. We’ve also added some templates for you to get started quickly.
What is an ER diagram?
An Entity Relationship Diagram (ERD) is a visual representation of different entities within a system and how they relate to each other. For example, the elements writer, novel, and a consumer may be described using ER diagrams the following way:
ER Diagram Template for Student Enrollment System (Click on image to modify online)
History of ER Diagrams
Although data modeling has become a necessity around 1970’s there was no standard way to model databases or business processes. Although many solutions were proposed and discussed none were widely adopted.
Peter Chen is credited with introducing the widely adopted ER model in his paper “The Entity Relationship Model-Toward a Unified View of Data“. The focus was on entities and relationships and he introduced a diagramming representation for database design as well.
His model was inspired by the data structure diagrams introduced by Charles Bachman. One of the early forms of ER diagrams, Bachman diagrams are named after him.
For a detailed history of ER diagrams and the evaluation of data modeling, refer this article.
What is the use of ER Diagrams?
What are the uses of ER diagrams? Where are they used? Although they can be used to model almost any system they are primarily used in the following areas.
ER Models in Database Design
They are widely used to design relational databases. The entities in the ER schema become tables, attributes and converted the database schema. Since they can be used to visualize database tables and their relationships it’s commonly used for database troubleshooting as well.
Entity relationship diagrams in software engineering
Entity relationship diagrams are used in software engineering during the planning stages of the software project. They help to identify different system elements and their relationships with each other. It is often used as the basis for data flow diagrams or DFD’s as they are commonly known.
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:
ER diagram example with entity having attributes
In the diagram, the information inside the oval shapes are attributes of a particular entity.
Entity Relationship Diagram (ERD) Symbols and Notations
Elements in ER diagrams
There are three basic elements in an ER Diagram: entity, attribute, relationship. There are more elements which are based on the main elements. They are weak entity, multi valued attribute, derived attribute, weak relationship, and recursive relationship. Cardinality and ordinality are two other notations used in ER diagrams to further define relationships.
Entity
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.
Weak Entity
A weak entity is an entity that depends on the existence of another entity. In more technical terms it can be defined as an entity that cannot be identified by its own attributes. It uses a foreign key combined with its attributed to form the primary key. An entity like order item is a good example for this. The order item will be meaningless without an order so it depends on the existence of the order.
Weak Entity Example in ER diagrams
Attribute
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. These are called composite attributes. 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.
Attributes in ER diagrams, Note that an attribute can have its own attributes ( composite attribute )
Multivalued Attribute
If an attribute can have more than one value it is called a multi-valued attribute. It is important to note that this is different from an attribute having its own attributes. For example, a teacher entity can have multiple subject values.
Example of a multivalued attribute
Derived Attribute
An attribute based on another attribute. This is found rarely in ER diagrams. For example, for a circle, the area can be derived from the radius.
Derived Attribute in ER diagrams
Relationship
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.
Using Relationships in Entity Relationship Diagrams
Recursive Relationship
If the same entity participates more than once in a relationship it is known as a recursive relationship. In the below example an employee can be a supervisor and be supervised, so there is a recursive relationship.
Example of a recursive relationship in ER diagrams
Cardinality and Ordinality
These two 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. There are a number of notations used to present cardinality in ER diagrams. Chen, UML, Crow’s foot, Bachman are some of the popular notations. Creately supports Chen, UML and Crow’s foot notations.The following example uses UML to show cardinality.
Cardinality in ER diagrams using UML notation
How to Draw ER Diagrams
Below points show how to go about creating an ER diagram.
- Identify all the entities in the system. An entity should appear only once in a particular diagram. Create rectangles for all entities and name them properly.
- Identify relationships between entities. Connect them using a line and add a diamond in the middle describing the relationship.
- Add attributes for entities. Give meaningful attribute names so they can be understood easily.
Sounds simple right? In a complex system, it can be a nightmare to identify relationships. This is something you’ll perfect only with practice.
ER Diagram Best Practices
- 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.
- Remove vague, redundant or unnecessary relationships between entities.
- Never connect a relationship to another relationship.
- Make effective use of colors. You can use colors to classify similar entities or to highlight key areas in your diagrams.
Drawing ER Diagrams Using Creately
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 ER diagram software 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.
ER Diagram Templates
Below are some ER diagram templates so you can get started quickly. Clicking on the image and in the new page that opens click the “Use as Template” button. For more templates check our ER diagram templates section.
ER Diagram Template of exam database ( Click on the image to use as template )
A basic ER diagram template for a quick start
Basic ER Diagram template ( Click to use as template )
Benefits of ER diagrams
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 which can be used to quickly 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.
Feedback on ER Diagram Tutorial
I’ve done my best to cover all you need to know about ER diagrams. If you think I’ve missed some part make sure to mention that in the comments sections. It’s a good place to ask questions too.
References
1. Entity-relationship model as published on Wikipedia.
2. Entity Relationship Diagram by Mike Chapple as published on the About.com website
Join over thousands of organizations that use Creately to brainstorm, plan, analyze, and execute their projects successfully.
Entity relationship diagrams ER diagram symbols ER diagram tutorial ER diagrams
More related articles
- 5 Ways to Improve User Manuals with Diagrams and Flowcharts
- The Easy Guide to Component Diagrams
- Business Process Modeling: Definition, Benefits and Techniques
Author
Nishadha
Software engineer turned tech evangelist. I handle marketing stuff here at Creately including writing blog posts and handling social media accounts. In my spare time I love to read and travel. Check out my personal blog Rumbling Lankan where I write about online marketing stuff.
Comments
Ikenna Dialoke
Nice lesson. I appreciate your help.
14.03.2021 -haynes christian
i want to know the rules of aggregation, specialization and generalization
11.09.2018 -Vish
Very nice detailed description except for the cardinality part. If that can also be elaborated a little, then it can be the best place to learn ERDs.
03.10.2017 -Niraj
If I have big er diagram which can not plot in one page what should I have to do??
12.01.2017 -Amanda
Hi Niraj, when publishing large diagrams, you can use the Creately viewer to do so. You can get the diagram embed code via the Publish tab. For more information refer https://creately.com/blog/creately/the-new-creately-viewer/
09.10.2017 -
Priscilla
this explanation is very good and fairly easy to understand. I might have to review Cardinality and Ordinality once or twice more but the rest was very concise and clear. Thank you.
19.10.2016 -King Ateenyi
Indeed best explanation
31.01.2018 -
Lakna Madurani
it is very important to me…….tnx
03.09.2016 -Amith Nischal
Hi Nishadha,
Explanation is so good and easily understandable. I have some doubts. I’ve taken a DBMS-1 course in my Master’s and my professor taught me ERD differently. For relationships he used triangle, not a diamond. In cardinality he didn’t use UML, Chen or Crow’s foot notations. He used some thing different, like Thick lines, thin lines, one-sided arrows etc. Could you help me to figure out what notations are those and also I am curious enough to know which notation is used widely. Please help me with this.
Thanks.
21.08.2016 -