目录
一、基础理论
二、属性集的闭包
三、四类
四、例题
基础理论部分是我的异想天开,可跳过。
一、基础理论
数据库注重于研究关系,谈起关系,那么不得不提起《离散数学》,起初我认为求候选码的过程一定暗合《离散数学》中的五个关系性质,及自反性、反自反性、对称性、反对称性、传递性。如下图:
但我发现,对于属性能自己推出自己满足自反性之外,和另外四种关系无关了(失望.jpg)。
但是没有关系,反对称性定义为如果两个顶点(顶点看作属性)之间有边,一定是一条有向边(无双向边),那么我就开始异想天开了,只需要加上一句:这一条有向边的方向一定是候选码及其指向的其他属性指向其他属性,你也可以看作是对称性的前半部分定义。
候选码满足的性质完整定义为:候选码属性自己推出自己满足自反性;如果两个属性之间有边一定是一条有向边(无双向边),并且这一条有向边的方向一定是候选码和被候选码指向的其他属性指向其他属性,满足异想天开之反对称性,我称之为直传递性。
that's ok,都是我的异想天开。
二、属性集的闭包
其实与求候选码的方法一样,但是题目指定了属性。
传递函数依赖和直接函数依赖:
完全函数依赖和部分函数依赖:
三、四类
1.L类:如果属性A只在F中各个函数依赖的左端出现,则A一定是候选码中的属性。
2.N类:如果属性A不在F的各个函数依赖中出现,则A一定是候选码中的属性。
3.R类:如果属性A只在F中各个函数依赖的右端出现,则A一定不是候选码中的属性。
4.另外还有LR类属性。
解题过程并不规范