1

让我对 ERD 感到困惑的一件事是,他们是否对如何在技术上实施他们的关系做出任何规定。

在下图中,我不确定该图是否需要在数据库级别或应用程序级别实现这些关系。

是制定任何技术处方还是简单地定义关系并让我决定如何实施?

在构建基于它的东西之前,我是否需要从 ERD 的创建者那里获得更多信息?

替代文字

4

5 回答 5

3

看来你正在把问题颠倒过来。

答案当然是:不,没有什么会迫使您在数据库中创建关系。但是你为什么不这样做呢?

这就是数据库被称为关系数据库的原因——因为它为您提供了一个现成可用的解决方案,与工具和持久层很好地集成,并且它对应用程序开发人员的影响是众所周知的。

不在数据库级别实现关系会很疯狂。

于 2009-05-29T19:42:26.843 回答
1

ERD 不是您所说的“技术处方”,而只是逻辑关系的表示。

如何在数据库或应用程序中实现它取决于您。

但数据库是实施这些关系的合适场所。

于 2009-05-29T20:04:20.293 回答
0

ERD 图是显示实体关系及其基数的逻辑图,尽管它可以同时解释为表关系图或类图,但它们都不是,您仍然需要其他图。

顺便说一句,据我所知,在数据库模型中强制执行关系以保持数据库一致性总是好的。

于 2009-05-29T19:44:40.053 回答
0

在验证放入数据库的数据时,我会说尽可能冗余。

在应用程序端进行检查以确保唯一性/数据类型有效性一切正常。并构建数据库以拥有它需要的所有关系。

不要让数据库/应用程序假设一切都是正确的。

这可以为您节省几个小时修复孤立记录和一致性问题的时间。

于 2009-05-29T19:46:19.673 回答
0

“是不是在开什么技术处方……”

它看起来不像代码。也许我错过了一些东西。

“或者只是定义关系并让我来决定如何实现它?”

这取决于你的客户。

如果他们认为图表与代码同构,那么您将不得不从约定或上下文中理解缺失的部分。

如果他们不认为图表与代码同构,那么您将不得不决定如何实现它。

于 2009-05-29T19:46:55.070 回答