快速唯一求候选码的方
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
快速求唯一候选码的方法
• 首先对于给定的R(U)和函数依赖集F,可以将它 的属性划分为4类: L类,仅出现在F的函数依赖左部的属性。 R类,仅出现在F的函数依赖右部的属性。 N类,在F的函数依赖左部和右部均未出现的属性。 LR类,在F的函数依赖左部和右部两部均出现的 属性。 • 根据以下定理和推论来求解候选码。
• 定理1:对于给定的关系模式R及其函数依赖 集F,若X(X∈R)是L类属性,则X必为R的任一 候选码的成员。
• 推论1:对于给定的关系模式R及其函数依赖 集F,若X(X∈R)是L类属性,且X+包含了R的 全部属性,则X必为R的唯一候选码。
• 定理2:对于给定的关系模式R及其函数依赖 集F,若X(X∈R)关系模式R及其函数依赖集F,如 果X是R的N类属性,则X必包含在R的任一候 选码中。
• 推论2:对于给定的关系模式R及其函数依赖 集F,如果X是R的N类和L类组成的属性集,且 X+包含了R的有属性,则X是R的唯一候选码。
• 例:如设有关系模式R(U),其函数依赖集为F,其中: U={A,B,C,D,E}, F={A→C,C→A,B→AC,D→AC} 求R的候选码。 解:根据函数依赖可得: 属性B、D为L类,E为N类,因此属性B、D、E必为 候选码的成员,且此三个属性的闭 包:B+=ABC,(BD)+=ABCD,(BDE)+=ABCDE,根据 推论2可得BDE是R的唯一候选码。所以R的候选 码为BDE。 • 如果把例题中关系模式R(U)中的属性E去掉,那么 再求R的候选码的话可以根据推论1得出BD为R的 唯一候选码。
• 首先对于给定的R(U)和函数依赖集F,可以将它 的属性划分为4类: L类,仅出现在F的函数依赖左部的属性。 R类,仅出现在F的函数依赖右部的属性。 N类,在F的函数依赖左部和右部均未出现的属性。 LR类,在F的函数依赖左部和右部两部均出现的 属性。 • 根据以下定理和推论来求解候选码。
• 定理1:对于给定的关系模式R及其函数依赖 集F,若X(X∈R)是L类属性,则X必为R的任一 候选码的成员。
• 推论1:对于给定的关系模式R及其函数依赖 集F,若X(X∈R)是L类属性,且X+包含了R的 全部属性,则X必为R的唯一候选码。
• 定理2:对于给定的关系模式R及其函数依赖 集F,若X(X∈R)关系模式R及其函数依赖集F,如 果X是R的N类属性,则X必包含在R的任一候 选码中。
• 推论2:对于给定的关系模式R及其函数依赖 集F,如果X是R的N类和L类组成的属性集,且 X+包含了R的有属性,则X是R的唯一候选码。
• 例:如设有关系模式R(U),其函数依赖集为F,其中: U={A,B,C,D,E}, F={A→C,C→A,B→AC,D→AC} 求R的候选码。 解:根据函数依赖可得: 属性B、D为L类,E为N类,因此属性B、D、E必为 候选码的成员,且此三个属性的闭 包:B+=ABC,(BD)+=ABCD,(BDE)+=ABCDE,根据 推论2可得BDE是R的唯一候选码。所以R的候选 码为BDE。 • 如果把例题中关系模式R(U)中的属性E去掉,那么 再求R的候选码的话可以根据推论1得出BD为R的 唯一候选码。