Various ERD notations follow different styles for entities, relationships, and attributes. Usually there isn’t much standardization between them, so notations bear little resemblance to each other. Among the plethora of ERD diagram notations, crow’s foot notation is definitely the most used. In this article, we’ll investigate its components within the Vertabelo database model.
Before we start looking into crow’s foot notation, we must understand that there are various levels of Entity-Relationship diagrams:
- conceptual data model – an overview of what should be included in the general database model.
- logical data model – more detailed than the conceptual data model, but doesn’t contain information on how structures will be physically implemented in the database (i.e. column data types).
- physical data model – the most detailed type of models. Its exact makeup depends on which database management system is used.
The elements covered in one particular data model are presented below. Note that some tools may allow modeling some of the presented levels, but included elements may differ. Unfortunately, there isn’t any way to state which level includes which components.
|Element||Conceptual data model||Logical data model||Physical data model|
|Column data types||+|
|Structures specific to database vendor||+|
Vertabelo’s database modeler follows the crow’s foot notation style to represent relationships.
This tool allows us to present models on the highest level (as a physical data model).
The term ‘table’ is used in physical data modelling. It refers to entities presented in the conceptual and logical data models. When ‘table’ is an entity, it represents a particular object and has properties – presented as table columns – to identify it.
In crow’s foot notation, the table is depicted as a rectangle with a singular name (i.e. book, not books) on the top.
Columns refer to entity properties. They contain a set of data of a particular type, which differs according to your database vendor. There is one attribute for each row of the table. In the table, column constraints (primary and foreign keys) are depicted by the
Relationships are presented as straight lines with symbols of cardinality and modality on both sides.
- Cardinality indicates the maximum number of times an instance can be connected to others – one or many. The one is represented by a straight line perpendicular to the relationship line. The many is represented by a three-pronged symbol resembling a crow’s foot.
- Modality indicates the minimum number of times an instance is connected to others; this can be one or zero. The one is a straight line, while zero is an empty circle.
There are three types of relationships:
one-to-many – where the ‘many’ side can be zero or more (an optional relationship) or one or more (a mandatory relationship).
one-to-one – where the ‘one’ side is represented by a line perpendicular to the relationship line. In crow’s foot notation, one and only one is represented by a double perpendicular line and one or zero is depicted as an empty circle.
many-to-many – because databases don’t support this kind of relationship, it is physically implemented via a third junction table using one-to-many relationships.
To compare ERD notations, take a look at :