关系数据库的理论

概念

         元组

                 表中的一行就是一个元组。 

         候选码

                  若关系中的某一属性或属性组的值能唯一的标识一个元组,而其任何真子集都不能再标识,则称该属性组为(超级码)候选码。候选码(超级码)就是可以被选为主码的属性或属性组。当一个关系有N个属性或属性组可以唯一标识时,则说明该关系有N个候选码,可以选定其中一个作为主码。 

         主码

                 一个元组可以有多个候选码,我们选择一个候选码来表示元组,这个候选码就是主码。主码就是主关键字,主关键字(primary key)是表中的一个或多个字段,它的值用于惟一地标识表中的某一条记录。 

         主属性

                  候选码中的属性就是主属性,一个候选码可能包含多个主属性。 

         非主属性

                  一个元组不是候选码的属性就是非主属性。

 

函数

         描述

                 函数就是由一个X可以等到一个Y。  

         平凡函数和非平凡函数

                 平凡函数,属性A和属性B之间是一个自然的关系,归属拥有关系,就是属性A包含属性B。非平凡函数就是属性和属性之间没有什么关系,通过主键将他们联系在了一起。

         完全函数依赖和部分函数依赖

                  元组的主关键字如果有多个属性,如果,主关键字内的一个属性(只要是关键字的真子集就行)和其他非关键字的属性具有函数的关系,那么这种关系叫做部分函数依赖,简单点说部分函数依赖就是,主键中的部分属性可以唯一的推出某个非主属;如果关键字内的一个属性(同上)和其他非关键字的属性不具有函数的关系,那么这种关系叫做完全函数依赖。

                  只有当关键字是组合属性时,讨论部分函数依赖才有意义,当关键字是单属性时,表中只有完全函数依赖这一种关系。

 

         传递函数关系                  

                 简而言之:x—>y,y!—>x,y—>z,但是x!z。这个就是传递函数。

         小结 

                 我们在设计一个关系表的时候,表中的函数依赖关系越单一越好,如果一个表中存在多种函数关系,那么就有可能造成数据冗余、插入异常、删除异常或更新异常。关系模式有严格的函数关系,所以较科学,值得信赖。

                 

三范式

         第一范式

                  表中字段之间都是非平凡函数,不存在重复的列。

         第二范式

                  一个表中只有完全函数依赖关系,没有部分函数依赖关系。

         第三范式

                  消除传递依赖函数,就是说一个数据库表中字段不包含其他表中的字段

         第一范式和第二范式的目的

                  第一范式和第二范式的目的是一样的,就是一个表(或称为关系)只描述一个实体或者实体间的联系。减少表中属性之间的函数关系。

 

总结

         上面描述表中的属性间的函数关系只是一部分,还有其他的函数关系,范式以减少表中属性之间的函数关系为因,来确定新的范式,所以,范式也不只上面描述的3种,但我们一般用到第三3种范式就行了,注意:后一级范式的内容包含了上一级范式的内容。其他范式还有BC范式、第四范式和第五范式。范式是依据属性间的函数关系得出来,范式是一个标准,设计的依据。

         我们以函数(也就是数学)的角度证明了关系模型的科学性,这一点也是关系模型比层次模型、网状模型等模型好的地方。关系模型的数据库有了这些科学的理论基础后,完美的解决了数据插入异常、删除异常和更新异常。这也就是我们为什么要学习这些,为了就是通过运用这些理论设计出一个安全、高效和不出错的数据库。


后续

       第一范式:

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值