本次主要学习数据库关系模型规范化设计中涉及到的:
1、最小函数依赖集
2、闭包
3、候选键
一、求最小函数依赖集
步骤:
1、先将右边都变成单属性
2、依赖集中不能出现冗余的函数依赖(重复的函数依赖)
3、左边没有多余的属性
举个例子:
1.首先将右边都变成单属性,
A->BC,B->C,A->B,AB->C在这些函数依赖中只有A->BC右边不是单属性,所以A->BC,变成单属性就是A->B、A->C;
所以现在有以下这些函数依赖:
A->B,A->C,B->C,A->B,AB->C,去掉重复的A->B,现在的函数依赖为:A->B,A->C,B->C,AB->C
2.去掉冗余的函数依赖:
从A->B,B->C,可以推出A->C,所以去掉A->C,现在的函数依赖为:A->B、B->C、AB->C
3.左边没有多余的属性
从A->B、B->C、AB->C函数依赖中可以看出,左边有两个属性的是AB->C,又因为左边的属性中的B存在这样的关系B->C,所以A是多余的,因此删掉
所以最小的函数依赖集为:A->B、B->C
例2:
解答:
二、求闭包
例1:
解答:
例2:
解答:
三、求候选键
例1:
例2:
解答: