挑战!!可以执行第五范式分解的有效第四范式关系的示例

时间:2010-11-09 02:32:08

标签: database database-design relational-algebra rdms

据我的Intro教授说。对于数据库理论,没有任何例子表明何时出现这种情况,考虑到理论的一个特定部分,这似乎有点奇怪。

我正在寻找的仅仅是第四范式的示例关系,并且可以执行第五范式分解。或者(可能更有可能)对此有一些了解(我的老师没有),如果它实际上不可能创造出来似乎几乎是自相矛盾的......

1 个答案:

答案 0 :(得分:6)

来自“数据库系统简介”:

考虑一个表{供应商,零件,项目},其含义是指示的供应商将指示的零件提供给指定的项目。

如果对所有供应商sx的影响存在约束,则所有部分py和所有项目jz:

  • 如果供应商sx提供部分py,AND
  • 供应商sx供应给项目jz,AND
  • part py用于项目jz,

然后它必须遵循供应商sx提供部分py到项目jz。

假设这样的约束生效,那么具有三列的单表设计是4NF,而不是5NF。

三栏设计的更新异常如下:

假设表有两行,(s1,p1,j2)和(s1,p2,j1)。如果我们插入行(s2,p1,j1)而不插入(s1,p1,j1),则会违反约束。

假设该表有四行,(s1,p1,j2),(s1,p2,j1),(s2,p1,j1)和(s1,p1,j1)。如果我们删除行(s1,p1,j1)而不删除其他三个中的一个,那么将再次违反约束。