自考总结——数据库原理第三章

来源:互联网 发布:macbook 软件助手 编辑:程序博客网 时间:2024/05/03 09:58
 一:看宏观导图
   导图思路:整个第三章讲的关系模式设计理论,是设计好数据库的关键,通过模式规范化来解决数据的冗余度和一致性问题。所谓的冗余,是指一个数据被多次存储,而且这将导致操作异常(常见的有:插入、删除、修改的异常)。那么这些问题,又是由什么导致的呢?第一、数据依赖,包括多值依赖、函数依赖。第二:在设计ER模型的时候的不合理所导致,比如多值属性的处理不当。然后我们解决这些问题有一个总的原则:那就是,有冗余就分解它!(前提是:根据实际情况,按需分解,有时候我们需要权衡冗余和对数据库操作的复杂性。也就是说,分解关系模式有利也有弊)最后,我们设计好的关系模式用什么来评价呢? 范式就出现了。它是我们衡量关系模式优劣的标准。范式越高,数据的冗余就越少,其实,范式就是我们在分解关系模式过程中到达的不同标准,最基本的是1NF,常用3NF。

二:探细节
    1、函数依赖:(最基本、最重要)
        来龙去脉:书上说的那么绕,什么U 啊,什么 蕴含啊??%……¥¥,搞得人晕头转向的,其实它就是我们现实世界对于数据的约束规定而已!例如:有个关系模式包含了 ( 学号,系别,课程,系负责人,成绩),我们要求一个系只有一个负责人,一个学生只能在一个系别里,一个学生所上的一个课程只能有一个成绩等……,这些我们的规定就导致了属性之间产生了联系,这类联系我们就叫函数依赖。
        对比一下高中学习过的函数 F(x)=Y,我们就可以很清楚得认识到,所谓的函数依赖根本不是什么新鲜玩意儿!就是函数概念的一个表达而已。在 F(x)=Y 中,x 的值决定着Y的值,Y 的值由x决定,换句话Y的值依赖于x的取值 .换一个说法就是我们的书上所谓函数依赖的概念:x ,函数决定Y 等价 Y, 函数依赖于x 。(建议:这个地方,不太懂的同学,回到书上再看看例子!)
         由于,函数依赖用命题形式定义,所以我们可以进行逻辑推理,逻辑蕴含其实就是逻辑推理的结果,有3个主要的推理规则:自反、增广、传递),我们把这称之为推理规则集!除此之外,我们可根据这三条推导出其余五条(合并、分解、伪传递、复合、通用一致性)。最小依赖集,更好理解了,就是去掉冗余后的FD集合。满足三个条件,在最小依赖集中:1 本身没有冗余FD,2每个FD右边为单属性 ,3每个FD左边没有冗余属性
    2、关系模式分解
        来龙去脉:为什么要分解?很简单,因为有冗余,我们需要分解啊!而且,分解后可以存储悬挂元组!什么叫分解,一张表拆成两张或更多张表!怎么分解?两个要求:无损(从数据等价角度)、保持FD(函数依赖等价角度)。
        无损分解:指的是信息丢失,而非元组!如果不是无损分解,将产生错误信息,也就是所谓的寄生元组(额外元组)!
        保持FD:无法保持,则出现语义混乱!
    3、范式:实际上就是关系分解的过程!1NF是基本,从1到4范式越高数据冗余操作异常少!

三:小结
    细节没有按书上赘述,都是用简单语言的描述解释。但是,我认为非常有必要去书上理解!把现实生活中的知识,自己已有的知识融入到书本上去理解消化课本上看起来很晦涩很新鲜的东西!书上很多理论和证明,一遍两遍看不懂没关系,多看几遍自然而然就会明白了。没有懂不懂一说,也没有懂得多和少的之说。只是懂的晚和懂的早的事儿!书上难点,我们可以通过实例去理解,其实实例就是和我们的生活比较贴近的东西。最后,去做题吧!查漏补缺,学以致用!
0 0
原创粉丝点击