Как я могу отобразить базу данных графически?

Я хотел бы предоставить нетехническую, интуитивно понятную визуализацию моей базы данных для людей, которые знакомы с базовыми данными, но не с дизайном базы данных. Цифра будет включена в журнальную статью, а аудитория состоит в основном из студентов и ученых, многие из которых не понимают таких понятий, как «многие ко многим» или внешние и первичные ключи.

Моя цель состоит в том, чтобы передать концептуальное, а не техническое понимание этих взаимосвязей и того, как они являются полезным способом понимания самих данных. Техническое и всестороннее описание базы данных будет представлено в качестве приложения.

Я вижу, что существует много типов диаграмм Entity-Relationship , но я не уверен, какой из них лучше всего подходит для объяснения модели данных моей аудитории. Возможно, есть другой подход.

Как я могу представить это нетехническим способом, избегая использования ключей и обеспечивая более интуитивное понимание взаимосвязей между таблицами?

Вот пример моей отправной точки:

введите описание изображения здесь

Фактическая база данных будет иметь 11 таблиц, в том числе 3, используемые для определения отношений «многие ко многим», и множество полей, которые можно удалить.

обновление: но обратите внимание, что я не ищу способ создать такую ​​диаграмму ER. Я ищу что-то еще более абстрагированное, что позволяет избежать зависимости от ключей.

Вот очень грубый набросок идеи: он использует перекрытие, чтобы показать иерархию и жирную границу таблицы ключей, а также показать «идеальный» уровень абстракции (если бы он мог содержать и передавать важную информацию). Надеемся, что эти пункты могут расширить спектр возможных решений. Это «набросок» в том смысле, что я не понял, как сопоставить эти визуальные элементы с конкретными отношениями.

введите описание изображения здесь

Как обсуждалось в метаданных этого сайта , этот вопрос открыт и остается без ответа на stats.SE.

Некоторые люди опубликовали ответы о том, какие инструменты использовать: у нас есть отдельный предыдущий вопрос о том, какие инструменты использовать для создания диаграмм связей узлов . (также Абэ говорит (ниже), что этот вопрос касается подхода, а не инструмента)

Ответы (5)

Я собираюсь подойти к этому с чисто графической точки зрения.

Глядя на то, что в основном представляет собой база данных... это контейнер, который содержит различные непревзойденные элементы. С этой целью я бы подошел к этому так. То, насколько буквальным или абстрактным вы станете, будет зависеть от желаемого впечатления на читателя.

Вы можете быть очень простым и абстрактным:

  • Ведро, полное разноцветных игрушек, каждая из которых представляет разные данные. Дублируйте конкретную игрушку, чтобы указать аналогичные данные.
    игрушки
  • игрушка фигур, где каждая фигура представляет разные данные:
    формы
  • Ящик с инструментами, где каждый инструмент имеет разные данные:
    ящик для инструментов
  • Книжная полка, где каждая книга представляет разные данные:
    книжная полка

В основном все, что можно классифицировать как «контейнер», содержащий различные предметы. Я лично думаю, что книжная полка, вероятно, лучший вариант здесь. Полка приравнивается к базе данных, книги приравниваются к таблицам, а страницы приравниваются к полям базы данных.

Затем вы можете более буквально использовать визуальное представление, используя блок-схемы, как указано в других ответах. Опять же, это действительно зависит от аудитории и от того, насколько простыми должны быть ваши визуальные эффекты. Я вижу блок-схемы и почти сразу же теряю интерес, но я вижу пиктограмму, использующую изображения, которые я узнаю, и информация передается мгновенно.

(все изображения доступны для покупки на www.Dreamstime.com )

Будучи графическим дизайнером, ставшим веб-разработчиком, который время от времени занимается управлением базами данных, я часто создаю визуальные представления баз данных, которыми мне нужно управлять для собственного здравомыслия. Я очень визуально ориентирован, так что это помогает мне.

С учетом сказанного, исходя из моего понимания вашего вопроса, я считаю, что вы уже на правильном пути. Я бы продолжил представлять каждую из 11 таблиц с их полями, перечисленными так, как вы начали. Для полей, которые относятся к полям в других таблицах, я бы как можно аккуратнее провел линии к их аналогам. Это уже довольно нетехнологично.

Я думаю, что предоставленная вами вики дает хорошее представление о более техническом представлении, но если вы пытаетесь сохранить простоту, я бы просто расширил приведенный вами пример.

Спасибо за ваш ответ - я думал, что могу еще больше абстрагироваться от содержимого таблицы, что не обязательно потребует однозначного сопоставления полей в таблицах с диаграммой.

Загляните в Visio из Windows. Я использовал его в прошлом, он стоит довольно дорого, но может помочь, и для меня это хорошо округленная программа для создания диаграмм. По вашему вопросу я бы, возможно, выбрал Visio, потому что вы можете использовать графические значки для отображения того, что вам нужно. Также при создании диаграмм в Visio он может протестировать вашу базу данных по отношениям и ключам.

Примеры Визио:

введите описание изображения здесь введите описание изображения здесь


Для Mac вы можете создать их в xcode, перейдя к созданию и выбрав диаграмму шаблона.

**

Пример для xcode:

введите описание изображения здесь


Альтернативы Visio с открытым исходным кодом:

  1. ОпенОфис | LibreOffice Рисовать
  2. Диа
  3. LucidChart
  4. Схематично
  5. Карандашный проект

Надеюсь, это поможет и это то, что вам нужно и что вы ищете.

Спасибо за предложение, но я ищу более интуитивный подход, чем приведенные вами примеры. Возможно, есть другой подход, который можно было бы генерировать с помощью одного из этих инструментов, но меня больше интересует подход, чем инструмент.
мои извинения, но я шел мимо вашего поста, и я думаю, что вы все анализируете. Вы заявили The figure will be included in a journal article, and the audience is primarily students and scientists. Исходя из этого предположения, я бы предположил, что чрезмерное размышление над аспектом дизайна приведет их в замешательство, и, как заявил Горацио non-technical people, you MUST avoid over charting. Кроме того, в качестве отправной точки вы в основном создали таблицу, как в Visio.

Людям, не являющимся техническими специалистами, НЕОБХОДИМО избегать чрезмерного построения графиков. Вы должны идентифицировать уникальные родительские таблицы и визуально показать концепцию многих дочерних записей для каждой, не более чем с 3 уровнями глубины. Это будет означать гораздо больше визуальных эффектов — небольшими порциями — с перекрытием.

Кроме того, предоставьте основные определения наиболее важных терминов, таких как «многие к 1». У большинства людей нет проблем с родителем, имеющим 5 детей, у которых у всех один и тот же идентификатор.

Ваш образец иллюстрации не самый лучший, потому что он опирается на слово «много». Можно отобразить запись об одном авторе с тремя записями о книгах и словом «многие» (которое было определено до использования) с наложением на 3 строки, соединяющие книги с автором. Идея в том, чтобы показать, а не рассказать.

Следующая иллюстрация может быть немного более традиционной, и тогда к концу вы сможете больше рассказать, чем показать, потому что концепция была определена, проиллюстрирована и затем использована.

Вы можете попробовать OmniGiraffe, генератор блок-схем для Mac. Я видел, как он использовался только один или два раза, поэтому я не могу сказать, насколько хорошо он работает, но он может соответствовать вашим требованиям.

Спасибо за предложение, но я больше ищу подход, чем конкретный инструмент.