数据库范式那点事

第一范式:

①必须要有主键

②每个字段的值必须是单一原子值(不可为某个字段的集合)


这里不喜欢食物为集合,改为下表:




第二范式:

①必须满足第一范式

②每一个非主键字段完全依赖于主键,否则将不完全依赖的非主键字段生成另外一张表


其中价格完全依赖于 主键<组件ID,供应商ID>,但是供应商名称和供应商住址却只依赖于供应商ID,故需要将这两个字段与供应商ID单独生成下表:


第三范式:

①必须满足第二范式

②每个非主键字段之间没有依赖关系,否则将有相互依赖的字段生成另外一张表、


上表中,制造商地址和制造商名称有关系,制造商地址依赖于制造商名称,所以改为下表:


使用范式的好处:

①可以防止数据冗余

②可以防止更新异常,插入异常,删除异常的出现

③保证数据的一致性

范式过高导致的问题:

①范式越高表则越多,表越多则进行操作时IO更易越浪费时间

使用建议:

设计数据库最多到第三范式,第二范式也可,不要高于第三范式,否则性能将大大下降

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 回顾 字段类型(列类型):数值型,时间日期型和字符串类型 数值型:整型和小数型(浮点型和定点型) 时间日期型:da...
    翊溪阅读 4,554评论 0 0
  • 第一章 需求分析 设计简介 根据业务需要,结合选用的DBMS,设计出最有的数据存储模型并建立好数据库中的表结构及表...
    齐天大圣李圣杰阅读 11,397评论 2 23
  • 数据库开发规范1. 数据库命名规范前缀对象前缀命名: 前缀命名一般用小写表的前缀: 业务模块组名前缀存储过程前缀:...
    PowerYangSoft阅读 7,432评论 0 8
  • 什么影响了性能 数据库设计对性能的影响 过分的反范式化为表建立太多的列 过分的范式化造成太多的表关联 在OLTP环...
    天道酬勤_FUN阅读 6,303评论 1 6
  • 首先导入 SDWebImage : 加载图片 加载gif
    齐舞647阅读 3,599评论 0 0