What is an Entity Relationship Diagram (ERD)?
An entity relationship diagram (ERD) shows the relationships of entity sets stored in a database. An entity in this context is an object, a component of data.
An entity set is a collection of similar entities. These entities can have attributes that define its properties.
By defining the entities, their attributes, and showing the relationships between them, an ER diagram illustrates the logical structure of databases.
ER diagrams are used to sketch out the design of a database.
Documenting an Existing Database Using Data
There are two reasons to create a database diagram. You're either designing a new schema or you need to document your existing structure.
If you have an existing database you need to to document, you create a database diagram using data directly from your database. You can export your database structure as a CSV file (there are some scripts on how to this here), then have a program generate the ERD automatically.
This will be the most accurate potrait of your database and will require no drawing on your part.
Here's an example of a very basic database structure generated from data.
If you want to create a new plan, you can also edit the generated diagram and collaborate with your team on what changes to make.
Learn more about generating ER diagrams from data automatically using SmartDraw's ERD extension.
The History of Entity Relationship Diagrams
Peter Chen developed ERDs in 1976. Since then Charles Bachman and James Martin have added some slight refinements to the basic ERD principles.
Common Entity Relationship Diagram Symbols
An ER diagram is a means of visualizing how the information a system produces is related. There are five main components of an ERD:
- Entities, which are represented by rectangles. An entity is an object or concept about which you want to store information.
A weak entity is an entity that must defined by a foreign key relationship with another entity as it cannot be uniquely identified by its own attributes alone.
- Actions, which are represented by diamond shapes, show how two entities share information in the database.
In some cases, entities can be self-linked. For example, employees can supervise other employees.
- Attributes, which are represented by ovals. A key attribute is the unique, distinguishing characteristic of the entity. For example, an employee's social security number might be the employee's key attribute.
A multivalued attribute can have more than one value. For example, an employee entity can have multiple skill values.
A derived attribute is based on another attribute. For example, an employee's monthly salary is based on the employee's annual salary.
- Connecting lines, solid lines that connect attributes to show the relationships of entities in the diagram.
- Cardinality specifies how many instances of an entity relate to one instance of another entity. Ordinality is also closely linked to cardinality. While cardinality specifies the occurrences of a relationship, ordinality describes the relationship as either mandatory or optional. In other words, cardinality specifies the maximum number of relationships and ordinality specifies the absolute minimum number of relationships.
There are many notation styles that express cardinality.
Information Engineering Style
Watch this quick video learn more about ERD diagrams and their components.
ER Diagram Uses
When documenting a system or process, looking at the system in multiple ways increases the understanding of that system. ERD diagrams are commonly used in conjunction with a data flow diagram to display the contents of a data store. They help us to visualize how data is connected in a general way, and are particularly useful for constructing a relational database.
Entity Relationship Diagram Tutorial
Here are some best practice tips for constructing an ERD:
- Identify the entities. The first step in making an ERD is to identify all of the entities you will use. An entity is nothing more than a rectangle with a description of something that your system stores information about. This could be a customer, a manager, an invoice, a schedule, etc. Draw a rectangle for each entity you can think of on your page. Keep them spaced out a bit.
- Identify relationships. Look at two entities, are they related? If so draw a solid line connecting the two entities.
- Describe the relationship. How are the entities related? Draw an action diamond between the two entities on the line you just added. In the diamond write a brief description of how they are related.
- Add attributes. Any key attributes of entities should be added using oval-shaped symbols.
- Complete the diagram. Continue to connect the entities with lines, and adding diamonds to describe each relationship until all relationships have been described. Each of your entities may not have any relationships, some may have multiple relationships. That is okay.
Tips for Effective ER Diagrams
- Make sure that each entity only appears once per diagram.
- Name every entity, relationship, and attribute on your diagram.
- Examine relationships between entities closely. Are they necessary? Are there any relationships missing? Eliminate any redundant relationships. Don't connect relationships to each other.
- Use colors to highlight important portions of your diagram.
Entity Relationship Diagram Examples
Browse SmartDraw's entire collection of ERD examples and templates