数据库范式问题

数据库范式问题,第1张

答案是B,2NF。

S->D,D->M表示依赖关系,表示D依赖于S,尔M依赖于D,这表示M与S之间有传递依赖关系。

我们知道3NF是在2NF的基础上消除了传递依赖,2NF在1NF的基础上消除了部分依赖。

具体实例看我的另一个回答:

>

3NF的分解,不存在传递和部分依赖的分机。

第一个表:工号(主键),姓名,工种(外键),车间(外键)。

第二个表:车间(主键),车间主任。

第三个表:工种(主键),定额。

第四个表:工号,时间(两个组合为主键),超额。

原来的那个表的超额的值根据什么来计算的,我假定的是它是根据时间和工号两个因素决定。定额我假定是根据工种来决定。

设计数据库关键是要满足第三范式

(1)一个单元格只能一个数据

(2)需要有非复合的主键

(3)不能有和非主键有直接关系的键

就这三个条件分析:

(1)书名-书作者要拆分成另一个表

(2)书号-书名为复合主键,需要拆分

(3)出版社地址,负责人,负责人电话号码和出版社名称(非主键)有直接关系,需要拆分负责人的电话又和负责人有直接关系,继续拆分

这样拆成5个表(实际设计时,其实并不需要3NF这么精细!这只是做题时的设计):

书号_书名:(书号#,书名)

书号_书作者:(书号#,书作者)

书(书号#,书类别,出版社名称)

出版社(出版社名称#,出版社地址,出版社负责人)

负责人(出版社负责人#,出版社负责人电话号码)

属性:一个属性只要在任何一个候选码中出现过,这个属性就是主属性。

非主属性:与上面相反,没有在任何候选码中出现过,这个属性就是非主属性。

所以 此时的主属性是:H,L,I,J。 非主属性是:K

范式的判断:

第一范式(1NF)无重复的列 ‍属性不可分

第二范式(2NF)属性完全依赖于主键[消除非主属性对主码的部分函数依赖] 符合1NF,并且,非主属性完全依赖于码

第三范式(3NF)属性不依赖于其它非主属性[消除传递依赖] 符合2NF,并且,消除传递依赖

‍ BC范式(BCNF):符合3NF,并且,主属性不依赖于主属性

由于存在 J->K,所以K部分依赖于候选码(IJ),所以不满足第二范式。所以该模式只属于第一范式。

首先来分析数据库规范化的三范式 1、第一范式:没有重复冗余的列。 首先a/b/c不是重复列 符合第一范式 2、第二范式:去除不依赖于主键的列,确保关系中的所有信息都是关于一个实体的。 其次a和b是主键 c依赖于a和b,就是说非主属性依赖于主键,完全符合第二范式 3、去除不属于该表的数据,消除表中传递依赖的列和完全依赖于外键的列。 a/b/c间不存在传递依赖,而是非主属性完全依赖于主键的,所以符合第三范式 补充: 第四范式是多值依赖 第五范式是联接依赖

以上就是关于数据库范式问题全部的内容,包括:数据库范式问题、求解数据库范式简单题目、数据库关系范式的例题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9420310.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存