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

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

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

表4

(这里还涉及到一个如何进行模式分解才是正确的知识点,先不介绍了)

现在我们来看一下,进行同样的操作,是否还存在着之前的那些问题?

李小明转系到法律系

只需要修改一次李小明对应的系的即可。——有改进

数据冗余是否减少了?

学生的姓名、系名与系主任,不再像之前一样重复那么多次了。——有改进

删除某个系中所有的学生记录

该系的信息仍然全部丢失。——无改进

插入一个尚无学生的新系的信息。

因为学生表的码是学号,不能为空,所以此操作不被允许。——无改进

所以说,仅仅符合2NF的要求,很多情况下还是不够的,而出现问题的原因,在于仍然存在非主属性系主任对于码学号的传递函数依赖。系统概论为了能进一步解决这些问题,我们还需要将符合2NF要求的数据表改进为符合3NF的要求。

第三范式(3NF) 3NF在2NF的基础之上,消除了非主属性对于码的传递函数依赖。也就是说, 如果存在非主属性对于码的传递函数依赖,则不符合3NF的要求。

接下来我们看看表4中的设计,是否符合3NF的要求。

对于选课表,主码为(学号,课名),主属性为学号和课名,非主属性只有一个,为分数,不可能存在传递函数依赖,所以选课表的设计,符合3NF的要求。

对于学生表,主码为学号,主属性为学号,非主属性为姓名、系名和系主任。因为 学号 → 系名,同时 系名 → 系主任,所以存在非主属性系主任对于码学号的传递函数依赖,所以学生表的设计,不符合3NF的要求。。

为了让数据表设计达到3NF,我们必须进一步进行模式分解为以下形式:

系统概论答案pdf_系统概论_系统概论答案

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

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

系(系名,系主任)

对于选课表,符合3NF的要求,之前已经分析过了。

对于学生表,码为学号,主属性为学号,非主属性为系名,不可能存在非主属性对于码的传递函数依赖,所以符合3NF的要求。

对于系表,码为系名,主属性为系名,非主属性为系主任,不可能存在非主属性对于码的传递函数依赖(至少要有三个属性才可能存在传递函数依赖关系),所以符合3NF的要求。。

新的函数依赖关系如图6

<img src="https://pi.zhimg.com/50/5b20707ff3d9afb51ef7bfda726c3e34_hd.jpg" data-caption="" data-rawwidth="783" data-rawheight="388" class="origin_image zh-lightbox-thumb" width="783" data-original="https://pi.zhimg.com/5b20707ff3d9afb51ef7bfda726c3e34_r.jpg">

图6

新的数据表如表5

<img src="https://pic1.zhimg.com/50/8bca802bcff92a8945bf808d18d7ec62_hd.jpg" data-caption="" data-rawwidth="470" data-rawheight="419" class="origin_image zh-lightbox-thumb" width="470" data-original="https://pic1.zhimg.com/8bca802bcff92a8945bf808d18d7ec62_r.jpg">


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

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

    • 杨晓彦
      杨晓彦

      桃子桃子桃子好帅这首歌我已经循环了无数遍了很喜欢桃子加油

    • 梁雨
      梁雨

    • 庞利华
      庞利华

      加油小王子

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