mysql_三大范式

这篇具有很好参考价值的文章主要介绍了mysql_三大范式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

介绍

数据库的三大范式就是数据库的表应该如何设计,应该注意什么。

第一范式

要求每一张表都有一个主键,每一个字段都不可再分。

举例:

id username address
1 张三 中国,北京
2 李四 美国,洛杉矶
1 王五 日本,东京

问题:上面的这张表没有主键,因为第一条记录和第三条记录id重复,address可以再分,不是原子性。

修正如下:

id username country city
1 张三 中国 北京
2 李四 美国 洛杉矶
3 王五 日本 东京

注意:第一范式需要设计每张表时都要满足的,即要有主键,每个字段都具有原子性。

第二范式

在满足第一范式的基础上,非主键列要完全依赖于主键。有点抽象,看下面的例子。

酒店编号 房间类型编号 评价分数 房间类型
1 01 80 单人间
1 02 90 双人间
2 01 70 单人间

这张表中酒店编号和房间类型编号联合做主键,评价分数完全依赖于酒店编号和房间类型编号,可是房间类型只依赖于房间类型编号,这是部分依赖,不满足第二范式。

修正:

酒店房间类型评价分数表

酒店编号 房间类型编号 评价分数
1 01 80
1 02 90
2 01 70

房间类型表

房间类型编号 房间类型
01 单人间
02 双人间

第三范式

第三范式是建立在第二范式的基础上的,要求所有的非主键字段直接依赖主键,不要产生传递依赖。

举例:

id 入住人姓名 房间类型编号 房间类型描述
01 张三 001 单人间
02 李四 002 双人间
03 王五 001 单人间

上面这张表中房间类型描述不直接依赖于id,而是通过依赖于房间类型编号这个非主键列而依赖于主键,属于传递依赖,不符合第三范式。

(房间类型描述->房间类型编号->id)

修正:

将一张表拆分为两张表

id 入住人姓名 房间类型编号
01 张三 001
02 李四 002
03 王五 001
房间类型编号 房间类型描述
001 单人间
002 双人间

如果这篇博客写得有问题,欢迎在评论区留言。文章来源地址https://www.toymoban.com/news/detail-479010.html

到了这里,关于mysql_三大范式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数据库设计(三大范式,设计工具)

    1 数据库设计PowerDesigner三大范式 2 命名风格、主键选择、外键、存储过程 3 数据库事务和数据库锁 4 触发器、游标、视图、自定义函数、 5 字段类型、字段可空、统计字段、逻辑删除 1. 数据库设计的重要性 要谈数据库性能—直接和数据库设计挂钩; 如果不合理-----后续的开

    2024年02月15日
    浏览(47)
  • [MySQL]数据库原理1,三大范式,E-R图,DataBase,数据库管理系统(DBMS),Relationship,实体、属性、联系 映射基数,关系型数据库,联系的度数等——喵喵期末不挂科

    希望你开心,希望你健康,希望你幸福,希望你点赞! 最后的最后,关注喵,关注喵,关注喵,佬佬会看到更多有趣的博客哦!!! 喵喵喵,你对我真的很重要! 目录 前言 认识数据库 常见的数据库管理系统应用案例。       1.数据(Data)       2.数据库(DataBase ,简

    2024年02月04日
    浏览(47)
  • 数据库三大范式的学习与数据库表设计的了解

    内容简单介绍 对于数据库三大范式的理解以及一些设计表示要注意的方面 本章内容梳理图 数据库的三大范式(Normal Forms)是关系数据库设计中用于确保数据结构化、减少数据冗余、并提高数据完整性的指导和规则。 以下是三大范式的简述: 第一范式(1NF) 定义 :如果关系

    2024年03月27日
    浏览(64)
  • 数据库的三大设计范式和BCNF

    第一范式(1NF):确保数据表中的每个列都是原子的,即每个列都包含不可再分的数据项。这意味着在每个列中不能有重复的数据,也不能包含多个值。每个数据项应该是独立的,以便能够对其进行有效的排序、搜索和过滤。 第二范式(2NF):在满足第一范式的基础上,要求

    2024年02月06日
    浏览(43)
  • 数据库三大范式是什么,又为什么要反范式?

    🏆作者简介,黑夜开发者,CSDN领军人物,全栈领域优质创作者✌,CSDN博客专家,阿里云社区专家博主,2023年6月CSDN上海赛道top4。 🏆数年电商行业从业经验,历任核心研发工程师,项目技术负责人。 🏆本文已收录于PHP专栏:MySQL的100个知识点。 🎉欢迎 👍点赞✍评论⭐收

    2024年02月11日
    浏览(48)
  • MySQL数据库之锁、范式

    锁是计算机协调多个进程或线程并发访问某一资源的机制。分为 全局锁、表级锁、行级锁。 1、定义 全局锁就是对整个数据库实例加锁,加锁后后续的DML的写语句, DDL语句,已经更新操作的事务提交语句都将被阻塞,整个实例就处于只读状态,即可以执行DQL语句,数据备份

    2024年02月11日
    浏览(51)
  • 重生之再学mysql-数据库三范式

    什么是数据库三范式?它有什么作用?:数据库三范式是关系数据库的设计原则,它帮助我们规划出结构合理、稳定性好的关系型数据库 这个的意思是,每一列都不能再分解成更小的值,比如性别,学号,这种就不能再被分解了。而出生日期的话,还可以再被细分为哪一年,

    2024年02月15日
    浏览(37)
  • MySQL高级特性篇(6)-数据库设计模式与范式

    数据库是现代软件开发中非常重要的一环,而MySQL作为一种常用的关系型数据库管理系统,在数据库设计方面也有一些常见的模式和范式。本博客将介绍MySQL数据库设计模式与范式,让读者对MySQL数据库的设计有一个全面的了解。 一、数据库设计模式 数据库设计模式是数据库

    2024年02月22日
    浏览(47)
  • MySQL笔记(一):设计范式、基础概念、数据库定义语言DDL

    MySQL是一种数据库管理系统 (DBMS),是基于客户机-服务器的数据库; 分为两个不同的部分, 服务器软件(MySQL DBMS)是负责所有数据访问和处理的一个文件,这个软件运行在称为数据库服务器的计算机上,与数据文件打交道; 客户机则是与用户打交道的软件,对于用户提出的

    2024年02月03日
    浏览(62)
  • 从0开始学习mysql 第十四课:数据库设计与三范式

    第十四课:数据库设计与三范式 学习目标 在本课中,你将学习关系数据库设计的三个基本范式,它们是用来规范数据库结构,减少数据冗余和改善数据完整性的准则。你将学习: 第一范式(1NF)的概念和实现 第二范式(2NF)的概念和实现 第三范式(3NF)的概念和实现 范式

    2024年01月23日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包