Вопрос

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

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

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

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

alt text

Это было полезно?

Решение

ERD - это не "технологическое предписание", как вы выразились, а просто представление логических взаимосвязей.

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

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

Другие советы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top