我有这些数据需要放入第3和第4范式。
我理解普通表格的基本知识,但我与第3和第4范式相混淆,我已经在网上查了一下,但仍然不了解。
我正在创建一个供我的系统使用的数据库。
答案 0 :(得分:0)
4NF中的关系也在BCNF,3NF和较低的NF中。
来自this answer:
超级键是一组唯一标识行的列。
候选键是一组唯一标识行和列的列 它不包含唯一的小(“适当”)列子集 识别行。
所以 候选键是一个超级密钥,不包含任何较小的超级密钥。
A multi-valued dependecy(MVD)X - >>当表可以表示为属性集X U Y和X U(R-Y)上的两个表的连接时,Y保持在具有属性集R的表(即具有该MVD的表)中。 (因为MVD是二进制join dependency(JD))。
来自Wikipedia:
微不足道的多值依赖关系X - >> Y是其中之一 Y是X的子集,或者X和Y一起形成整个集合 关系的属性。
当且仅当对于每个非平凡的表格时,表格在4NF中 多值依赖关系X - >> Y,X是超级钥匙 是,X是候选键或其超集。
每个表都有一个谓词,即由表的属性名参数化的语句模板,其中表中的行是通过替换谓词中的属性名来生成true语句的行通过行中相应的属性值。 MVD X - >> Y在其表达式 P 可以改写为:
时保留在表中
对于不在X U Y中的属性的某些值, P
AND对于不在X U(R - Y), P
因此,让您的表格成为您对CK,超级密钥和MVD的指导。为了从BCNF归一化到4NF:如果非平凡的MVD X - >> Y不是超级密钥,然后用X U Y和X U(R - Y)上的投影替换表格;重复新表格。