1NF->2NF:消除非主属性对码的部分函数依赖
2NF->3NF:消除非主属性对码的传递函数依赖
3NF->BCNF:消除主属性对码的部分和传递函数依赖

例子:下面的依赖都是完全函数依赖:
(Sno,Cno)->Grade
Sno->Sdept
Sdept->Sloc
(Sno,Cno)->Teacher
(Sno,Teacher)->Cno
Teacher->Cno

Sno:学号 Cno:课程号 Sdept:院系 Sloc:地址 Teacher:授课教师

2NF:
S-L-C(Sno,Sdept,Sloc,Cno,Grade)
主码:(Sno,Cno),上面的模式不满足2NF,可以如下进行拆分:
(Sno,Cno,Grade) (Sno,Sdept,Sloc)

3NF:
S-D-C(Sno,Sdept,Sloc)
主码:Sno
上面的模式不满足3NF,可以如下进行拆分
(Sno,Sdept) (Sdept,Sloc)

BCNF:
SCT(Sno,Cno,Teacher)
候选码:(Sno,Teacher),(Sno,Cno)
上面的模式不满足BCNF,可以进行如下拆分:
(Sno,Teacher)
(Teacher,Cno)

转载于:https://www.cnblogs.com/shawnliu/archive/2008/03/05/1091881.html

数据规范化理论(2NF,3NF,BCNF)[zz]相关推荐

  1. 数据库规范化 (1NF, 2NF, 3NF, BCNF)

    先记录几个概念 超键: 超键类似主键, 通过"超键", 我们可以一次性定位到某一条准确的数据上; 候选键: 候选, 即"主键"的候选; 超键是可以由多个属性来组 ...

  2. 数据库范式解析(1NF 2NF 3NF BCNF)

    数据库设计范式是关系型数据库的设计准则.其目的在于通过规划设计使得数据库结构合理,尽量减少数据冗余,消除存储异常,方便数据的插入.更新和删除操作.目前常用范式包括1NF(第一范式).2NF(第二范式) ...

  3. 【数据库】范式理解:1NF,2NF,3NF,BCNF,4NF详析

    数据库入门(一)范式理解:1NF,2NF,3NF,BCNF,4NF详析 引言 范式种类 第一范式(1NF) 符合1NF的关系中的每个属性都不可再分 存在问题 第二范式(2NF) 在1NF基础上消除了非 ...

  4. 【转】关系型数据库的设计范式 1NF 2NF 3NF BCNF

    本文转载自:https://www.cnblogs.com/langdashu/p/5924082.html 一.缘由: 要做好DBA,就要更好地理解数据库设计范式.数据库范式总结概览: 为了更好地理 ...

  5. 1NF,2NF,3NF,BCNF

    消除部分依赖,可以从1NF转换为2NF 消除函数依赖,可以从2NF转换为3NF BCNF 在3NF基础上,消除主属性对键的部分依赖,传递依赖,则称它符合BCNF 关系模式R<U,F>中,对 ...

  6. 数据库六种范式详解(1NF/2NF/3NF/BCNF/4NF/5NF)

    目录 数据库的基本概念 函数依赖 函数依赖的定义 函数依赖与属性的关系 六种范式 第一范式(1NF) 第二范式(2NF) 第三范式(3NF) 巴斯-科德范式(BCNF,Boyce-Codd Norma ...

  7. 关系数据库范式(1NF, 2NF, 3NF, BCNF)基本概念

    定义:符合某一种级别的关系模式的集合,表示一个关系内部各属性之间的联系的合理化程度. 关系模式的范式主要有4种,即第一范式(1NF).第二范式(2NF).第三范式(3NF)和BCNF范式.满足这些范式 ...

  8. 数据库范式1NF 2NF 3NF BCNF

    设计范式(范式,数据库设计范式,数据库的设计范式)是符合某一种级别的关系模式的集合.构造数据库必须遵循一定的规则.在关系数据库中,这种规则就是范式.关系数据库中的关系必须满足一定的要求,即满足不同的范 ...

  9. 数据库范式(1NF 2NF 3NF BCNF)详解

    数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的.结构明晰的,同时,不会发生插入(insert).删除(delete)和更新(update)操作异常.反之则是乱七八糟,不仅给 ...

最新文章

  1. ASP.NET MVC上传文件----uploadify的使用
  2. mysql为int类型的字段php取出来之后为何变为string类型?
  3. 字符指针,字符数组,双引号的字符串的区别与联系
  4. unix网络编程 ubuntu下搭建环境编译源码
  5. PostgreSQL和Excel的数据合并
  6. 用jdbc连接各数据库驱动
  7. 温商机器人企业_7家温商企业上榜“中国企业500强”
  8. C/C++基础面试-Sizof的全面理解
  9. UVA 11992 - Fast Matrix Operations(段树)
  10. MySql8.0.11的安装与使用
  11. azure机器学习_Azure机器学习中的预测
  12. np.expand_dims
  13. 大数据智能运维平台方案-1
  14. 数智学习 | 一文读懂数据安全分类分级
  15. centos7.4运行hyperLedger fabric 1.3.0 first network
  16. 止咳绝招 献给身边咳嗽的人
  17. ubuntu16.04编译ORBSLAM2问题解决
  18. ICMP协议及报文格式
  19. GBDC2017全球大数据峰会
  20. Android开发 软键盘的右下角变为搜索按钮

热门文章

  1. python全栈脱产第25天------组合、多态、封装、property装饰器
  2. An Edge-Guided Image Interpolation Algorithm via Directional Filtering and Data Fusion【翻译】
  3. 如何把更改后的dll图标还原回来?
  4. linux dmesg命令参数及用法详解(linux显示开机信息命令)
  5. 实现困境突破:中小企业家的三项修炼
  6. Android .classpath文件的作用
  7. Binder相关面试总结(五):为什么Activity间传递对象需要序列化
  8. 算法------最接近的三数之和
  9. Mysql中(@i:=@i+1)的作用
  10. 项目四-用循环求(2)