数据库范式通俗理解

数据库范式通俗理解写在前面数据库范式一直是一种很难理解的 各种翻译版本讲解的方式都比较难理解 在这重新梳理下自己的理解范式一 范式 NF normalfrom 规范的形式二 1NF 要求我们表中的每个字段都必须是最基本的属性 即原子属性 不可再拆分 例如 学生表中 有学号 姓名 联系方式 这个联系方式就不满足 1NF 因为联系方式还可以拆分为手机号 微信号 号等 三 2NF 要求表中所有的属性都依赖于主键 所有的字段只有因为主键才会变得有意义 例如 学生表 姓名 性别不能确定是那个学生 反而我们能通

写在前面

数据库范式一直是一种很难理解的,各种翻译版本讲解的方式都比较难理解,在这重新梳理下自己的理解范式

一、范式

NF (normal from) 规范的形式

二、1NF

要求我们表中的每个字段都必须是最基本的属性,即原子属性(不可再拆分)。

例如:学生表中,有学号,姓名,联系方式,这个联系方式就不满足1NF,因为联系方式还可以拆分为手机号,微信号,号等。

三、2NF

要求表中所有的属性都依赖于主键。所有的字段只有因为主键才会变得有意义。

例如:学生表,姓名,性别不能确定是那个学生,反而我们能通过学号知道这个学生叫什么名字等。

四、3NF

要求所有非键属性不能存在传递依赖于主键。

名词解释:

  1. 传递依赖:属性可以通过一个中间属性得出其他属性。
  2. 例如:学生表中,学号可以通过学院ID推出学院名称。这样学院名称传递依赖于学号。

五、BCNF

要求所有属性不能存在传递依赖于主键。

名词解释:

  1. 首先跟3NF的区别,3NF是非键属性,BCNF是所有属性。
  2. 什么是键属性,主键可以由多个属性组成,其中的属性叫做键属性,其他的属性叫做非键属性。比如,学号和班级号一起作为主键,其中学号和班级号就是键属性(主属性)。

六、4NF

不存在多值依赖。

名词解释:

  1. 多值,关系中存在多个属性,且这几个属性不能直接确定其他值
  2. 必须通过其中几个一起确定一个值

最后

如果还是不理解,可以看这个博客

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/231353.html原文链接:https://javaforall.net

(0)
上一篇 2026年1月16日 下午1:01
下一篇 2026年1月16日 下午1:22


相关推荐

  • 《Linux内核修炼之道》 之 高效学习Linux内核

    《Linux内核修炼之道》 之 高效学习Linux内核世界悲结束了,章鱼哥也退役了,连非诚勿扰中的拜金女也突然的少了很多。这本《Linux内核修炼之道》在卓越、当当、china-pub上也已经开卖了,虽然是严肃文学,但为了保证流畅性,大部分文字我还都是斟词灼句,反复的念几遍才写上去的,尽量考虑到写上去的每段话能够让读者产生什么疑惑,然后也都会紧接着尽量的去进行解释清楚,中间的很多概念也有反复纠结过怎么解释能够更容易的理解,力求即使对于初学者也可以有很…

    2022年7月23日
    12
  • java事务总述_什么是先总述后详述

    java事务总述_什么是先总述后详述java事务总述一、java事务概述1.1、java事务简述1、简介事务(TRANSACTION)是作为单个逻辑工作单元执行的一系列SQL操作,这些操作作为一个整体一起向系统提交,要么都执行、要么都不执行。如果任何一个SQL操作失败,那么整个操作就都失败,所有操作都会回滚到操作前状态,或者是上一个节点。2、java事务和数据库事务的关联实际上,一个Java应用系统,如果要操作数据库,则通过JDBC来实现的。增加、修改、删除都是通过相应方法间接来实现的,事务的控制也相应转移到Java程序代码中。因

    2022年8月31日
    5
  • 精进Quartz源码—Quartz调度器的Misfire处理规则(四)[通俗易懂]

    Quartz调度器的Misfire处理规则调度器的启动和恢复中使用的misfire机制,还需细化!

    2022年2月25日
    40
  • 元学习、迁移学习、对比学习、自监督学习与少样本学习的关系解读

    元学习、迁移学习、对比学习、自监督学习与少样本学习的关系解读文章目录前言一、对比自监督学习与FSL1.对比学习与自监督学习2.自监督学习与FSL二、元学习与FSL1.元学习是什么2.元学习与FSL三、迁移学习与FSL1.迁移学习2.迁移学习与FSL总结前言本人的研究方向是少样本图像分类,在阅读论文时会遇到很多元学习、迁移学习这样的名词,这些词在不同的论文中关系仿佛都不一样,人们的说法也不统一。因此在此记录一下自己的逻辑,希望不再混乱了~还有对比学习和自监督学习,最近自己也在看,并且和少样本学习(FSL)相关,就一起放在这里。文章中出现的ppt截图是自己讲组

    2025年11月17日
    4
  • 代码加密 android,Android 开发怎样做代码加密或混淆「建议收藏」

    代码加密 android,Android 开发怎样做代码加密或混淆「建议收藏」原标题:Android开发怎样做代码加密或混淆对于Android开发技术人员来说,隐藏代码或是混淆代码至关重要。试想自己辛辛苦苦赶工出来的产品,被其他开发者反编译后轻松拿走。放在哪里都是一件让人崩溃的事情。华清创客学院Android开发讲师在这里和读者一起交流一下怎样做代码加密或混淆这个问题?Android开发怎样做代码加密或混淆:通常来说Proguard对一般用途来说足够了,但是也需要注意…

    2022年5月17日
    34

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号