文档章节

MySQL数据库 范式

博为峰教研组
 博为峰教研组
发布于 2017/05/15 13:22
字数 453
阅读 7
收藏 0

MySQL中为保证数据库存储数据的性能,方便编程人员对数据的操作,势必要有一些科学、合理的设计数据库结构规则,这在关系型数据库中称它为范式。

每一列的属性都是不可再分保证其原子性,属性相近或类似的合并成一列,尽量减小数据的冗余。

  以下student表“地址”属性包含了国家与城市信息,不满足第一范式。

第二范式是指一行记录只表述一件事,有重复的数据应把表拆开来。

  student表经第一范式调整后,“国家”、“城市”属性会有大量重复数据,造成数据冗余。要把student拆分成一张表述学生信息表和一张地址信息表,再用外键约束把它们关联起来。

在满足第一、二范式基础上,表内每个属性都是与主键是直接联系而不是间接关系。

   比如student增加一列“班主任”,那么“班主任“信息应单独建个表,否则会导致很多麻烦。如”黄药师“班主任是新入职的,手上还没有学生如放在student表是不合适的;”杨康“班主任走了,学生信息与班主任信息在同一张表时,删除杨康的同时把学生信息一并删除是错误的。

  

小结

       范式是设计数据库的基本概念,使用它可建立尽可能科学、合理的数据库结构。但在一些场合,出于特殊考虑牺牲结构换取性能也是可以理解的。不要一味的追求范式,应采用需求->性能 ->结构的理念来设计数据库。

© 著作权归作者所有

上一篇: MySQL 索引
博为峰教研组
粉丝 50
博文 1224
码字总数 479077
作品 0
黄浦
程序员
私信 提问
MySQL应用优化

一、基本语句优化原则 (1).尽量避免在索引列上进行运算或函数操作,这样会导致索引失效 如: 可以优化为: (2).使用join语句时,应用小结果集驱动大结果集。因为在join多表时,可能会导致更多的...

lonelydawn
2016/06/16
4.2K
20
Mysql性能优化一

mysql的性能优化无法一蹴而就,必须一步一步慢慢来,从各个方面进行优化,最终性能就会有大的提升。 Mysql数据库的优化技术 对mysql优化是一个综合性的技术,主要包括 表的设计合理化(符合3...

JAVA_NINA
2016/05/09
193
0
Mysql 数据库的三大范式

一、数据库设计范式 1. 什么是范式 简言之就是,数据库设计对数据的存储性能,还有开发人员对数据的操作都有莫大的关系。所以建立科学的,规范的的数据库是需要满足一些规范的来优化数据存储...

edison_kwok
04/30
25
0
LAMP知识点总结

LAMP组合: web资源的类型: 静态资源:原始形式与响应结果一致; 动态资源:原始形似通常为程序文件或者是程序片段,需要在后台运行之后将运行结果返回给用户;在客户端展示的是程序的运行结...

何时心安
2017/10/24
0
0
RDMBS设计范式基础概念

设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小。 目前关系数据库有六种范式:第一...

echoroot
2017/08/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

c语言实现Sqlite3的创建db和增删改查db操作

SQLite,是一款轻型的数据库,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中使用广泛,现在准备学习一下sqlite3的使用方法并写一个测试demo,后面在项目智能...

jorin_zou
22分钟前
4
0
【2019年8月版本】OCP 071认证考试最新版本的考试原题-第2题

choose three Which three are true about the CREATE TABLE command? A) It can include the CREATE...INDEX statement for creating an index to enforce the primary key constraint. B) ......

oschina_5359
25分钟前
5
0
如何在二维码中循环批量插入图片

现在二维码种类比较多,为了突出二维码的个性及吸引客户,很多朋友都喜欢在二维码上插入图片。想要每个二维码都与众不同,但是有的时候需要批量插入图片数量有限,如果制作的二维码比较多的话...

中琅软件
26分钟前
6
0
LTR那点事—AUC及其与线上点击率的关联详解

LTR(Learning To Rank)学习排序是一种监督学习(SupervisedLearning)的排序方法,现已经广泛应用于信息索引,内容推荐,自然语言处理等多个领域。以推荐系统为例,推荐一般使用多个子策略...

达观数据
26分钟前
5
0
IntelliJ 如何显示代码的代码 docs

希望能够在 IntelliJ 代码上面显示方法的 docs。 如何进行显示? 你可以使用 Ctrl + Q 这个快捷键来查看方法的 Docs。 https://blog.ossez.com/archives/3061...

honeymoose
30分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部