: 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.
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:
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.
As discussed on this site's meta, this question is open and remains unanswered at stats.SE
More posts by @Phylliss782
5 Comments
Sorted by latest first Latest Oldest Best
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 Dreamstime.com)
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.
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:
For mac you can create these in xcode by going to create and choosing template diagram.
**
Example for xcode:
Open source alternatives to Visio:
OpenOffice | LibreOffice Draw
Dia
LucidChart
Diagramly
Pencil Project
Hope this helps and is what you are needing and looking for.
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.
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.
Terms of Use Create Support ticket Your support tickets Stock Market News! © vmapp.org2024 All Rights reserved.