ERD Notation – How to Read Crow’s Feet and Convert to Natural Language

database-diagramserdrelations

Background

I am attempting to insure I understand how to read ERD (Entity Relationship Diagram) notation so I can convert it to a natural language explanation.

I'm trying to insure I can explain a method of converting what I see in the diagram to natural language.

Let's use the following diagram:
(Please don't get too caught up on the correctness of the actual entities, they are just for our example.)

ERD Sample

Natural Language Sentence Examples

Company to Address

Would this be a correct way of talking about the relationship from Company to Address.

A company has 1 to many addresses. (shipping, billing, etc).

This indicates that the company must have at least one address, right?

Does that match the notation I have in the diagram?

Company to Connection

Each company has zero to many Connections.

Is that correct? Is that how I read that double-bar on the Company side?

How Are the Two Company-side Connectors Any Different?

Do the two company-side connectors indicate anything different at all?
Can you explain that?

General Help For Natural Language Translation?

Do you have a logical method with steps you could provide for examining each relationship and converting to natural language?

For example, with Company to Connection.

  1. Where do I start reading?

  2. How do I remember (or explain) that the crows foot on Connection indicates the number of Connections a Company has and not vice versa?

Thanks

Best Answer

I'd like to answer this more definitively now using the following image (from https://www.lucidchart.com/pages/ER-diagram-symbols-and-meaning)

erd symbol explanations

Using the definitions of these symbols you can see that the following things are true about my originally posted diagram.

  • A company has 1 to many addresses. (shipping, billing, etc).
  • A company has 0 to many connections
  • A connection has one (and only one) company
  • An address has one company - this should probably contain the double line connector to show that it is one and only one.

My final question was:

Do you have a logical method with steps you could provide for examining each relationship and converting to natural language?

  1. Place a finger on the entity you are starting with. For example, place a finger on Company.
  2. Now say, "Company has..." and choose the related entity you want to talk about. For example, choose connection.
  3. Look at the relation symbol that touches the Connection entity (it is the empty circle with three lines (legs)) which indicates zero to many.
  4. Continue saying "...zero to many connections".

The final sentence would be,

"Company has zero to many Connections."

That is how you transform symbols on Entity Relationship Diagrams into natural language.