规范化理论-模式分解
无损连接分解:指将一个关系模式分解成若干个关系模式后,通过自然连接和投影等运算仍能还原到原来的关系模式。
思考题:
有关系模式:成绩(学号,姓名,课程号,课程名,分数)
函数依赖:学号->姓名,课程号->课程名,(学号,课程号)->分数
若将其分解为:
成绩(学号,课程号,分数)
学生(学号,姓名)
课程(课程号,课程名)
问:判断该模式分解是无损分解还是有损分解
解:我们在做这种题目的时候,可以关系模式看成是一张表。
成绩(学号,课程号,分数,姓名)
由于有:课程号->课程名,所以:
成绩(学号,课程号,分数,姓名,课程名)
判断是不是无损连接,我们最常用的方式是表格法,只要有一行能写成a开头的就可以,说明该分解是无损连接分解。
判断是不是保持了函数依赖使用的是armtrong公理。例如;R1(ABC) 一定要看看这三个属性能不能从一边退出来,比如说,AB->C等等,只要有一边能推出来,就是保持函数依赖的。
总的来说:
保持无损连接和函数依赖的意思就是:拆分之后,原来关系模式中的属性是不能缺少的,原来的函数依赖关系也是不能缺少的,只有这样,我们才能说是,保持无损连接和函数依赖。两个分解我们使用的是交集法。两个以上的我们使用的表格法。
无损连接:就是拆分之后,原来的属性都还是能够推导出来的。
函数依赖:就是拆分之后,原来的函数依赖也都是能够推导出来的。