数据库sql 2
1. 分解为两个关系模式的判别:
若(R1∩R2)---->(R1-R2)|(R2-R1),则p={R1,R2}为 **无损连接分解 **
2. 保持函数依赖:
在函数依赖集中的元素都能在新的关系模式集中得到蕴含,则称是关系保持函数依赖分解
3.最小函数依赖:
1.将f中的所有函数依赖的右边化为单一属性
去掉函数依赖左边的冗余
去掉所有冗余的函数依赖
4. 候选码的求法:
- 只在左部出现的属性一定存在于某候选码中
- 只在右部出现的属性 不属于候选码
- 外部(N)一定存在于候选码当中
- 其他属性(LR)与2,3的属性结合求闭包,直至x的闭包等于U,这X为候选码
5.范式

6.完全函数依赖、部分函数依赖和传递函数依赖
完全依赖: 通过{学生学号, 选修课程名}可以得到{该生本门选修课程的成绩},而通过单独的{学生学号}或者单独的{选修课程名}都无法得到该成绩,则说明{该生本门选修课程的成绩}完全依赖于{学生学号,选修课程名}
部分函数依赖: 通过{学生学号,课程号}可以得到{该生姓名},而通过单独的{学生学号}已经能够得到{该生姓名},则说明{该生姓名}部分依赖于{学生学号,课程号}; 又比如, 通过{学生学号,课程号}可以得到{课程名称},而通过单独的{课程号}已经能够得到{课程名称},则说明{课程名称}部分依赖于{学生学号,课程号}。(部分依赖会造成数据冗余及各种异常。)
传递函数依赖: 在关系R(学号,宿舍,费用)中,通过{学号}可以得到{宿舍},通过{宿舍}可以得到{费用},而反之都不成立,则存在传递依赖{学号}->{费用}。(传递依赖也会造成数据冗余及各种异常。)