【数据库】求关系候选码与最小函数依赖集

本篇主要涉及几种题型:求解属性关于函数依赖集F的闭包、判断候选码求解最小函数依赖集、求解关系候选码下面对这几种题型逐一讲解

一.求解属性关于函数依赖集F的闭包

这种题型比较简单,简单说就是从自身集合出发,该属性能够在F中直接或者间接推出什么,就把什么加进去,这样的集合就是所谓的函数闭包,也就是把该属性以及它能推出的所有属性包括进去

例:已知关系模式R(U,F),U={A,B,C,D,E},F={AB→C,B→D,C→E,BE→A},求CE的闭包

刚说过求某个属性的闭包,是从自身出发,也就是这个集合最开始已经有{B,C},下面只需要看这两个属性还能往下推出什么,只要能推出新属性,就把它加进去。根据F中函数依赖,B能推D,就把D加进去,C又可以推E,把E再加进去,而BE又可以推出A,把A也加进去,AB又可以推C,但C已经有了,发现现在能推的都推出来了,最终结果就是{B,C,D,E,A}

二.判断属性或属性组是否为关系候选码

这种题也比较简单,首先我们从候选码定义入手:候选码是能唯一标识某一个元组,而它的真子集不能,在函数依赖里的定义也是类似的,也就是能推出所有属性,但它的真子集不能

所以,思路很明确,即对于单属性,直接判断它能否推出全部属性就行了,也就是求该属性的闭包,看是否为全集;而对于属性组,还要再求它的真子集的闭包,看是否不是全集U,如果有真子集闭包为全集,说明这个属性组不是候选码,应是超码

例:U={A,B,C,D,E},F={AB→C,B→D,C→E,CE→B,AC→B},判断属性组AB是否为候选码

先求解AB的F闭包,根据上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值