让我对ERD感到困惑的一件事是,他们是否就如何在技术上实施他们的关系做出任何规定。
在下图中,我不确定图表是否要求在数据库级别或应用程序级别实现这些关系。
是制作任何技术处方还是仅仅定义关系并由我决定如何实施它?
在构建基于它的东西之前,我是否需要从ERD的创建者那里获得更多信息?
ERD不是您所说的“技术处方”,而只是逻辑关系的表示。
如何在数据库或应用程序中实现它取决于您。
但是数据库是强制执行这些关系的适当位置。
看来你正在把问题颠倒过来。
答案当然是:不,没有什么会迫使你在数据库中创建关系。但你为什么不这样做呢?
这就是为什么数据库被称为关系数据库 - 因为它为您提供了一个解决方案,可以轻松获得这个问题,与工具和持久层完美集成,并且它对应用程序开发人员的影响很好理解。
不在数据库级别实现关系会很疯狂。
ERD图是显示实体关系及其基数的逻辑图,尽管它可以同时解释为表关系图或类图,但它们都不是它们,您仍然需要其他图。
顺便说一下,据我所知,在数据库模型中强制实施关系以保持数据库一致性总是好的。
在验证放入数据库的数据时,我会说尽可能多余。
在应用程序端进行检查以确保唯一性/数据类型有效性一切正常。并构建数据库以获得所需的所有关系。
不要只让数据库/应用程序假设一切正确。
这可以为您节省几个小时的孤立记录和一致性问题。
“它正在制作任何技术处方......”
它看起来不像代码。也许我错过了一些东西。
“或者只是简单地定义关系并让我决定如何实施它?”
这取决于您的客户。
如果他们认为图表与代码是同构的,那么您将必须理解约定或上下文中缺失的部分。
如果他们不认为图表与代码是同构的,那么您将不得不决定如何实现它。