关系模型的相关术语[通俗易懂]

关系模型的相关术语[通俗易懂]关系模型的相关术语

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

基本术语

  • 关系:整个二维表
  • 关系名:表格名称
  • 元组:行数据(记录)
  • 属性:列数据(字段/分量)
  • 属性名:列名称(字段名)
  • 主键:唯一确定元组的属性组(关键字)
  • 域:属性的取值范围
  • 关系模式:关系的描述,表示为:关系名(属性列表)

    • 例如:学生(学号,姓名,性别,年龄,系别
  • 关系的约束:域完整性约束,
  • 实体完整性约束,参照完整性约束

一、关系依赖

  • 函数依赖:X—>Y,即X函数决定Y,或Y函数依赖于X。

    • 例:学号—>姓名      #学号决定姓名
  • 平凡函数依赖:X—>Y,但X包含Y (Y包含于X)。

    • 例:(学号,课号)—>课号  #课号存在于 (学号,课号) 之中。
  • 非平凡函数依赖: X—>Y,但X不包含Y。

    • 例:(学号,课号)—>成绩  #成绩不存在于 (学号,课号) 之中。
  • 完全函数依赖:X—>Y,对于X的任意一个真子集X’都有X’不能函数决定Y。

    • 例:(学号,课号)—>成绩  #只有学号或姓名无法决定成绩,二者缺一不可。
  • 部分函数依赖:X—>Y,存在X的某一个真子集X’能够函数决定Y。

    • 例:(学号,课号)—>姓名  #只有学号就能决定姓名,课号为冗余项。
  • 传递函数依赖:X—>Y,X不包含Y,Y不函数决定X,Y—>Z,即Z对X传递函数依赖。

    • 例:学号—>系号,(系号不函数决定学号) ,系号—>系主任,则系主任传递函数依赖于学号。
  • 多值依赖:X—>—>Y,设R(U)是属性集U上的一个关系模式。X,Y,Z是U的子集,并且Z=U-X-Y,关系模式R(U)中多值依赖X—>—>Y成立,当且仅当对R(U)的任一关系r,给定的一对(x,z)值有一组Y的值,这组值仅仅决定于x值而与z值无关。

    • 例:关系模式R(仓库,管理员,物品)

      • 一个仓库有若干个管理员
      • 一个仓库可以存放多个物品
      • 一个管理员管理一个仓库中的所有物品
      • 一种物品只能放在一个仓库里
    • 则:仓库—>—>物品,仓库—>—>管理员
    • 表中,R = 仓库+管理员+物品,(仓库,管理员)确定一组物品,但是物品其实与管理员无关,仅由仓库确定,所以:仓库—>—>物品。又因为(R-仓库-物品)不是空集,所以 仓库—>—>物品为非平凡多值依赖。
    • 表中,R = 仓库+管理员+物品,(仓库,物品)确定一组管理员,但是管理员其实与物品无关,仅由仓库确定,所以:仓库—>—>管理员。又因为(R-仓库管理员)不是空集,所以 仓库—>—>管理员为非平凡多值依赖。
  • 平凡的多值依赖:若X—>—>Y, 并且X,Y,Z是U的子集,Z=U-X-Y,而Z为空集,则称X—>—>Y为平凡的多值依赖;
  • 非平凡的多值依赖:若X—>—>Y, 并且X,Y,Z是U的子集,Z=U-X-Y,若Z不为空,则称X—>—>Y为非平凡的多值依赖。
  • 连接依赖:为提高规范化程度,都是通过把低一级的关系模式分解为若干个高一级的关系模式来实现的,在此过程中,应该保证分解后产生的关系模式与原来的模式等价。常用的等价标准有两种:要求分解具有无损连接性和要求分解保持函数依赖。
  • 无损连接性的判别:将关系模式R<U,F>分解为关系模式R1<U1,F1>,R2<U2,F2>。如果(U1 ∩ U2 —>U1)∈F+(F的闭包,即F所蕴含的函数依赖的全体),或(U1 ∩ U2 —>U2)∈F+ ,即U1 ∩ U2 是R1的候选码或是R2的候选码,则这个分解一定是具有无损连接性的。

二、关系模式的规范化

  • 满足第一范式条件的关系模式(1NF):关系模式 R的每一个属性都是原子域,元组的每一个分量都是不可分割的数据项。
  • 满足第二范式条件的关系模式(2NF):关系模式 R∈1NF ,每一个非主属性完全函数依赖于码,消除非主属性对码的部分函数依赖。
  • 满足第三范式条件的关系模式(3NF):关系模式 R∈2NF ,每一个非主属性不传递依赖于码,消除非主属性对码的传递函数依赖(对非主属性的函数依赖)。
  • 满足Boyce-Code范式条件的关系模式(BCNF):关系模式 R∈3NF ,对于每一个非平凡函数依赖X—>Y,都有X包含码,消除主属性对于码的部分函数依赖与传递函数依赖。(在函数依赖的范畴内,BCNF达到了最高的规范化程度)
  • 满足第四范式条件的关系模式(4NF):关系模式 R∈BCNF ,对于每一个非平凡的多值依赖X—>—>Y(Y⊄X),都有X包含码。(限制关系模式的属性之间不允许有非平凡且非函数依赖的多值依赖)
  • 满足第五范式条件的关系模式(5NF):关系模式 R∈4NF,消除属于4NF的关系模式中存在的连接依赖。
  • 规范程度层次:5NF⊂4NF⊂BCNF⊂3NF⊂2NF⊂1NF

三、“好的”关系数据库系统应具有的特点

  • 适度减少数据冗余。
  • 关系明确,表与表之间主外键设置明确,表名称明确。

    • 对关系模式的属性间允许的数据依赖加以限制,减少表中非主属性间存在的函数依赖,避免更新异常问题。
    • 非主属性完全函数依赖于码,不允许有非主属性对码的部分函数依赖。
    • 非主属性不传递依赖于码。
  • 选择合理的数据库引擎,查询操作较多的与增删改操作较多的数据库分别使用不同的引擎。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/106918.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Cortex-A53架构(记笔记的方法)

    1.前言一颗芯片最主要的就是CPU核了,处理CPUCore之外,还存在很多其他IP,包括Graphical、Multimedia、MemoryController、USBController等等。ARMproducts列出了主要产品,其中Architecture和Processors需要重点关注。Architecture扩展的四大领域:SecurityExtensio…

  • Android开发之布局优化

    Android开发之布局优化

  • 【京东商城首页实战2】导航条制作(1)[通俗易懂]

    【京东商城首页实战2】导航条制作(1)[通俗易懂]接下来,开始制作京东的导航条。效果如下图:图1业务分析:1.通栏盒子,并且有背景颜色2.有版心。3.版心里面包含左右浮动的两个盒子。4.有下拉效果的盒子后面,有三角形标志。5.右边的盒子里面包含几个li标签。分析完之后,对整个头部的构架和要实现的功能都有简单的了解,下面就是开始一步一步实现这些业务。1.制作一个通栏的盒子,并设置背景颜色。html代码:<

  • java基础—-利用注解和反射把map封装成bean

    java基础—-利用注解和反射把map封装成bean

    2020年11月12日
  • 图形推理1000题pdf_数字推理题,眼尖的一眼就看出来了「建议收藏」

    图形推理1000题pdf_数字推理题,眼尖的一眼就看出来了「建议收藏」动脑往期回看>>每日推理每日推理|你能找出犯人吗?每日推理|你是哪个班的?每日推理|拿掉2根木棍,使其变成3个正方形每日推理|共同营业日每日推理|千里寻一每日推理|坏掉的8号电话亭每日推理|哪两个才是兄弟?每日推理|白马王子每日推理|神奇海螺脑筋急转弯答案笑死人的脑筋急转弯看了想打人的题目移动火柴游戏复杂的迷宫图形推理5道很难的字谜△点击…

  • 全局路径规划:图搜索算法介绍4(RRT/RRT*)

    全局路径规划:图搜索算法介绍4(RRT/RRT*)本节介绍RRT/RRT*的算法:RRT的基本原理是:我们首先初始化我们的起点,接下来随机撒点,选出一个x_rand,在x_near和x_rand之间选择一个x_new,再在原有的已经存在的x中找到离这个点最近的点将这两个点连接起来,同时这个最近的点也会作为x_new的父节点。RRT算法的伪代码如下:对照着图,再看一次:首先我们随机生成一个点,x_rand然后再tree上面…

    2022年10月24日

发表回复

您的电子邮箱地址不会被公开。

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