How can I show a database graphically?


I would like to provide a non-technical, intuitive visualization of my database for people who are familiar with the underlying data, but not database design. The figure will be included in a journal article, and the audience is primarily students and scientists, many of whom will not understand concepts such as "many to many" or foreign and primary keys.

My goal is to convey a conceptual rather than a technical understanding of these relationships, and how they are a useful way of understanding the data itself. A technical and comprehensive description of the database will be provided as an appendix.

I see that there are many types of Entity-Relationship diagrams, but I am not sure which one, if any is best suited for explaining a data model to my audience. Perhaps there is another approach.

How can I represent this in a non-technical way that avoids keys and provides a more intuitive understanding of the relationships among tables?

Here is an example of my starting point:

enter image description here

The actual database will have 11 tables, including 3 used to define many-to-many relationships, and many fields that can be dropped.

update: but please note that I am not looking for a way to create such an ER diagram. I am looking for something further abstracted, that avoids dependency on keys.

Here is a very rough sketch of an idea: it uses overlap to show hierarchy and a bold border on the key table, and to show the 'ideal' level of abstraction (if it could contain and communicate the important information). Hopefully, these points can expand the scope of possible solutions. It is a 'sketch' in that I haven't figured out how to map these visual elements to specific relationships.

enter image description here

As discussed on this site's meta, this question is open and remains unanswered at stats.SE

4/13/2017 12:45:00 PM

I'm going to approach this from a purely graphic point of view.

Looking at what a database basically is... it's a container which holds various unmatched items. To this end, I would approach it as such. How litteral or abstract you get would depend upon the desired impression on the reader.

You could be very basic and abstract:

  • A bucket full of different colored toys - each toy representing different data. Duplicate a specific toy to indicate similar data.
  • a shapes toy where each shape represents different data:
  • A tool box where each tool is different data:
  • A bookshelf where each book represents different data:

Basically anything which can be classified as a "container" which holds varying items. I, personally think a bookshelf is probably the best option here. Shelf equates to database, books equate to tables, and pages equate to db fields.

Then you could go more litteral with the visual by using flow charts as mentioned in other answers. Again, it really depends on the audience and how basic you need to be with the visual. I see flow charts and I lose interest almost immediately, but I see a pictogram using images I recognize and information is conveyed instantly.

(all images available for purchase at

5/2/2013 6:18:00 PM