数据库模型设计,第一范式、第二范式、第三范式简单例子理解

数据库模型设计,第一范式、第二范式、第三范式简单例子理解有几年经验了,也经历了不少项目,接触了各种数据模型,可是数据库模型设计范式只是知道有这个东西,具体范式的要求是什么呢?你是不是还很模糊?赶紧来普及下吧,第一范式、第二范式、第三范式简单例子理解。

大家好,又见面了,我是你们的朋友全栈君。

数据设计一般满足第三范式就够了


第一范式(
无重复的列
定义:数据库表的每一列都是不可分割的原子数据项,而不能是集合,数组,记录等非原子数据项。如果实体中的某个属性有多个值时,必须拆分为不同的属性
通俗解释:一个字段只存储一项信息
eg:班级:高三年1班,应改为2个字段,一个年级、一个班级,才满足第一范式
不满足第一范式
学号 姓名 班级
0001 小红 高三年1班

改成
学号 姓名 年级 班级
0001 小红 高三年 1班

第二范式(
属性完全依赖于主键
定义:满足第一范式前提,
当存在多个主键的时候,才会发生不符合第二范式的情况。比如有两个主键,不能存在这样的属性,它只依赖于其中一个主键,这就是不符合第二范式
通俗解释:任意一个字段都只依赖表中的同一个字段
eg:比如不符合第二范式
学生证 名称 学生证号 学生证办理时间 借书证名称 借书证号 借书证办理时间
           

改成2张表如下
学生证表
学生证 学生证号 学生证办理时间
     

借书证表
借书证借书证号借书证把你拉时间
   


第三范式(
属性不能传递依赖于主属性
定义:满足第二范式前提,
如果某一属性依赖于其他非主键属性,而其他非主键属性又依赖于主键,那么这个属性就是间接依赖于主键,这被称作传递依赖于主属性。
通俗理解:一张表最多只存2层同类型信息
eg:爸爸资料表,不满足第三范式
爸爸 儿子 女儿 女儿的小熊 女儿的海绵宝宝
         

改成
爸爸信息表:

爸爸 儿子 女儿
     
女儿信息表
女儿 女儿的小熊 女儿的海绵宝宝
     



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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm怎么打包成exe文件_pycharm打包python程序

    pycharm怎么打包成exe文件_pycharm打包python程序如何将python中的文件打包成exe文件:首先,在cmd中输入pip3Installpyinstaller他就会开始下载pyinstaller下载成功后就点进去你想去打包的代码中,我使用的是pycharm,然后点击terminal,输入Pyinstaller-FXXXX.Py其中XXXX指的是你要打包的文件名,弄好之后你就成功将其打包成exe文件了,下载后里面会显示你的exe文件的路径,去找就好了,发送给别人的话我是压缩后发送的以下是pyinstaller功能的一些注..

    2022年8月28日
    20
  • linux命令行修改用户名_linux 更改用户密码

    linux命令行修改用户名_linux 更改用户密码一、《Linux的chmod命令》。在shell中,可以使用chown命令来改变文件所有者及用户组,chgrp命令来改变文件所在用户组。在Linux的C程序中,可以使用chown函数来改变文件所有者,及所在用户组。另外,在shell中,要修改文件当前的用户必须具有管理员root的权限。可以通过su命令切换到root用户,也可以通过sudo获得root的权限。二、使用chown命令更改文件拥有…

    2022年9月17日
    2
  • latex中希腊字母_LaTeX符号

    latex中希腊字母_LaTeX符号字母上面加各种符号\hata–\widehata–\overlinea–\widetildea–\dota–\ddota–

    2022年10月13日
    1
  • golang2020激活码【在线破解激活】

    golang2020激活码【在线破解激活】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月16日
    56
  • 探索SQL Server元数据(三):索引元数据

    探索SQL Server元数据(三):索引元数据

    2021年11月27日
    65
  • Android 调用so库全过程

    Android 调用so库全过程原文地址点击打开链接一、前言Android中有时候为了效率以及平台开发库的支持,难免会用到NDK开发,那么都会产生一个so文件,通过native方法进行调用,开发和调用步骤很简单,这里就不多说了,本文主要来介绍,我们在使用so的时候总是会出现一些常见的问题,而现在插件化开发也很普遍了,有时候插件中也会包含一些so文件,需要加载,这时候也会出现一些问题。本文就来详细总结一下这些问题出现的原因,以及

    2022年6月16日
    26

发表回复

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

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