数据库求候选码的算法

【例1】关系模型R<U,F>,U={A,B,C,D},F={B→D,AB→C},求R候选码。

在求解之前先要明白一些定理。我们把函数依赖集中F中的属性分为四类: 

L类:所有依赖关系中仅出现在函数依赖左部的属性。

R类:所有依赖关系中仅出现在函数依赖右部的属性。

LR类:所有依赖关系中即出现在函数依赖左部又出现在函数依赖右部的属性。

N类:所有依赖关系中没有出现的属性。

定理一:对于给定的关系模式R及其函数依赖集F,若X(X∈U)是L类属性,则X必为R的任一候选码的成员。

定理二:对于给定的关系模式R及其函数依赖集F,若X(X∈U)是R类属性,则X不在任何候选码中。

定理三:对于给定的关系模式R及其函数依赖集F,若X(X∈U)是LR类属性,则X可能在候选码中。

定理四:对于给定的关系模式R及其函数依赖集F,若X(X∈U)是N类属性,则X必包含在R的任一候选码中。

 

第一步:先判断属性集U中所有属性属于哪一类。A仅出现在AB→C左边,属于L类。B仅出现在B→D左边和AB→C左边,属于L 类

评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值