Простейший способ моделирования сущностей реального мира в базе данных

#database-design #entity-relationship

#база данных-дизайн #сущность-взаимосвязь

Вопрос:

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

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

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

Спасибо за ваши подсказки!

Ответ №1:

Взгляните на объектно-ролевое моделирование и особенно на программное обеспечение NORMA (от http://www.ormfoundation.org /).

Комментарии:

1. 1 для ORM. (Этот ORM, не тот ORM.) Книга Терри Хэлпина » Информационное моделирование и реляционные базы данных » действительно ценна. ИМО, графическое отображение менее важно, чем компиляция типов фактов. Людям не нужно обучение, чтобы читать факты. Ваша самая большая проблема, вероятно, будет заключаться в том, что ваши обычные люди будут абсолютно уверены, что «X» истинно, когда на самом деле это не так. Например, что почтовые индексы 4 представляют один адрес, что номера водительских прав уникальны, что оплаченный счет означает, что работа была выполнена, и т.д.

2. Я узнал кое-что новое. Возможно, это сработает для меня, возможно, нет. Но я принимаю этот ответ, потому что вы указали мне на новый способ осмысления этой проблемы.

Ответ №2:

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

Комментарии:

1. Да, я думал об этом решении. Но было бы сложно смоделировать все возможные атрибуты для каждой возможной сущности.

2. позвольте экспертам в предметной области внести свой вклад, и со временем это будет становиться все лучше и лучше, в реальном мире каждая вещь agile / evolve [думайте об этом как о Википедии!]