据我的Intro教授说。对于数据库理论,没有任何例子表明何时出现这种情况,考虑到理论的一个特定部分,这似乎有点奇怪。
我正在寻找的仅仅是第四范式的示例关系,并且可以执行第五范式分解。或者(可能更有可能)对此有一些了解(我的老师没有),如果它实际上不可能创造出来似乎几乎是自相矛盾的......
答案 0 :(得分:6)
来自“数据库系统简介”:
考虑一个表{供应商,零件,项目},其含义是指示的供应商将指示的零件提供给指定的项目。
如果对所有供应商sx的影响存在约束,则所有部分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)而不删除其他三个中的一个,那么将再次违反约束。