欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

求关系模式中的候选键(软考,数据库)

程序员文章站 2022-05-13 12:03:01
...

求关系模式中的候选键,是软考中的考点,但视频中没有讲,所以得一提。 求闭包 给定关系模式R(U,F),U={A,B,C,D,E},F={B-A, D-A, A-E,AC-B},其属性AD的闭包为______. 解:设X(0)=AD,计算X(1):逐一扫描F集中的各个函数依赖,找左部是A、D、AD的函数

求关系模式中的候选键,是软考中的考点,但视频中没有讲,所以值得一提。


求闭包

给定关系模式R(U,F),U={A,B,C,D,E},F={B->A, D->A, A->E,AC->B},其属性AD的闭包为______. 解:设X(0)=AD,计算X(1):逐一扫描F集中的各个函数依赖,找左部是A、D、AD的函数依赖,得到A E。于是X(1)=X(0)∪EA=ADE。由于X(0)!=X(1),所以继续扫描,于是X(2)=X(1)∪EA=ADE。由于X(2)=X(1),所以算法到此为止,属性AD的闭包为X(2),即ADE。


求候选键

关系模式R(U,F),其中U={W,X,Y,Z},F={WX→Y,W→X,X→Z,Y→W}。关系模式R的候选建是__

解法:从函数依赖集出发,把所有属性分为3类
1、L类:全部出现在函数依赖的左半部
2、R:全部出现在函数依赖的右半部
3、LR:出现在函数依赖的左右两边


可能成为候选键的有L类,LR类
对于L类,求出它的闭包,若包含所有属性,则说明其为候选键。
对于LR类,求出其闭包,若包含所有属性,则为候选键;若不包含,再和LR类中的其他属性组合。
对于N类,直接加至候选键即可。

对于这道题
L:无
R:z
LR:w,x,y
先排除z
在LR中,w的闭包为{w,y,z,x}
x的闭包为{x,z}
y的闭包为{w,y,z,x}

所以,w和y为候选键。