Предписывает ли ERD подход к реализации? - PullRequest
1 голос
/ 29 мая 2009

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

На диаграмме ниже я не уверен, требует ли диаграмма, чтобы эти отношения были реализованы на уровне базы данных или на уровне приложения.

Делает ли он какие-либо технологические предписания или просто определяет отношения и предоставляет мне решать, как их реализовать?

Нужно ли мне получить больше информации от создателя ERD, прежде чем строить что-то на его основе?

alt text

Ответы [ 5 ]

3 голосов
/ 29 мая 2009

Кажется, вы переворачиваете проблему с ног на голову.

Ответ, конечно, нет: нет, ничто не заставит вас создавать отношения в базе данных. Но почему бы тебе не сделать это?

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

Было бы безумно не реализовывать отношения на уровне базы данных.

1 голос
/ 30 мая 2009

ERD - это не «технологический рецепт», как вы выразились, а просто представление логических отношений.

Как вы реализуете это - в базе данных или в приложении - зависит только от вас.

Но база данных - подходящее место для обеспечения этих отношений.

0 голосов
/ 29 мая 2009

"Делает ли он какие-либо технологические предписания ..."

Это не похоже на код. Возможно, я что-то упустил.

"или просто определить отношения и предоставить мне решать, как их реализовать?"

Это зависит от вашего клиента.

Если они думают, что диаграмма изоморфна коду, вам придется понять недостающие фрагменты из соглашения или контекста.

Если они не думают, что диаграмма изоморфна коду, вам придется решить, как ее реализовать.

0 голосов
/ 29 мая 2009

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

Выполните проверки на стороне приложения, чтобы убедиться, что валидность Uniquness / типа данных в порядке. И структурируйте базу данных так, чтобы она содержала все необходимые ей отношения.

Не позволяйте базе данных / приложению предполагать, что все правильно.

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

0 голосов
/ 29 мая 2009

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

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

...