The most recognizable characteristic of crow’s foot notation (also known as IE notation) is that it uses graphical symbols to indicate the ‘many’ side of the relationship. The three-pronged ‘many’ symbol is also how this widely-used notation style got its name. Let’s see where crow’s foot is placed in the history of data modeling and take a look at its symbols.
History: How Crow’s Foot Notation Got Started
The beginning of crow’s foot notation dates back to an article by Gordon Everest (1976, Fifth Computing Conference, IEEE). The notation naming convention was changing; in fact, it had been evolving over several years. When asked by me about the issue, Mr. Everest said:
I called it the “inverted arrow.” at the time to distinguish [it] from Bachman’s notation. I prefered it to the arrow because it did not imply directionality or a physical access path, and it was visually intuitive, showing manyness. Others then started referring to it as chicken feet (e.g., Carlis textbook ¹). I now prefer to call it a FORK, which is short and to the point, and doesn’t require the possessive crow’s or the longer chicken. In my original paper, the focus was on “Basic data structures explained with a common example” ² (the title, which later became chapter 4 in my McGraw Hill text, Database Management, 1986). The use of the notation was incidental though carefully chosen. I like the fork since it can easily be represented in a standard character set as in:
[ X ]------<[ Y ]
showing that an individual X can relate to multiple Ys (and each Y relates to at most one X).
Symbols in Crow’s Foot Notation
Let’s now take a look at the representation of entities and relationships in crow’s foot notation.
An entity is a representation of a class of object. It can be a person, place, thing, etc. Entities usually have attributes that describe them.
In crow’s foot notation, an entity is represented by a rectangle, with its name on the top. The name is singular (entity) rather than plural (entities).
An attribute is a property that describes a particular entity.
The attribute(s) that uniquely distinguishes an instance of the entity is the identifier. Usually, this type of attribute is marked with an asterisk.
Relationships illustrate the association between two entities. They are presented as a straight line. Usually, each relationship has a name, expressed as a verb, written on the relationship line. This describes what kind of relationship connects the objects.
Note that the mentioned type of relationship is binary. In the Entity-Relationship model, representing a ternary or higher order of relationship is problematic.
Relationships have two indicators. These are shown on both sides of the line.
The first one (often called multiplicity) refers to the maximum number of times that an instance of one entity can be associated with instances in the related entity. It can be one or many.
The second describes the minimum number of times one instance can be related to others. It can be zero or one, and accordingly describes the relationship as optional or mandatory.
The combination of these two indicators is always in a specific order. Placed on the outside edge of the relationship, the symbol of multiplicity comes first. The symbol indicating whether the relationship is mandatory or optional is shown after the symbol of multiplicity.
In crow’s foot notation:
- A multiplicity of one and a mandatory relationship is represented by a straight line perpendicular to the relationship line.
- A multiplicity of many is represented by the three-pronged ‘crow-foot’ symbol.
- An optional relationship is represented by an empty circle.
Finally, there are four possible edges to the relationship, illustrated here:
zero or many
one or many
one and only one
zero or one
Relationship degrees make them readable as :
To compare ERD notations, take a look at :
1 John Vincent Carlis, Joseph D. Maguire (2001). *Mastering Data Modeling: A User-driven Approach
2 "BASIC DATA STRUCTURE MODELS EXPLAINED WITH A COMMON EXAMPLE" *Computing Systems 1976*, Proceedings Fifth Texas Conference on Computing Systems, Austin,TX, 1976 October 18-19, pages 39-46. (Long Beach, CA: IEEE Computer Society Publications Office).