数据库123范式通俗说明

编程入门 行业动态 更新时间:2024-10-08 20:35:37

数据库123<a href=https://www.elefans.com/category/jswz/34/1756719.html style=范式通俗说明"/>

数据库123范式通俗说明

数据库范式就是存储一个系列信息时,设计数据库字段关系所需要的的规范。这并不是指的数据类型的规范,而是字段之间的关系和各个table之间的关联和外键。可以分为第一范式、第二范式、第三范式、Boyce-Codd范式、第四范式和第五范式。
满足最低要求的范式是第一范式。在第一范式的基础上进一步满足更多要求的称为第二范式,其余范式以次类推。一般说来,数据库只需满足第三范式就行了。
第一第二第三范式晦涩难懂的定义如下:
第一范式:当关系模式R的所有属性都不能再分解为更基本的数据单位时,称R是满足第一范式,即属性不可分 ;
第二范式:如果关系模式R满足第一范式,并且R得所有非主属性都完全依赖于R的每一个候选关键属性,称R满足第二范式 ;
第三范式:设R是一个满足第一范式条件的关系模式,X是R的任意属性集,如果X非传递依赖于R的任意一个候选关键字,称R满足第三范式,即非主属性不传递依赖于键码 。
对应实际的表格第一第二第三范式如下:

  1. 第一范式
    数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值。同一个字段所表示的数据信息明确。

    如上图所示,每个字段表意明确,若将家庭电话、工作电话、手机归并为一个字段(联系方式),则该字段表意不明。

  2. 第二范式
    在满足第一范式的基础上,实体的每个非主键属性完全函数依赖于主键属性(消除部份依赖)。
    依赖:对于X的每个值,Y都有一个值与之对应,反过来则不一定不成立。
    部份依赖:当主键由两个或两个以上字段构成,而表中的某些信息通过主键的一个字段就能唯一确定,我们称这样的依赖关系为部分依赖。

    以表中的学号和课程号作为联合主键,但是 表中的姓名、专业通过主键中的学号就能唯一确定,而课程名通过课程号唯一确定,这就产生了部分依赖。
    这样会导致

    1. 数据冗余
    2. 增删改会出现问题,比如有一门《操作系统》没有人选,那么由于缺少学号(主键之一)那么这门课就不能出现在表里。
      解决方法:通过将表分解的方法
  3. 第三范式
    必须先满足第二范式,要求:表中的每一列只与主键直接相关而不是间接相关,(表中的每一列只能依赖于主键)


如上图所示,这是符合第二范式的,但是宿舍电话可以由宿舍号确定,也有系号–>决定系名。那么我们同样可以用关系分解的分解的方法来消除传递依赖,将这张表分成三张表。

更多推荐

数据库123范式通俗说明

本文发布于:2024-03-23 19:23:23,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1741874.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:范式   通俗   数据库

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!