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