7

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

1

5 Answers 5

4

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.
    toys
  • a shapes toy where each shape represents different data:
    shapes
  • A tool box where each tool is different data:
    toolbox
  • A bookshelf where each book represents different data:
    bookshelf

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 www.Dreamstime.com)

2

Being a graphic designer turned web developer who dabbles in database management from time to time, I often create visual representations of the dbs I need to manage for my own sanity. I'm very visually oriented, so it helps me out.

With that said, from my understanding of your question, I believe you are already on the right track. I would continue representing each of the 11 tables with their fields listed as you have started. For the fields that relate to fields in other tables, I would draw the lines as neatly as possible to their counterparts. That's already pretty non-technical.

I think the Wiki you provided gives good insight towards the more technical representation, but if you are trying to keep it simple, I'd just expand on the example you provided.

1
  • 1
    Thank you for your answer - I was thinking that I could further abstract the table contents that would not necessarily require the one-to-one mapping of fields in the tables to the diagram.
    – Abe
    May 2, 2013 at 16:38
2

Look into Visio from Windows. I have used it in the past, its fairly priced but may help and to me its a well rounded diagram program. Per your question I would possibly go with Visio because you can use graphical icons to display what you need. Also when creating diagrams in Visio it will can test your database by relation and keys.

Examples of Visio:

enter image description here enter image description here


For mac you can create these in xcode by going to create and choosing template diagram.

**

Example for xcode:

enter image description here


Open source alternatives to Visio:

  1. OpenOffice | LibreOffice Draw
  2. Dia
  3. LucidChart
  4. Diagramly
  5. Pencil Project

Hope this helps and is what you are needing and looking for.

2
  • Thank you for the suggestion, but I am looking for an approach that is more intuitive than the examples that you provide. Perhaps there is another approach that could be generating using one of these tools, but I am more interested in the approach than the tool.
    – Abe
    May 2, 2013 at 16:36
  • my apologies but I was going by your post and I think you are over analyzing everything. You stated The figure will be included in a journal article, and the audience is primarily students and scientists. By that assumption I would assume that over thinking the design aspect would confuse them and as horatio stated non-technical people, you MUST avoid over charting. Also, by your starting point you have basically created a table just like you would in Visio.
    – user9447
    May 2, 2013 at 21:04
2

For non-technical people, you MUST avoid over charting. You should identify the unique parent tables and visually show the many child-record concept for each, with at most 3 levels of depth. This will mean a lot more visuals--in bite size chunks--with overlap.

In addition, provide basic definitions of the most important terms like "many to 1." Most people have no problem relating to a parent with 5 children who all share an identifier.

Your sample illustration is not the best because it relies on the word "many." A possibility is to show a single author record with 3 book records and the word "many" (having been defined before use) overlaying the 3 lines connecting the books to the author. The idea is to show it, not tell it.

The next illustration might be a little more traditional, and then by the end you can tell more than show, because the concept has been defined, illustrated and then used.

1

You might try OmniGiraffe, which is a flowchart generator for Mac. I've only seen it used once or twice so I can't speak to how well it works, but it might fit your bill.

1
  • Thank you for the suggestion, but I am looking more for an approach than a specific tool.
    – Abe
    May 2, 2013 at 16:33

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.