三范式简析

    最近在机房合作,由于要重新设计数据库需要再一次接触范式的知识,原来不是特别懂,现在有必要及时总结一下。


    范式作用:

        衡量关系模式的好坏,说白了就是评价关系模式的一个标准,尺子是用来衡量长度的,范式是用来衡量关系模式好坏的。


    1NF

        定义:关系模式R的每个关系r的属性值都是不可分的原子值(不能有多值属性或重复的列)。

        实例简析:

        

        上表不符合第一范式,因为出现了多值属性(学生、先修课都有多个值)


        改写为1NF

        


    2NF

        定义:关系模式是1NF且每个非主属性完全函数依赖于候选键。

        实例简析:

            R(学号,教工号,成绩,工资)

            其中学号、教工号为联合主键。

            其中

                  学号,教工号—>成绩

                  学号,工资—>工资

            但是

                  学号—>成绩

                  教工号—>工资

           所以,定义中完全函数依赖于候选键不成立(只是局部依赖)即不符合第二范式。

 

        改写为2NF

            R1(学号,教工号,成绩)

            R2(教工号,工资)

        R1、R2均符合2NF


    3NF

        定义:关系模式是1NF且每个非主属性都不依赖于R的候选键。

        实例简析:

            R(学号, 姓名, 年龄, 学院, 学院地点,学院电话)

            因为存在依赖传递:

                 学号 —> 学院 —> (学院地点, 学院电话)
           所以不符合3NF

        修改为3NF
            R1:(学号, 姓名, 年龄, 学院);
            R2:(学院, 地点, 电话)


    学习是一个反复的过程,在反复中加深理解。

        

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值