我有这些数据需要放入第 3 和第 4 范式。
我了解范式的基础知识,但我对第 3 和第 4 范式感到困惑,我在网上查过但仍然不明白。
我正在创建一个系统正在使用的数据库。
我有这些数据需要放入第 3 和第 4 范式。
我了解范式的基础知识,但我对第 3 和第 4 范式感到困惑,我在网上查过但仍然不明白。
我正在创建一个系统正在使用的数据库。
4NF 中的关系也在 BCNF、3NF 和较低的 NF 中。
从 这个答案:
超级键是一组唯一标识行的列。
候选键是唯一标识行的一组列,并且不包含唯一标识行的列的较小(“适当”)子集。
所以候选键是一个不包含更小的超键的超键。
多值依赖(MVD) X ->> Y 保存在具有属性集 R 的表(即具有该 MVD 的表)中,当该表可以表示为两个表的连接时,该表是其在属性集 XUY 上的投影和徐(R - Y)。(因为 MVD 是二元连接依赖项 (JD))。
来自维基百科:
一个平凡的多值依赖 X ->> Y 是其中 Y 是 X 的子集,或者 X 和 Y 一起形成关系的整个属性集的依赖。
一个表在 4NF 中当且仅当,对于它的每一个非平凡的多值依赖项 X ->> Y,X 是一个超键——也就是说,X 是一个候选键或其超集。
每个表都有一个谓词,即由表的属性名称参数化的语句模板,其中表中的行是通过将谓词中的属性名称替换为行中的相应属性值来做出真实陈述的行。MVD X ->> Y 在表中成立,当它的谓词P可以改写为:
FOR SOME values for the attributes not in XUY, P
AND FOR SOME values for the attributes not in XU (R - Y), P
因此,让表的含义成为 CK、超级键和 MVD 的指南。从 BCNF 规范化到 4NF:如果一个非平凡的 MVD X ->> Y 不是超键,那么用它在 XUY 和 XU (R - Y) 上的投影替换表;在新桌子上重复。