ERD 直接生成 5NF 关系模式 - 这是可取的吗?

Ank*_*iya 1 erd normalization database-design

我得到了一个事件管理案例研究,以开发实体关系图 (ERD),并基于它检查生成的关系模式是否满足不同的范式。现在,我已经基于我开发的 SRS 开发了我的 ERD。

我遇到的问题是:当我将 ERD 转换为关系模式时,我的表已经规范化了。由于 ERD,我在规范化过程中没有什么可完成的,所以我很困惑。

我脑海中出现的另一个问题是这是否是一种理想的情况,我的意思是当我从 ERD 本身让我的所有关系正常化时,为什么我需要进行正常化?

换句话说,如果我们从 ERD 中获得了 5NF 中的数据库,那么为什么我们需要考虑规范化?

one*_*hen 6

如果您的已经在 5NF 中,那么您不需要更多地考虑进一步规范化。

但请注意,完全规范化 (POFN) 原则并非万能药。可能仍然存在不明显的更新异常。

需要应用数据库约束。根据我的经验,从 ER 图开始的设计人员非常擅长实现主键和外键,但其他约束很容易被忽视。其他设计方法可能会产生更好的约束,例如我有一点对象角色建模的经验,这似乎工作得很好。

进一步的规范化应该只与约束结合考虑,因为 6NF 通常使约束更难以使用当今的工业强度技术来实现,例如,不支持标准 SQLCREATE ASSERTIONCHECK可能包含子查询的约束。

还要考虑正交设计(POOD)的原则