Creating a unit-relationship (ER) model is visually representing the structure of a business database where data corresponds to entities (or objects) associated with defined relationships that express dependency and demands. By nature, it is an abstract visualization, the first step in the design process towards creating a logical and functional database.
The original concept was formalized by Peter Chen, the influential computer scientist who wrote The Entity-Relationship Model – Towards a Unified View of Data. This paper provided structured notation for database models – it is still a well-used standard to this day, but other notations, such as Bachman, Barker or Martin, have been devised to deal with specific database requirements.
Entity-relationship diagrams (ERD) follow the common three-scheme approach to software engineering, where three abstraction levels are used to define an ER model.
Conceptual Data Model – A conceptual data model is the most abstract view of a data model. It provides a complete overview of a business area, including all significant business units, and describes their relationship.
It omits additional levels of detail, including data types and interface definitions, making it suitable as a means of presenting an initial business idea to a wide range of stakeholders.
Logical Data Model – This model establishes a higher level of detail where data units are described as master, operational or transaction and their relationship is more precisely defined. This is the test phase for a data model where functionality can be respected independently of physical specifications.
Physical Data Model – At this point, the data models begin to take into account the physical constraints of the database area. Important factors to consider are database performance, physical storage, and indexing strategy. Chart notations will fully define all tables and columns, indexes, constraint definitions, and any linking or partitioned tables.
Creating an ERD requires that you select a specific set of notations that best serve the specific database being designed. Chen’s original notation had a linguistic approach in which boxes representing units could be thought of as nouns, and their relationship was in verb form, shown on a diagram as a diamond.
Eventually, Chen’s style was adapted to the crow’s foot notation, where conditions were shown as single-labeled lines – this quickly became the popular standard due to improved readability on charts with more efficient use of space on the page.
Most other notation systems are customizations or use some of these original styles. Here is a short list of some of the other standards that have been developed:
- Bachman notation
- Barker’s notation (ERDs for Oracle)
- EXPRESS and EXPRESS-G notation
- UML class diagrams
- Object role modeling
- (min – max) notation
ERDs are an invaluable tool for software engineers, especially as computer capacity and thus data storage capacity have increased significantly in recent years. They allow every aspect of database design to be controlled, tested and communicated before implementation. Since ERDs have such a large impact across database activities, it is imperative that the standardized notation be used and interpreted by a wide range of stakeholders.
To create an ERD, software engineers will mainly turn to dedicated drawing software, which will include the full notation resources for their specific database design.