【Mysql】数据库三大范式

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

数据库三范式

:数据库三范式是指关系型数据库设计中的三种规范化设计原则,旨在减少数据冗余、提高数据一致性和可维护性。

第一范式:规定表中的每一列都应该是不可分割的最小单元。

为什么要这样实现呢?

:举个栗子,大家可能都用过淘宝,京东,在填写收件地址的时候,是不是都要逐一填写 :省、市、区、详细地址。以上其实就是数据库中的某个字段。这就是第一范式的具体应用,如果某一天,政府下了批文,修改了某个区的名字,这样就可以直接在该字段上修改即可。如果全部都写到一起的话,修改就比较麻烦,可能会涉及正则表达式。

第二范式:是在满足第一范式的基础上,规定表中的非主键列不存在对主键的部分依赖。

在满足第一范式的基础上,表中不存在部分依赖,非主键列要完全依赖于主键。(主要是说在联合主键的情况下,非主键列不能只依赖于主键的一部分)

如下学生成绩表(score):

stu_id(学生id)、course_id(课程id)、score(分数)、course_name(课程名)

primary key(stu_id, course_id)

stu_id course_id score course_name
001 1011 88 高数3-1
001 1022 69 计算机组成原理
002 1011 92 高数3-1

表中主键为stu_id和course_id组成的联合主键。满足1NF;非主键列score完全依赖于主键,stu_id和course_id两个值才能决定score的值;而course_name只依赖于course_id,与stu_id没有依赖关系,它不完全依赖于主键,只依赖于主键的一部分,不符合2NF。

修改使表满足2NF后:

成绩表(score)   primary key(stu_id)

stu_id course_id score
001 1011 88
001 1022 69
002 1011 92

课程表(kc)   primary key(course_id)

course_id course_name
1011 高数3-1
1022 计算机组成原理

将原来的成绩表(score)拆分为成绩表(score)和课程表(kc),而且两个表都符合2NF。

第三范式是在满足第一范式和第二范式的基础上,规定表中的列不存在对非主键列的传递依赖。

传递依赖关系指的是:指的是在一个关系(表)中,一个非主键列依赖于另一个非主键列,而那个被依赖的列本身依赖于主键。

该表中,订单编号为主键,顾客名称依赖于顾客编号,这就是对非主键列的传递依赖。

【Mysql】数据库三大范式,mysql,数据库

 修改之后应该如下:【Mysql】数据库三大范式,mysql,数据库 文章来源地址https://www.toymoban.com/news/detail-716411.html

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

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

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

相关文章

  • 数据库的三大范式

    文章是看尚硅谷的MySQL所写的笔记 设计数据表的时候,要考虑很多的问题: 用户需要哪些数据,我们在数据表中要保存哪一些数据 怎么保证数据表中的数据的正确性 如何降低数据表的冗余度 开发人员怎么才能更方便的使用数据库 如果数据库设计得不合理的话,可能导致下面

    2024年02月02日
    浏览(33)
  • 【数据库基础】数据库介绍和三大范式

           数据库 (DataBase,DB):指长期保存在计算机的存储设备上,按照一定规则组织起来,可以被各种用户或应用共享的数据集合。        数据库管理系统 (DataBase Management System,DBMS):指一种操作和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库

    2024年02月07日
    浏览(46)
  • 数据库设计(三大范式,设计工具)

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

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

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

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

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

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

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

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

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

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

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

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

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

    2024年02月03日
    浏览(48)
  • 谈一谈SQLite、MySQL、PostgreSQL三大数据库

    每一份付出,必将有一份收货,就像这个小小的果实,时间到了,也就会开花结果… SQLite、MySQL 和 PostgreSQL 都是流行的关系型数据库管理系统(RDBMS),但它们在功能、适用场景和性能方面有一些不同。 SQLite : 轻量级 : SQLite 是一个嵌入式数据库,它不需要一个独立的数据库

    2024年02月05日
    浏览(51)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包