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

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

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

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


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

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

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

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

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


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

改成
爸爸信息表:

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



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

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

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


相关推荐

  • JSONArray 转list

    JSONArray 转listJSONArray 转list 可以通过如下简便方法进行JSONArrayprogramsArray=jsonobject.getJSONArray(“programs”);Listlist=(List)JSONArray.toCollection(programsArray,Programs.class);转换过程中容易产生NoSuchMethodEx

    2022年6月23日
    34
  • 电脑可以同时安装两个版本的jdk吗_jdk重复安装了怎么办

    电脑可以同时安装两个版本的jdk吗_jdk重复安装了怎么办场景:公司项目使用的jdk为1.7,最近不是很忙,找到一个爬虫系统学习。该系统使用到了jdk1.8的特性,所以Ineed俩版本,开整!!!1.准备两个版本的jdk我的两个jdk路径为:D:\jdk1.7.0_80D:\ProgramFiles\Java\jdk1.8.0_1112.设置两个子JAVA_HOME,一个总设置两个子JAVA_HOME:…

    2022年9月23日
    5
  • gmapping matlab实现_gmapping学习

    gmapping matlab实现_gmapping学习一、机器人地图机器人地图一般分为三种类型:栅格地图,拓扑地图,特征地图1、栅格地图栅格地图栅格地图,在物流信息技术中有所涉猎,其就是构建一个个“小方块”,利用颜色信息来区分的地图的位置信息。在机器人建图中,栅格地图容易构建,表示且保存位置的唯一,对于短路径的规划方便;但栅格地图的路径规划效率不高,空间浪费(栅格的分辨率不依赖于环境的复杂度)并且也需要精确的机器人位置估计,其对于物体识别的人机交互问…

    2022年6月16日
    35
  • ❤️Windows系统❤️cmd命令+实用工具 大全❤️完整总结

    ❤️Windows系统❤️cmd命令+实用工具 大全❤️完整总结计算机系统自带实用命令+暗黑工具大全集【建议收藏】

    2022年5月1日
    45
  • document.documentElement.clientWidth

    document.documentElement.clientWidth关于获取各种浏览器可见窗口大小的一点点研究functiongetInfo(){vars=””;s=”网页可见区域宽:”document.body.clientWidth;s=”网页可见区域高:”document.body.clientHeight;s=”网页可见区域宽:”document.body.offsetWidth”(包括边线和滚动

    2022年7月22日
    13
  • 复合命题及其推理答案_基本复合命题及其推理

    复合命题及其推理答案_基本复合命题及其推理复合命题,最常见和应用较广的基础推理.

    2022年8月5日
    4

发表回复

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

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