规范化理论-模式分解
无损连接分解:指将一个关系模式分解成若干个关系模式后,通过自然连接和投影等运算仍能还原到原来的关系模式。
思考题:
有关系模式:成绩(学号,姓名,课程号,课程名,分数)
函数依赖:学号->姓名,课程号->课程名,(学号,课程号)->分数
若将其分解为:
成绩(学号,课程号,分数)
学生(学号,姓名)
课程(课程号,课程名)
问:判断该模式分解是无损分解还是有损分解
解:我们在做这种题目的时候,可以关系模式看成是一张表。
成绩(学号,课程号,分数,姓名)
由于有:课程号->课程名,所以:
成绩(学号,课程号,分数,姓名,课程名)
判断是不是无损连接,我们最常用的方式是表格法,只要有一行能写成a开头的就可以,说明该分解是无损连接分解。
判断是不是保持了函数依赖使用的是armtrong公理。例如;R1(ABC) 一定要看看这三个属性能不能从一边退出来,比如说,AB->C等等,只要有一边能推出来,就是保持函数依赖的。
总的来说:
保持无损连接和函数依赖的意思就是:拆分之后,原来关系模式中的属性是不能缺少的,原来的函数依赖关系也是不能缺少的,只有这样,我们才能说是,保持无损连接和函数依赖。两个分解我们使用的是交集法。两个以上的我们使用的表格法。
无损连接:就是拆分之后,原来的属性都还是能够推导出来的。
函数依赖:就是拆分之后,原来的函数依赖也都是能够推导出来的。
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· Blazor Hybrid适配到HarmonyOS系统
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· 解决跨域问题的这6种方案,真香!
· 分享4款.NET开源、免费、实用的商城系统
· 一套基于 Material Design 规范实现的 Blazor 和 Razor 通用组件库
2020-09-12 yum install gcc-c++
2019-09-12 接口-httpClient 以及HttpClient与CloseableHttpClient之间的区别