关系规范化真题

1,
在这里插入图片描述
一般来说,编号,名称中包含号的很可能是候选码,如果没有,ID也可能,姓名,名称等一般不作为候选码.只在其他的属性都明显不能选为候选码的时候,作为备选.
在这里插入图片描述
对于第四范式,我们可以写理由,对于关系R由于存在嵌入式的多值依赖,所以不满足第四范式.
在这里插入图片描述
在这里插入图片描述
做这种题首先就应该确定函数依赖集.然后再找候选码.

2,15年真题
第一问:候选码,不能选身份证号,因为从题中给的图来看,一张表放在数据库中,会有多行(因为有多个学历)所以身份证号会有重复的情况,但是毕业证书编号不会重复.
所以毕业证书编号作为唯一候选码.
并且身份证号可以决定姓名等信息,毕业证书编号直接决定学历,身份证号等信息,所以存在传递函数依赖.(注意这里的直接决定,因为函数依赖关系应该是直接决定的,而不是通过传递依赖的)

第二问,同样,企业编号决定不了联系人的信息.
这道题的主码应该是属性组.
但是这里,联系人也决定不了联系电话和电子邮箱.因为题目中,没有说联系电话是唯一的.可能联系人作为一个候选码不太好,但是这道题中也只能用联系人来作为候选码的一部分了.

3,20,21年真题

其中21年真题,需要注意,(日期,车牌号)是可以决定消毒人员工号的.
不可以将(日期,车牌号,消毒人员工号)作为主码.也可以说,对于多个属性的属性组应该特别注意,候选码不能有冗余的属性.

4,18年题

第一问,存在两者都为唯一主码的情况,这种情况下,就不存在递函数依赖,所以为BC范式
第二问,存在哪些问题,一般的答案是:存在数据冗余以及插入,删除,更新异常.

并且不属于第四范式的理由是:前面提到过的,存在嵌入式的多值依赖关系.

第三问,注意是医生的编号和姓名.不仅仅有编号

5,17,16,15,14
17年题,很简单,但是注意第二问分解之后的一个表是重复的可以不要.

16年题,注意有一个使用年份决定费用的函数依赖.

并且在写理由的时候,需要写:非主属性对候选码的部分函数依赖(是候选码,不是主码或主属性.)

15年题,注意,似乎(身份证号+学历)也可以作为候选码,但是题目中出现什么号,我们一般是这个号来作为主码,并且决定其他属性.
这里虽然说得通,但是有更好的选择.因为这里有毕业证书编号会决定学历,所以这种方法不好.

21年题,注意是存在非主属性对候选码的部分函数依赖,而不是对主码的.

17年题,注意如果分解之后的表,包含在已知的表中,就不需要写出来了.
16年题,注意第二问中的函数依赖是,使用年份决定费用,而车位编号和使用年份属性组决定其他的.

并且这里第一问也可以看出,并不是只要把函数依赖集化为表就可以了,还需要保留属性组之间的联系.

对于13年题,注意这里身份证号也是候选码.

并且对于第二小问,条码,记录了水果的信息,所以条码就可以决定销售单价等信息.

并且,这里知道水果信息就知道了导购员的信息.并不是由属性组决定的.

对于12年题,注意只有部分函数依赖,是不存在数据冗余问题的.

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值