西安有几家做网站,wordpress 安卓 管理系统,赣州吾往矣网络科技有限公司,网站免费一、键码的定义
首先我们给出 键码的定义 如下 定义#xff1a;已知 RU,F 是属性集 U 的关系模式#xff0c;F是属性集 U 上的一组函数依赖#xff0c;设 K 为 RU,F 中的属性或属性组合#xff0c;若K ⇒ U - K 且 K 的任何真子集都不能决定 U#xff0c… 一、键码的定义
首先我们给出 键码的定义 如下 定义已知 RU,F 是属性集 U 的关系模式F是属性集 U 上的一组函数依赖设 K 为 RU,F 中的属性或属性组合若K ⇒ U - K 且 K 的任何真子集都不能决定 U则 K 为R的键码 然后大家还要记住的一个东西就是【超键码】它是 “键码的超集” 的简称。 当一个属性集中出现多个键码的时候就选定其中的一个作为 主键码 包含在任何一个键码中的属性称为 主属性不包含在任何一个键码中的属性称为 非主属性最简单的情况 —— 单个属性是键码最极端的情况 —— 整个属性组合是键码称为 全码可不是全马哦
例1考虑关系模式人身份证号姓名性别住址出身年月且有函数依赖集
F {
身份证号 ⇒ 姓名性别住址出身年月,
姓名住址⇒ 身份证号住址出身年月
}从上面的这个关系模式我们可以看出如果对于 公安部分 而言它可以选身份证号作为主键码用身份证号作为人的唯一标识对于 邮电部门 而言它选姓名住址作为主键码用姓名和住址作为投递信件的唯一标识 在上面的模式中身份证号姓名住址 这三个为【主属性】性别出身年月 为【非主属性】 下面我们再来看一个 全码 的例子 例2考虑关系模式R演奏者作品听众
为什么说这个关系模式为全码呢因为三个属性都可以作为键码试想 一个演奏者可以演奏多个作品一个作品也可以被多个演奏者所演奏观众也可以欣赏不同演奏者的不同作品 那么这三个属性就都得被定义成为键码了即 全码
二、闭包的计算 有了【键码】的一些知识后我们就可以来学习一下 闭包 这个东西了 首先我们来讲讲闭包的基本概念
假设 A {A1, A2, A3,…, An}是属性集F是函数依赖集。属性集A在函数依赖集F下的闭包是这样的属性集X那么A1A2An ⇒ X是蕴含于F中的函数依赖。此时我们就可以用{A1, A2, An} 来表示属性集A1A2…An的闭包
然后我们来看闭包的计算规则
属性集X终将成为闭包。首先将X初始化为{A1, A2, …, An}然后反复检查某个函数依赖B1B2...Bm ⇒ C使得所有B1B2...Bm 都在属性集X中但是C不在其中于是将C加到属性集X中l根据需要多次重复步骤2直到没有属性能加到X中。由于X是只增的而任何关系的属性数目必然是有限的因此最终再也没有属性可以加到X中最后得到的不能再增加的属性集X就是{A1, A2, …, An} 的正确值 看完了闭包的计算规则我们马上来实战演练一下吧 例3让我们来考虑一个关系R(A, B, C, D, E, F)其函数依赖集为F {AB ⇒ CBC ⇒ ADD ⇒ ECF ⇒ B}试计算 {A, B} 的闭包{A, B} 例4已知关系模式R(A, B, C, D)其函数依赖集为F {AB ⇒ CC ⇒ DD ⇒ A}求蕴含于给定函数依赖的所有非平凡函数依赖和键码 例5若R(A, B, C, D, E)其函数依赖集为F {AB ⇒ C, B ⇒ D, D ⇒ E, C ⇒ B}试求关系模式R的键码 那么通过这三道例题的讲解相信读者一定了解了闭包是如何地去进行计算的
三、总结与提炼 最后我们来总结一下本文所学习的内容 首先的话我们学习了 键码的定义了解到了键码是什么东西。在有这个的基础上我们又学习了 闭包的计算清楚计算规则之后再通过三道例题的详细讲解相信读者一定对这个知识点有了一定的认识