数据库设计范式:

一、范式概念
设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小。
目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF,又称完美范式)。

二、基础概念:
1、函数依赖:A—>B,如果通过A属性(属性组)的值,可以确定唯一B属性的值,则称B依赖于A。
2、完全函数依赖:A—>B,如果A是一个属性组属性,则B属性的值确定需要依赖A属性组中所有的属性值,则称B完全依赖于A。
3、部分函数依赖:A—>B,如果A是一个属性组属性,则B属性的值的确定需要依赖A属性组中某一些属性值即可,则称B部分依赖于A。
4、传递函数依赖:A—>B,B—>C,如果通过A属性(属性组)的值可以确定唯一B属性的值,再通过B属性(属性组)的值可以确定唯一C属性的值,则称C属性传递依赖与A。
5、码:如果在一张表中,一个属性或者属性组被其他属性所完全依赖,则称这个属性(属性组)为该表的码。
5.1、主属性:码属性组中的所有属性。
5.2、非主属性:除码属性组的属性

三、常见的范式:
1、第一范式(1NF):每一列都是不可分割的原子数据项
2、第二范式(2NF):在1NF的基础上,非吗属性必须完全依赖于候选码(在1NF的基础上消除非主属性对主码的部分函数依赖)
3、第三范式(3NF):在2NF的基础上,任何非主属性不依赖于其他非主属性(在2NF基础上消除传递依赖)

1NF存在的问题:
1、存在严重的数据冗余问题(重复)
2、数据添加删除存在问题。
2NF解决了数据冗余的问题
3NF范式解决了添加删除数据的问题。

MySQL数据库设计范式相关推荐

  1. MySQL 数据库设计范式/优化

    数据库设计范式 设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式. 目前关系数据库有六种范式:第一范式(1NF).第二范式(2NF).第三范式(3NF ...

  2. mysql范式与反范式_给女同事讲解MySQL数据库设计范式与反范式,她夸我“技术好”...

    1 第一范式 该范式是为了排除 重复组 的出现,因此要求数据库的每个列的值域都由原子值组成:每个字段的值都只能是单一值.1971年埃德加·科德提出了第一范式.即表中所有字段都是不可再分的. 1.1 实 ...

  3. mysql数据库设计三大范式_了解数据库设计三大范式

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

  4. MySQL——数据库设计三范式

    0.数据库设计范式 设计范式是数据库表的设计依据,如何进行数据库表的设计. 设计数据库表时按照三范式进行,可以避免表中数据的冗余,空间的浪费. 1.第一范式 要求任何一张表必须有主键,每一个字段原子性 ...

  5. MYSQL之数据库设计范式和高级查询

    文章目录 1 数据库设计范式 范式一 范式二 范式三 反范式 高级查询 基础查询 条件查询 范围查询 判空查询 模糊查询 分页查询 查询后排序 聚合查询 分组查询 1 数据库设计范式 为了建立冗余较小 ...

  6. mysql数据库建仓范式_存mysql个数

    MySQL学习笔记之数据类型详解 注:以下内容针对MySQL5.0及以上版本 MySQL的数据类型非常多,选择正确的数据类型对于获得高性能至关重要,本文是我结合网上看到的一些blog加上<高性能 ...

  7. MYSQL数据库设计原则

    一.MYSQL数据库设计原则 1.核心原则 不在数据库做运算; cpu计算务必移至业务层; 控制列数量(字段少而精,字段数建议在20以内); 平衡范式与冗余(效率优先:往往牺牲范式) 拒绝3B(拒绝大 ...

  8. 数据库-优化-MYSQL数据库设计原则

    MYSQL数据库设计原则 1.核心原则 不在数据库做运算; cpu计算务必移至业务层; 控制列数量(字段少而精,字段数建议在20以内); 平衡范式与冗余(效率优先:往往牺牲范式) 拒绝3B(拒绝大sq ...

  9. mysql数据库设计原则_mysql数据库设计总结

    作者:腾讯云技术社区 链接:https://www.zhihu.com/question/19719997/answer/154809252 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权, ...

最新文章

  1. bzoj 1264: [AHOI2006]基因匹配Match (树状数组优化dp)
  2. 增加数据_Photoshop XMP元数据沉积造成文件量增加
  3. java匿名内部类runnable_Java内部类:匿名内部类(四)
  4. [Machine learning] 国外程序员整理的机器学习资源大全
  5. JavaSE--类加载器
  6. 模拟网页行为之实践篇
  7. 单片机实验:外部中断按键
  8. redis队列(list)
  9. oracle查询学生人数语句,Oracle期末复习题-带答案
  10. .desktop 桌面快捷_Ubuntu 桌面手动添加应用快捷方式
  11. 轻量通用型互联网应用架构
  12. dedecms 判断是否有值然后显示
  13. Codeforces Round #535 (Div. 3)
  14. Solaris10 swap空间管理
  15. U盘量产失败后无法找驱动U盘的解决方法。
  16. NOI题库练习1.4(08)
  17. php桌面快捷方式图标,window_Win10桌面图标没了怎么办?Win10桌面快捷方式消失了解决方法,不少使用windows10系统的朋友都 - phpStudy...
  18. Python语言特色集锦
  19. springboot 结合 ice(飞冰) 实现上传功能
  20. 数字IC验证方法的分类

热门文章

  1. Pycharm 修改html注释
  2. 服务器正在维护中王者荣耀s24,王者荣耀s24赛季更新到几点 王者荣耀更新进度条不动了是怎么回事...
  3. iPhone键盘配置
  4. 跟着王进老师学开发Python篇:基础强化案例讲解-王进-专题视频课程
  5. 初创公司如何搭建开发框架_初创公司必须聘请开发者活跃
  6. 面试官都在问 | Linux命令mpstat详解
  7. 西安邮电大学计算机学院转专业面试,2020年西安邮电大学转专业,大一新生转专业和入学考试...
  8. python汉诺塔递归并统计次数_Python之汉诺塔递归运算
  9. 汉诺塔递归Python实现
  10. 原创分析| 入门或者转行音视频,应该要怎么做?