1NF,2NF,3NF,BCNF范式(学习笔记)
前言:2NF必须在1NF的前提下,3NF必须在2NF的前提下,如果前提都不满足当然不是此阶级范式
1NF
只需要满足:在数据库表中每一个属性(列)都不可以再进行拆分(记住它就行)
例如 学生姓名就不可以再进行拆分(即是不能表中有表)
2NF
在满足1NF的前提下,每一个非主属性都完全依赖于任何一个候选码
完全依赖
Sno:学号
Sname:学生姓名
Cno:课程号
Grade:学生成绩
Sdept:系
Mname:系主任名
例如(Sno,Cno)->Grade
此时,必须由Sno和Cno共同出现,才能决定Grade
部分依赖:
例如(Sno,Cno)->Sdept
此时,Sno和Cno,任何一个都可以找到Sdept
候选码:
例如A->B,B->C则说明A是候选码,因为没有人可以决定A,所以他是候选码
例如(A,B)-C,C-A,则(A,B)和(C,B)都可以做为候选码,(C,B)是因为C可以决定A所以可以替换
总结:(无人能决定它的,他就是候选码,多的,则应该加在一起写)
3NF
在满足2NF的基础上,非主属性无传递函数依赖即可
函数传递:
例如Sno->Sdept,Sdept->Mname
则推出Sno->Mname
BCNF(在3NF的基础上所有的属性都满足无传递即可,函数传递上面已经介绍)
1NF,2NF,3NF,BCNF范式(学习笔记)相关推荐
- 【数据库】范式理解:1NF,2NF,3NF,BCNF,4NF详析
数据库入门(一)范式理解:1NF,2NF,3NF,BCNF,4NF详析 引言 范式种类 第一范式(1NF) 符合1NF的关系中的每个属性都不可再分 存在问题 第二范式(2NF) 在1NF基础上消除了非 ...
- 数据库范式解析(1NF 2NF 3NF BCNF)
数据库设计范式是关系型数据库的设计准则.其目的在于通过规划设计使得数据库结构合理,尽量减少数据冗余,消除存储异常,方便数据的插入.更新和删除操作.目前常用范式包括1NF(第一范式).2NF(第二范式) ...
- 数据库范式1NF 2NF 3NF BCNF
设计范式(范式,数据库设计范式,数据库的设计范式)是符合某一种级别的关系模式的集合.构造数据库必须遵循一定的规则.在关系数据库中,这种规则就是范式.关系数据库中的关系必须满足一定的要求,即满足不同的范 ...
- 数据库范式(1NF 2NF 3NF BCNF)详解
数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的.结构明晰的,同时,不会发生插入(insert).删除(delete)和更新(update)操作异常.反之则是乱七八糟,不仅给 ...
- 【转】关系型数据库的设计范式 1NF 2NF 3NF BCNF
本文转载自:https://www.cnblogs.com/langdashu/p/5924082.html 一.缘由: 要做好DBA,就要更好地理解数据库设计范式.数据库范式总结概览: 为了更好地理 ...
- 关系数据库范式(1NF, 2NF, 3NF, BCNF)基本概念
定义:符合某一种级别的关系模式的集合,表示一个关系内部各属性之间的联系的合理化程度. 关系模式的范式主要有4种,即第一范式(1NF).第二范式(2NF).第三范式(3NF)和BCNF范式.满足这些范式 ...
- 数据库范式(1NF 2NF 3NF BCNF)详解一
数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的.结构明晰的,同时,不会发生插入(insert).删除(delete)和更新(update)操作异常.反之则是乱七八糟,不仅给 ...
- mysql bcnf_数据库范式(1NF 2NF 3NF BCNF)详解一
数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的.结构明晰的,同时,不会发生插入(insert).删除(delete)和更新(update)操作异常.反之则是乱七八糟,不仅给 ...
- mysql中bcnf_数据库范式(1NF 2NF 3NF BCNF)详解
@hxx: http://blog.sina.com.cn/u/3113060227 简介:一范式:每一列不可分割,二范式:每一列唯一(对应唯一对象):三范式:一列中的非主关键列不应该在其他表(或自己 ...
最新文章
- python营销骗局_python案例:金融营销活动中欺诈用户行为分析
- 新手用python2还是3-新手用python2还是3
- 给wxPython事件处理函数传递参数
- PyCharm3.0默认快捷键
- 一个div 上下两行_用 Python 撸一个 Web 服务器第4章:动态渲染数据
- GDCM:gdcm::SequenceOfItems的测试程序
- Javascript aop(面向切面编程)之around(环绕)
- UVA - 315 Network(tarjan求割点)
- java中的char可以存储汉字吗?
- 过了这么多年,才发现写的最多的代码竟然是...
- opengl es 实现旋转的三角形
- poj2752Seek the Name, Seek the Fame【kmp next数组应用】
- Python的切片操作
- 003 python 注释/数据类型/运算符/输入输出/格式化输出
- Redis的数据类型(对象)
- 【TSP】基于matlab模拟退火算法求解旅行商问题【含Matlab源码 136期】
- 589. N叉树的前序遍历
- PreparedStatement的用法
- 分享一个可以让你在朋友圈赚钱的小工具
- mumu模拟器安装xpk包
热门文章
- 2023拼多多商品详情,拼多多sku采集
- rabbitmq——交换机fanout和direct
- 怎样使用计算机上的高级共享设置密码,怎么设置电脑共享密码
- 央视CCTV摄制组进驻领存深入报道
- Redis数据库(二)
- 湖南大学计算机学院陈浩,杨圣洪-湖大信息科学与工程学院
- 盛水容器问题php代码,盛水容器的形状如图2-13所示,已知各水面高程为▽1=1.15m,▽2=0.68m,▽3=0.44m...
- 小程序之仿小米商城Lite
- 孤独,是优秀的必经之路
- Tomat介绍--1