b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

系统概论 对于关系型,第一第二第三范式的理解?(4)

电脑杂谈  发布时间:2017-12-27 21:02:58  来源:网络整理

图4

这一步完成以后,可以得到,表3的码只有一个,就是(学号、课名)。

第二步:

主属性有两个:学号 与 课名

第三步:

非主属性有四个:姓名、系名、系主任、分数

第四步:

对于(学号,课名) → 姓名,有 学号 → 姓名,存在非主属性 姓名 对码(学号,课名)的部分函数依赖。

对于(学号,课名) → 系名,有 学号 → 系名,存在非主属性 系名 对码(学号,课名)的部分函数依赖。

对于(学号,课名) → 系主任,有 学号 → 系主任,存在非主属性 对码(学号,课名)的部分函数依赖。

所以表3存在非主属性对于码的部分函数依赖,最高只符合1NF的要求,不符合2NF的要求。

为了让表3符合2NF的要求,我们必须消除这些部分函数依赖,只有一个办法,就是将大数据表拆分成两个或者更多个更小的数据表,在拆分的过程中,要达到更高一级范式的要求,这个过程叫做”模式分解“。模式分解的方法不是唯一的,以下是其中一种方法:

选课(学号,课名,分数)

学生(学号,姓名,系名,系主任)

我们先来判断以下,选课表与学生表,是否符合了2NF的要求?

对于选课表,其码是(学号,课名),主属性是学号和课名,非主属性是分数,学号确定,并不能唯一确定分数,课名确定,也不能唯一确定分数,所以不存在非主属性分数对于码(学号,课名)的部分函数依赖,所以此表符合2NF的要求。

对于学生表,其码是学号,主属性是学号,非主属性是姓名、系名和系主任,因为码只有一个属性,所以不可能存在非主属性对于码 的部分函数依赖,所以此表符合2NF的要求。

图5表示了模式分解以后的新的函数依赖关系

<img src="https://pi.zhimg.com/50/2f4b4a887f6a61674a49d03d79e3fe17_hd.jpg" data-caption="" data-rawwidth="961" data-rawheight="467" class="origin_image zh-lightbox-thumb" width="961" data-original="https://pi.zhimg.com/2f4b4a887f6a61674a49d03d79e3fe17_r.jpg">

图5

表4表示了模式分解以后新的数据

<img src="https://pi.zhimg.com/50/44af74509a4e21372ed372be8560539d_hd.jpg" data-caption="" data-rawwidth="478" data-rawheight="314" class="origin_image zh-lightbox-thumb" width="478" data-original="https://pi.zhimg.com/44af74509a4e21372ed372be8560539d_r.jpg">


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-56344-4.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...