MySQL数据库设计三大范式
1. 第一范式 1NF
设R为任一给定关系, 如果R中每个列与行的 交点处的取值都是不可再分的基本元素,则R为第一范式。
2. 第二范式 2NF
由于第一范式冗余高,插入操作异常,删除操作异常,于是便有了第二范式。
设R为任一给定关系,若R为1NF, 且其所有非主属性都完全函数依赖于候选关键字,则R为第二范式。
在上表中,在没有拆分之前,学生上课信息表的主键为(SN0,CNO),但其中的课程信息却不依赖于SNO,所以要将学生上课信息表拆分为学生上课成绩表与课程表,这两张表通过课程编号CNO进行关联,即实现第二范式。
3. 第三范式 3NF
4. 第三范式的特殊形式 BCNF
设R为任一给定关系,X、Y为其属性集,F为其函数依赖集,若R为3NF,且其F中所有函数依赖X→Y(Y 不属于X)中的X必包含候选关键字,则R为BCNF。
在上图未拆分之前,候选关键字为(SNO,CTITLE)和(SNO,INAME),同时在上表中可以通过授课老师INAME推断出课程名称CTITLE,但授课老师INAME却不包含候选关键字,所以要拆分成右边的形式,即满足BC范式。
MySQL数据库设计三大范式相关推荐
- mysql数据库设计三大范式_了解数据库设计三大范式
数据库设计范式 什么是范式:简言之就是,数据库设计对数据的存储性能,还有开发人员对数据的操作都有莫大的关系.所以建立科学的,规范的的数据库是需要满足一些 规范的来优化数据数据存储方式.在关系型数据库中 ...
- mysql数据库设计三大范式_数据库设计三大范式详解
引言数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的.结构明晰的,同时,不会发生插入(insert).删除(delete)和更新(update)操作异常.反之则是乱七八糟,不 ...
- (转载)简洁、明晰!数据库设计三大范式应用实例剖析
(转载http://bbs.database.ccidnet.com/read.php?tid=325895) 简洁.明晰!数据库设计三大范式应用实例剖析 引言OL~eR{q ;iC,$vZ 0} ...
- Mysql 数据库设置三大范式 数据库五大约束 数据库基础配置
数据库设置三大范式 1.第一范式(确保每列保持原子性) 第一范式是最基本的范式.如果数据库表中的所有字段值都是不可分解的原子值,就说明该数据库满足第一范式. 第一范式的合理遵循需要根据系统给的实际需求 ...
- 数据库设计三大范式和ER模型
1. 数据库设计之三范式的介绍 范式: 对设计数据库提出的一些规范,目前有迹可寻的共有8种范式,一般遵守3范式即可. 第一范式(1NF): 强调的是列的原子性,即列不能够再分成其他几列.(1NF强调字 ...
- 【MySQL性能优化】数据库设计三大范式(二)
转载自http://chenhaoxiang.cn/2018/02/04/2158/ 数据库设计无非遵循的就是减少冗余量,第二点就是遵循三范式 第一范式(1NF) 确保每一列的原子性 也就是如果每一列 ...
- 数据库设计三大范式【转载】
数据库设计范式 什么是范式:简言之就是,数据库设计对数据的存储性能,还有开发人员对数据的操作都有莫大的关系.所以建立科学的,规范的的数据库是需要满足一些 规范的来优化数据数据存储方式.在关系型数据库中 ...
- 数据库基础 数据库设计三大范式
转载自: http://www.cnblogs.com/knowledgesea/p/3667395.html 数据库设计范式 什么是范式:简言之就是,数据库设计对数据的存储性能,还有开发人员对数据的 ...
- 数据库设计三大范式:
数据库的三大特性可谓是:实体.属性和关系. 实体:表: 属性:表中的数据(字段): 关系:表与表之间的关系: 第一范式(1NF):数据表中的每一列(每个字段)必须是不可拆分的最小单元,也就是确保每一列 ...
最新文章
- 入门NLP、实现语音识别和语音合成,用这个开源工具SoEasy | 英伟达NLP公开课
- 不敢相信?System.currentTimeMillis()存在性能问题
- assert()函数用法总结——转
- latex自动生成中文目录_自动生成工作表目录三种方法,看哪种适合你?
- Cordova 本地项目创建方法
- 加入新的地方,要开始积累了
- java获取浏览器版本号
- [jQuery]3D效果的标签云
- layerconfirm 自动关闭问题 没有阻塞问题_微信新版本自动更新?赶紧关闭这个功能...
- 安装和卸载mysql
- linux内存机制的virt,关于linux:转载理解virt-res-shr之间的关系
- 查看Office365迁移任务进度状态
- 准备 Kendo UI 开发环境
- mysql创建数据库sql语句
- 悬臂梁振动方程及仿真
- 根的存在定理(零点存在定理)
- 苹果主屏幕按钮怎么设置_苹果手机屏幕横屏怎么调
- 用html设计一个时间距离查询,使用HTML5 Geolocation实现一个距离追踪器
- 深度和广度优先算法题
- bWAPP解题笔记——A7-Missing Functional Level Access Control
热门文章
- 谷歌浏览器不填充密码问题
- MATLAB神经网络——BP神经网络训练过程介绍(newff)
- druid监控记录mysql_使用Druid监控SQL执行状态
- python做一副54扑克牌发牌_Python 制作一副扑克牌,有趣的案例!
- Vue中关于scoped以及scoped样式穿透的原理与使用详解
- Vue插槽的理解和使用
- vue从后台获取新数据后刷新_vue传参页面刷新数据丢失问题
- prefetch 和preload_PrefetchPreload预加载方案总结
- partprobe分区报错
- 用matlab能带图,利用Matlab绘制Materials studio能带图