MySQL系列数据库设计三范式教程示例

 更新时间:2021年10月26日 10:44:40   作者:数据分析与统计学之美  
这篇文章主要为大家介绍了MySQL系列之数据库设计三范式的教程示例讲解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步

一、数据库设计三范式相关知识说明

1、什么是设计范式?

设计表的依据,按照这三个范式设计出来的表,不会出现数据的冗余。

2、为什么要学习数据库的三个范式?

数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入(insert)、删除(delete)和更新(update)操作异常。反之则是乱七八糟,不仅给数据库的编程人员制造麻烦,而且面目可憎,可能存储了大量不需要的冗余信息。

我们数据分析师虽然不需要自己去设计数据库,但是了解数据库的三个范式,对于我们后面进行表的理解能够有一定的帮助。

3、三范式都有哪些?

1)第一范式:任何一张表都应该有主键,并且每一个字段原子性不可再分。

在这里插入图片描述

2)第二范式:建立在第一范式基础上的,另外要求所有非主键字段完全依赖主键,不能 产生部分依赖。

在这里插入图片描述

解决办法:多对多,三张表,关系表两个外键。

在这里插入图片描述

3)第三范式:建立在第二范式的基础之上,所有非主键字段直接依赖主键,不能产生传递依赖。

在这里插入图片描述

解决办法:一对多,两张表,多的表加外键。

在这里插入图片描述

注意:牢记上述蓝色部分的两句话。

提醒:在实际的开发中,以满足客户的需求为主,有的时候会拿冗余换执行速度。

二、数据库表的经典设计方案

一对一怎么设计?

第一种方案:主键共享

在这里插入图片描述

第二种方案:外键唯一

在这里插入图片描述

注意:外键唯一这种情况,有点像上面讲述的多对多的情形,当外键字段加了一个
unique限制条件后,就变成一对一了。

以上就是MySQL系列数据库设计三范式教程示例的详细内容,更多关于MySQL数据库设计三范式的资料请关注脚本之家其它相关文章!

相关文章

  • mysql之如何查找配置文件my.ini的位置

    mysql之如何查找配置文件my.ini的位置

    这篇文章主要介绍了mysql之如何查找配置文件my.ini的位置问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • Mysql慢查询日志文件转Excel的方法

    Mysql慢查询日志文件转Excel的方法

    面对公司生产环境中慢SQL问题的排查工作,由于日志文件格式混乱,相关资料无法提供便捷的格式化处理工具,故而自主编写一套Java读取慢SQL日志转为Excel的小工具,该工具可以有效提升排查工作的效率,方便快捷地解决问题
    2024-10-10
  • MySql实现分布式锁的示例代码

    MySql实现分布式锁的示例代码

    本文主要介绍了使用MySQL实现分布式锁,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-12-12
  • 如何选择合适的MySQL存储引擎

    如何选择合适的MySQL存储引擎

    MySQL有多种存储引擎,MyISAM、InnoDB、MERGE、MEMORY(HEAP)、BDB(BerkeleyDB)、EXAMPLE、FEDERATED、ARCHIVE、CSV、BLACKHOLE。
    2011-09-09
  • MySQL不推荐使用uuid或者雪花id作为主键的原因分析

    MySQL不推荐使用uuid或者雪花id作为主键的原因分析

    在数据库设计中,选择适当的主键类型对于数据的存储和查询效率至关重要,在MySQL中,有些开发者倾向于使用UUID或者雪花ID作为主键,以确保数据的唯一性,本文将探讨在MySQL中不推荐使用UUID或者雪花ID作为主键的原因,并与其他主键类型进行差异化对比
    2023-11-11
  • mysql表操作-约束删除、用户填加、授权和撤权方式

    mysql表操作-约束删除、用户填加、授权和撤权方式

    本文详细介绍了数据库的约束删除、密码策略设置、用户管理以及权限控制的具体操作步骤,包括查看与修改表的约束条件、设置数据库密码的策略、增加用户以及用户权限的授权与撤销等,这些操作对于数据库管理员来说是基本且必须掌握的技能
    2024-09-09
  • MySql登陆密码忘记及忘记密码的解决方案

    MySql登陆密码忘记及忘记密码的解决方案

    这篇文章主要介绍了MySql登陆密码忘记的解决方案以及mysql忘记密码的快速解决方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-03-03
  • MySQL中查询、删除重复记录的方法大全

    MySQL中查询、删除重复记录的方法大全

    mysql中删除重复记录的方法有很多种,下面这篇文章主要给大家总结了在MySQL中查询、删除重复记录的方法大全,文中给出了详细的示例代码供大家参考学习,需要的朋友下面来一起看看吧。
    2017-06-06
  • 总结三道MySQL联合索引面试题

    总结三道MySQL联合索引面试题

    这篇文章主要介绍了总结三道MySQL联合索引面试题,众所周知MySQL联合索引遵循最左前缀匹配原则,在少数情况下也会不遵循,创建联合索引的时候,建议优先把区分度高的字段放在第一列
    2022-08-08
  • Mysql的慢SQL优化思路和规范详解

    Mysql的慢SQL优化思路和规范详解

    这篇文章主要介绍了Mysql的慢SQL优化思路和规范详解,官方介绍索引是帮助MySQL高效获取数据的数据结构。更通俗的说,数据库索引好比是一本书前面的目录,能加快数据库的查询速度,需要的朋友可以参考下
    2023-05-05

最新评论