What the Heck is an Entity Instance Diagram?
I was recently contacted by a friend who is taking a database design course for some help in understanding an assignment. His first task was to create a conceptual data model and then prepare entity instance diagrams for that data model. He was wondering what an entity instance diagram was. So was I, as I had not heard that term before. So I fired off a search and came up with only one hit:
I’m pretty sure that’s the first time I’ve every unintentionally found only one returned result for a search term before. Unfortunately that one webpage has broken images, so I couldn’t see what one looked like. So I told my friend:
I was thinking of examples such as the ones in Simsion & Witt’s Data Modeling Essentials [aff link]:
I did some more looking around and using Bing, found one more result which pointed to a PowerPoint slide deck by Ellis Cohen from his course on Theory, Practice & Methodology of Relational Database Design and Programming. In this deck I found an example of what he calls an entity instance diagram, which pretty much is what I thought it was. I’ve been creating an using these sorts of things to explain how a data model should be used but I never had a name for them. I called them sample data, data prototypes, data validation , worked examples, or just examples. Now we have a name and a TLA!
In Cohen’s slide, he’s using an Entity Instance Diagram (EID) to to demonstrate weak entities:
I usually use Excel to prepare these, as I can reuse the data for each one. I even have an ER/Studio macro to generate the tabs in a spreadsheet (one for each entity/table selected in a submodel). This makes preparing the sample data go much faster.
So it looks like we have an answer now for what the heck is an entity instance diagram….and I have a name for a technique that I use all the time. If you have other examples of this term, I’d love to see them.

4 Comments
Leave a comment
Subscribe via E-mail
Recent Comments
- Karen Lopez on Strutting: We all Know When You are Doing It. So Stop.
- Joey D'Antoni on Strutting: We all Know When You are Doing It. So Stop.
- Karen Lopez on Strutting: We all Know When You are Doing It. So Stop.
- Thomas LaRock on Strutting: We all Know When You are Doing It. So Stop.
- Karen Lopez on Strutting: We all Know When You are Doing It. So Stop.
Recent Posts
Downloads
- EDW 2013 Karen Lopez Get Blogging
- Karen Lopez presentation DAMA PS 2012
- Data Modeling Contentious Issues - DAMA Nebraska
- Karen Lopez - 10 Physical Blunders - DAMA
- Career Success In Data Profession - DAMA
- The Straw Poll
- You've Just Inherited a Data Model CheckList
- KarenLopez - 5 Physical Blunders - 24HOP-2011
- Handouts for OEMUG / CA Global Modeling User Group Why Be Normal Webcast
- Handouts Database Design Contentious Issues - New York 2010
- Handouts Database Design Contentious Issues - DC 2010
Archive
- May 2013 (4)
- April 2013 (5)
- March 2013 (4)
- February 2013 (7)
- January 2013 (12)
- December 2012 (2)
- November 2012 (3)
- October 2012 (3)
- September 2012 (13)
- August 2012 (5)
- July 2012 (17)
- June 2012 (2)
- May 2012 (4)
- April 2012 (4)
- March 2012 (8)
- February 2012 (11)
- January 2012 (3)
- December 2011 (10)
- November 2011 (8)
- October 2011 (5)
- September 2011 (3)
- August 2011 (9)
- July 2011 (5)
- June 2011 (5)
- May 2011 (5)
- April 2011 (9)
- March 2011 (4)
- February 2011 (9)
- January 2011 (8)
- December 2010 (15)
- November 2010 (27)
- September 2010 (2)
- August 2010 (1)
- July 2010 (4)





I didn’t know that there is a real name for these either. I use them a great deal when modeling data and needing to talk to non-technical people. Coming up with interesting (at least to me) edge cases and then illustrating them through examples/sample data or whatever is very handy indeed.
I take care to make up key values using some variant of the entity in the primary key value. So if I had a Facility entity, my sample primary keys might be fac001, fac002 etc. This is helpful because when we get into the murky depths of foreign keys, it is handy to have a quick way back to the primary entity type. If you just use integers, it is too easy to get lost when navigating.
You can then use the instance values for discovering constraints (and perhaps even for detecting normalization anomalies).
So you would be mad not to use them, and now they have a name, you can refer to them casually as if everyone knows what they are!
Whew!. Glad it’s not just me. I learn something new all the time about data modeling, but I always feel odd to come across something I’ve never heard of. Sounds arrogant, but it’s really just a “the more I know the more I realize how much I don’t know” thing.
Googling with bing? MVP nanoprobes taking effect I see.
In all seriousness, I should probably make a stub entry for this on Wikipedia.
Ha!. You did see that I asked Dr. Google first, right? Maybe I should ask AOL or MySpace next?