A quick note on conceptual data modeling

Peter O'Kelly
Infoslob
Published in
2 min readApr 2, 2019

One other quick detour before I get into Apple News: I find it’s useful to explore topic domains using conceptual data model diagrams. They’re not as geeky as they may sound, and you don’t have to be a database nerd to understand them.

Here’s an example:

An example conceptual data model diagram fragment

The example is part of a model of Apple Podcasts, a topic I’ll return to in a future post. For now, it’s only important to know:

  • Each rectangle is an entity — any thing we want to describe.
  • The lines inside the entity rectangles are attributes — a type of entity descriptor. For example, the show entity has attributes including show name, show image, and show notes.
  • Entity pairs can participate in relationships; for example, a show may be associated with a number of episiodes. The little chicken feet on the ends of some of the relationship lines mean many; if there’s no chicken foot on a side of a relationship line, it generally means zero or one (so, for example, a show may only be associated with a single category, and a show may only be published by a single provider).
  • Each entity must have at least one identifier — a combination of attribute and/or relationship descriptors that together uniquely identify a single entity instance. The identifiers are denoted by underlined attribute names and/or cross-hatches in relationship lines. For example: provider is identified by by provider name, category by category name, show by the combination of show name and an associated provider, and episode by episode name and an associated show.

Conceptual data modeling is very useful for getting people on the same page about a topic domain— for establishing contextual consensus.

If you want to know more about the modeling/diagramming technique, I recommend Mastering Data Modeling: A User-Driven Approach (also available via O’Reilly Books, a.k.a. Safari). You don’t need to get into a lot more detail in order to read and understand model diagrams, but the book is a great resource if you want to create your own diagrams.

I use the excellent (and free) draw.io for diagramming, incidentally.

--

--

Peter O'Kelly
Infoslob

Better living through conceptual modeling and collaboration