美文网首页
MySQL数据库 范式

MySQL数据库 范式

作者: 博为峰51Code教研组 | 来源:发表于2017-05-15 13:21 被阅读0次

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

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

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

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

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

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

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

小结

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

相关文章

  • 数据库设计三范式与反范式

    MySql设计与优化系列笔记:一、数据库设计三范式与反范式二、MySql表设计与优化 第一范式: 1、数据库的所有...

  • (系列7)数据库

    MySQL 数据库概念 范式 范式是数据库设计规范,范式越高则数据库冗余越小,但查询也更复杂,一般只需满足第三范式...

  • 分库分表,读写分离,数据库架构

    MySql--数据库设计三范式 一、mysql集群搭建 1、MySQL数据库的几种常见高可用方案2、MySQL分布...

  • 数据库MySQL

    [TOC] 数据库MySQL 数据库的三范式是什么?什么是反模式? 作用:数据库范式可以避免数据冗余,减少数据库的...

  • MySql表设计与优化

    MySql设计与优化系列笔记:一、数据库设计三范式与反范式二、MySql表设计与优化 1、实体关系分析 实体关系需...

  • Java面试题(四):数据库

    十七、MySql 164. 数据库的三范式是什么? 什么是范式:简言之就是,数据库设计对数据的存储性能,还有开发人...

  • 阿里面试官必问的12个MySQL数据库基础知识,哪些你还不知道?

    数据库基础知识 为什么要使用数据库 什么是SQL? 什么是MySQL? 数据库三大范式是什么 mysql有关权限的...

  • mysql

    1. MySQL简介 MySQL是广泛应用的一种关系型数据库 1.1 三范式 第一范式(1NF):列不可拆分 第二...

  • MySQL之三范式

    引用 MySQL设计之三范式的理解 数据库逻辑设计之三大范式通俗理解,一看就懂,书上说的太晦涩 三范式 第一范式:...

  • [LNMP]Mysql数据库设计建议

    说明 本规范适用于mysql 5.1或以上版本使用 数据库范式 第一范式(1NF)确保每列保持原子性 第一范式(1...

网友评论

      本文标题:MySQL数据库 范式

      本文链接:https://www.haomeiwen.com/subject/tbhhxxtx.html