主范式在计算机有什么应用,范式通俗版_计算机软件及应用_IT计算机_专业资料.ppt...

范式通俗版_计算机软件及应用_IT计算机_专业资料.ppt

数据库范式浅谈 李春雷 序言 序言 本文用较为直白的语言介绍范式,旨在便于理解和记忆,这样做可能会出现一些不精确的表述。 我写下这些的目的主要是为了加强 记忆,其实我也比较菜,我希望当我对一些概念生疏的时候,回过头来看看自己写的笔记,可以快速地进入状态。如果你发现其中用错误,请指正。 序言 数据库范式是数据库设计中必不可少的知识,没有对范式的理解,就无法设计出高效率、优雅的数据库。甚至设计出错误的数据库。而想要理解并掌握范式却并不是那 么容易。教科书中一般以关系代数的方法来解释数据库范式。这样做虽然能够十分准确的表达数据库范式,但比较抽象,不太直观,不便于理解,更难以记忆。 序言 基础知识 基础知识 要理解范式,首先必须对知道什么是关系数据库,如果你不知道,我可以简单的不能再简单的说一下:关系数据库就是用二维表来保存数据。 基础知识 基础知识 所谓范式,是关系型数据库关系模式规范化的标准,从规范化的宽松到严格,分别为不同的范式,通常使用的有第一范式、第二范式、第三范式及BC范式等。范式是建立在函数依赖基础上的。 基础知识 基础知识 函数依赖 定义:设有关系模式R U ,X和Y是属性集U的子集,函数依赖是形为X→Y的一个命题,对任意R中两个元组t和s,都有t[X] s[X]蕴t[Y] s[Y],那么FD X→Y在关系模式R U 中成立。X→Y读作慩函数决定Y挘驊Y函数依赖于X挕?  通俗的讲,如果一个表中某一个字段Y的值是由另外一个字段或一组字段X的值来确定的,就称为Y函数依赖于X。   函数依赖应该是通过理解数据项和企业的规则来决定的,根据表的内容得出的函数依赖可能是不正确的。 基础知识 基础知识 目前关系数据库有六种范式: 第一范式(1NF) 第二范式(2NF) 第三范式(3NF) 第四范式(4NF) 第五范式(5NF) BC范式(BCNF) 满足最低要求的范式是第一范式(1NF)。在第一范式的基础上进一步满足更多要求的称为第二范式(2NF),其余范式以次类推。一般说来,数据库只需满足第三范式(3NF)就行了。 第一范式(1NF) 第一范式 定义: 果关系模式R的每个关系r的属性都是不可分的数据项,那么就称R是第一范式的模式。简单的说,每一个属性都是原子项,不可分割。?NF是关系模式应具备的最起码的条件,如果数据库设计不能满足第一范式,就不称为关系型数据库。关系数据库设计研究的关系规范化是在1NF之上进行的。 第一范式 第一范式 第一范式(1NF):属性不可分。 第一范式 第一范式 那么它和属性值不可分有什么区别呢?给一个例子: name tel1 tel2 age 小李 1座机电话号码78 22 小张 1座机电话号码55 010-1234567 21 第一范式 第一范式 name tel age 移动电话 坐机 小李 1座机电话号码78 22 小张 1座机电话号码55 010-1234567 21 ID name age 001 小李 22 002 小张 21 ID 移动电话 坐机 001 1座机电话号码78 002 1座机电话号码55 010-1234567 第二范式(2NF) 第二范式 定义: 如果关系模式R是1NF,且每个非主属性完全函数依赖于候选键,那么就称R是第二范式。简单的说,第二范式要满足以下的条件:首先要满足第一范式,其次每个非主属性要完全函数依赖与候选键,或者是主键。也就是说,每个非主属性是由整个主键函数决定的,而不能由主键的一部分来决定。 第二范式(2NF) 第二范式 第二范式(2NF):符合1NF,并且,非主属性完全依赖于码。 听起来好像很神秘,其实真的没什么。一个候选码中的主属性也可能是好几个。如果一个主属性,它不能单独做为一个候选码,那么它也不能确定任何一个非主属性 第二范式(2NF) 第二范式 给一个反例: 我们考虑一个小学的教务管理系统,学生上课指定一个老师,一本教材,一个教室,一个时间,大家都上课去吧,没有问题。那么数据库怎么设计?(学生上课表) 学生 课程 老师 老师职称 教材 教室 上课时间 小明 一年级语文 上 大宝 副教授 《小学语文1》 101 14:30 第二范式(2NF) 一个学生上一门课,一定在特定某个教室。所以有(学生,课程)- 教室一个学生上一门课,一定是特定某个老师教。所以有(学生,课程)- 老师一个学生上一门课,他老师的职称可以确定。所以有(学生,课程)- 老师职称一个学生上一门课,一定是特定某个教材。所以有(学生,课程)- 教材一个学生上一门课

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值