候选码
可以区分不同元组的属性集的集合---一堆子可以作为主码使用的属性集的集合
主码
可以区分不同元组的属性集
主属性
主码的真子集
关系模式
一个表即为一个关系模式
部分函数依赖
非主属性依赖主码的一部分---同第二范式
完全函数依赖
非主属性完全依赖主码---同第二范式
传递函数依赖
非主属性传递依赖主码---同第三范式
平凡函数依赖
主属性依赖于主码
非平凡函数依赖
非主属性依赖于主码
主键和外来键
主键同主码---外来键是非主属性,但是是别的关系模式的主码
闭包
由现有关系,通过离散数学知识进行扩充,达到的所有关系,即为闭包
胳膊粗定理,逻辑蕴含---看得出来但是没有写出来
自反律:若Y⊆X⊆U, 则X→Y被F逻辑蕴涵
增广律:若X→Y∈F, 且Z⊆U, 则XZ→YZ被F逻辑蕴涵
传递律:若X→Y∈F, 且Y→Z, 则X→Z被F逻辑蕴涵
合并律:若X→Y且X→Z, 则X→YZ
分解律:若则X→YZ,则有X→Y以及X→Z
伪传递律:若X→Y且WY→Z, 则XW→Z
最小函数依赖集
去掉一个关系,使得这个关系怎么求闭包都达不到原来那样完整
最小函数依赖集算法
第一步:使F中的任何一个函数依赖的右部仅含有一个属性;
第二步:去掉多余的函数依赖。
--从第一个函数依赖X→Y开始将其从F中去掉,然后在剩下的函数依赖中求X的闭包X+,看X+是否包含Y,若是,则去掉X→Y;否则不能去掉,依次做下去。直到找不到冗余的函数依赖;
第三步:去掉各依赖左部多余的属性。
--一个一个地检查函数依赖左部非单个属性的依赖
求解候选码基本算法的具体步骤
第1步:求关系模式R<U,F>的最小函数依赖集F;
第2步:将属性分类为UL,UR,UB;(UL表示仅在函数依赖集中各依赖关系式左边出现的属性的集合;UR表示仅在函数依赖集中各依赖关系式右边出现的属性的集合;另记UB=U-UL-UR)
第3步:计算候选码✓若UL≠Φ,则其中的所有属性都是主属性,计算UL的闭包
若UL+=U,则UL为R的唯一的候选码;
若UL+≠U,转第4步
第4步:将UL依次与UB中的属性组合,并分别计算闭包UL+
✓若UL+=U,则UL中的属性集就是一个候选码;
✓若UL+≠U,转第4步,直至UB中的所有属性处理完