I'm trying to design/document a collection of lists with lookups in an Entity Relationship Diagram.

Currently I'm using Visio's built-in ERD template, which is most of the way there, but it lacks two key features:

  • A good representation of a Multi-Lookup column relationship
  • SharePoint-specific data types (Choice, Lookup, Calculated)

I can create a diagram with hidden data types to avoid the second issue, but that loses a rather important part of the documentation.

Is there a template, plugin, or shape collection for Visio that will allow me to produce a SharePoint List ERD with either or both of these features? Alternatively, is there a different tool that covers this functionality?

Edit: @Tom Resing's answer has made me think about why I'm after a Visio extension or comparable tool:

I need the result to be presentable enough for a formal document, but convenient enough to use for me to change my mind about half the structure part way through (as I often do).

  • Have the same problem. Just stumbled up on this one: A tool for an partly automated creation of ER diagrams in Visio seems to be published (soon?). troschinsky.wordpress.com/2014/04/29/sharepoint-visualizer ...wasn't able to figure out when it's going to be available.
    – user25553
    May 2, 2014 at 12:46

2 Answers 2


Option 1: Ditch Visio and draw them by hand and scan them in. I often hand draw documentation these days for clients who appreciate the cutom-look, quick, low-cost, multiple-iteration approach.

Option 2: Create the stencils yourself. I've used this approach in network diagrams when I wanted the server icon to represent a web server by adding a world icon to it, for example.

Option 3: For mutiple lookups, treat it like a logical database diagram. Often when creating ER Diagrams for databases, I will create a physical view and a logical view. In this case the physical storage keeps the values in two seperate entities with a foreign key relationship. The physical view would show the lookup columns only in the list they are stored in. The logical view could disregard the physical storage entirely and just show the lookup values as part of the list pulling in their values. This would be similar to a view in a relatinoal database.

Update: I re-wrote my answer to address the comments and update from the asker.

  • Well, yes. Theoretically I could use vanilla Visio (or even MS Paint) to create the diagrams if I wanted; and I could also use Notepad to write code... I recommend you try out the Visio database model (aka ERD) template; then you'll understand how much more functionality it provides, and why I want to extend it for use with SharePoint ERDs.
    – Stu Pegg
    Jan 10, 2012 at 17:54
  • @StuartPegg I do like the Visio database model for SQL databases and used to use it quite a lot. It sounds like it's almost there for your need. My suggestion is based on the idea that this need is infrequent and low volume enough for paper, but it doesn't sound like the case for you. I hope you find a solution that works and I'd be curious to hear if you do.
    – Tom Resing
    Jan 11, 2012 at 2:57
  • Fair enough, it sounded like you hadn't used it before. I guess I've got two extra requirements that led me to the Visio database model in particular; I need it to be presentable enough for a formal document, but convenient enough for me to change my mind about half the structure part way through (as I often do).
    – Stu Pegg
    Jan 11, 2012 at 11:51

I've messed around with a lot of different tools, but oddly I came across a likely candidate when doing an entirely different project.

Dia is an open source alternative to Visio. Its Database shapes are flexible enough to accommodate arbitrary column types, and the entity references include option to show directional 'many to many' relationships (like multi-lookups).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.