数据库关系运算范式分解例题

数据库关系运算范式分解例题_第1张图片

一、

1.假设A能推B:那么每个A1所对应的B的属性值应该一样,由于B的第一行和第三行分别是B1和B3,故A不能推B。
2.假设A能推C:那么每个A1所对应的C的属性值应该一样,由于C的第一行和第三行分别是C1和C2,故A不能推C。
3.假设A能推D:那么每个A2所对应的D的属性值应该一样,由于D的第四行和第五行分别是D1和D2,故A不能推D。

二、

对B和C和D,以及AB,AC,AD,BC,BD分别作上述假设,
发现只存在C推D,AB推C,AB推D三种关系,
那么主键为AB
由于没有非主属性部分依赖于主属性(即非主属性们均完全依赖于主属性),故为2NF
从C推D,AB推C里,得知非主属性D传递依赖于主属性AB(尽管AB可以直接推D,这里仍存在传递依赖),则消除该传递依赖即可满足3NF。
分为**R1(ABC),R2(CD)**即可。

你可能感兴趣的:(笔记,数据库)