2009-05-29 62 views
1

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

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

它是否正在制定任何技术规定或简单地定义关系,并让我决定如何实现它?

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

alt text http://i40.tinypic.com/eslumd.jpg

回答

1

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

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

但是数据库是执行这些关系的适当位置。

3

似乎是要打开的倒挂问题。

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

这就是为什么数据库称为关系数据库 - 因为它为您提供了这个非常疑问,是现成的,用的工具和持久层以及集成的解决方案,它的应用程序开发人员的后果是很好理解的。

如果不在数据库层面实现关系,那会很疯狂。

0

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

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

0

当谈到验证数据被放入数据库时​​,我会说尽可能多余。

在应用程序端执行检查以确保Uniquness /数据类型有效性完好无损。并构建数据库以获得所需的所有关系。

不要让数据库/应用程序假定一切正确。

这可能会为您节省数小时修复孤立记录和一致性问题。

0

“是不是做任何技术处方......”

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

“或简单地定义关系,并让我决定如何实现它?

这取决于您的客户。

如果他们认为该图与代码是同构的,那么您必须了解约定或上下文中缺少的部分。

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

相关问题