多做题,通过考试没问题!

数据库应用技术

睦霖题库>大学试题(计算机科学)>数据库应用技术

假设有一个名为参加的关系,该关系有属性:职工(职工名)、工程(工程名)、时数(花费在工程上的小时数)和工资(职工的工资);一个参加记录描述一个职工花费在一个工程上的总时数和他的工资;另外,一个职工可以参加多个工程,多个职工可以参加同一个工程。请回答如下各问题:用A、B、C、D分别代表属性职工、工程、时数和工资,则: 1)确定这个关系的关键字; 2)找出这个关系中的所有函数依赖; 3)指出这个关系上的哪些函数依赖会带来操作异常现象; 4)这个关系是第几范式关系? 5)计算该关系上函数依赖集的最小覆盖; 6)将该关系分解成尽可能高的范式,并指明是第几范式?

正确答案: 1)AB
2)AB->C,A->D
3)D对关键字AB的部分函数依赖可能会带来如下问题:
数据冗余:一个职工参加多个工程,则职工的工资值会重复;
更新异常:当改变职工的工资时,可能会只修改了一部分,从而造成数据不一致;
插入异常:当一个职工尚未承担工程,但要插入职工信息(如工资)则不允许(因为没有完整的关键字);
删除异常:当某个工程结束,删除工程信息时,可能会将职工信息(如工资)一同删除(如果职工只参加了一项工程)。
4)2NF
5)Fm={AB->C,A->D}
6)分解为R1(A,B,C)和R2(A,D)
结果为4NF
答案解析:
进入题库查看解析

微信扫一扫手机做题