数据库函数依赖与关键码的联系

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Fra bibliotek的严格定义与求解
f 定义:设K为关系模式R(U)的属性组,若K U, 则称K为R的 候选码。若候选码有多个,则选定一个为主码 。 f 说明: 1)KU , 即不存在K的真子集K’, 满足K’U。
2)什么是属性的闭包? 3)给定R(U)的FD集F,如何计算候选码? 对U的每个子集X,进行下列步骤: a) 计算的属性集闭包X+ b) 如果X+ = U, 且不存在X的真子集Y, 满足Y+ = U, 则X是候选码。
候选码: AB、BC、 BD
例:求候选键
已知:R(U), U=ABCD, F = {ABC, CD, DA}, 求候选码。 解:对U的所有子集,逐一计算属性集闭包: 一属性集: A+={ A } B+={ B } C+={ C , D , A } D+={ D , A }
例:求候选键
已知:R(U), U=ABCD, F = {ABC, CD, DA}, 求候选码。 解:对U的所有子集,逐一计算属性集闭包: 一属性集: A+={ A } B+={ B } C+={ C , D , A } D+={ D , A } 二属性集: (AB)+= { A , B , C , D } (AC)+ = { A , C , D } (AD)+ = { A , D } (BC)+ = { B , C , D , A } (BD)+ = { B, D, A , C } (CD)+ ={ C , D , A}
键的严格定义与求解
f 定义:设K为关系模式R(U)的属性组,若K U, 则称K为R的 候选码。若候选码有多个,则选定一个为主码 。 f 说明: 1)KU , 即不存在K的真子集K’, 满足K’U。
2)什么是属性的闭包? 设F是属性集U上的FD集,X是U的子集,则相对 于F属性集X的闭包X+ 表示,使用F中的规则能够推 出的所有满足XA的属性A的集合,即: X+ ={A | AU并且XA可由F推出} 属性集X闭包的计算方法: X+ =X; do { if F中有某个FD UV 满足U X+ then X+ = X+∪V ; } while (X+有改变)
例:求候选键
已知:R(U), U=ABCD, F = {ABC, CD, DA}, 求候选码。 解:对U的所有子集,逐一计算属性集闭包: 一属性集: A+={ A } B+={ B } C+={ C , D , A } D+={ D , A } 二属性集: (AB)+= { A , B , C , D } (AC)+ = { A , C , D } (AD)+ = { A , D } (BC)+ = { B , C , D , A } (BD)+ = { B, D, A , C } (CD)+ ={ C , D , A} 三属性集: (ABC)+不用考察 (ABD)+不用考察 (ACD)+ ={ A, C , D } (BCD)+不用考察 四属性集:不用考察
相关文档
最新文档