根据我在介绍中的教授。对于数据库理论,没有任何例子可以表明何时会出现这种情况,考虑到它是该理论的特定部分,这似乎有点奇怪。
我正在寻找的只是一个示例关系,它是第四范式,并且可以执行第五范式分解。或者(这可能更有可能)对此有一些见解(我的老师没有),如果实际上不可能创造出来,这似乎几乎是自相矛盾的......
根据我在介绍中的教授。对于数据库理论,没有任何例子可以表明何时会出现这种情况,考虑到它是该理论的特定部分,这似乎有点奇怪。
我正在寻找的只是一个示例关系,它是第四范式,并且可以执行第五范式分解。或者(这可能更有可能)对此有一些见解(我的老师没有),如果实际上不可能创造出来,这似乎几乎是自相矛盾的......
来自“数据库系统简介”:
考虑一个表 {supplier, part, project},其含义是指定的供应商将指定的部分提供给指定的项目。
如果对所有供应商 sx、所有部分 py 和所有项目 jz 的效果存在约束:
然后必须遵循供应商 sx 向项目 jz 提供部分 py。
假设这样的约束是有效的,那么三列的单表设计是 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) 而不删除其他三个行之一,那么将再次违反约束。