前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >数据库三范式

数据库三范式

原创
作者头像
技能锦囊
修改于 2020-05-09 02:26:57
修改于 2020-05-09 02:26:57
5570
举报
文章被收录于专栏:MySQL 笔记MySQL 笔记

数据库设计范式

目的:

节约数据存储空间

提高查询效率

减少数据冗余

尽量避免数据维护中出现更新,插入和删除异常

第一范式

数据库表中的所有字段都只具有单一属性

单一属性的列是由基本的数据类型所构成的

设计出来的表都是简单的二维表

根据第一范式设计的表,就是一张简单的二维表,每一列都有它的意义。

第二范式

要求一个表中只具有一个业务主键,也就是说

符合第二范式的表中非主键列对主键的有完全依赖关系

一张表只能有一个主键

第三范式

指每一个非主属性既不部分依赖于也不传递依赖

于业务主键,也就是在第二范式的基础上消除了

非主属性对主键的传递依赖

传递依赖:比如说有一张学生表,那表中只能出现与学生相关的字段

如果不满足数据库范式要求可能会出现的问题?

数据冗余:某个字段存在重复的数据

插入异常: 如果表中的某个实体随着另一个实体而存在

更新异常: 如果更改表中的某个实体的单独属性时,会对多行进行更新

删除异常: 如果删除表中的某一实体则会导致其他实体的消失

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档