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

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

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

基本术语

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

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

一、关系依赖

  • 函数依赖: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

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

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

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

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

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


相关推荐

  • Java安全之Unsafe类

    Java安全之Unsafe类0x00前言前面使用到的一些JNI编程和Javaagent等技术,其实在安全里面的运用非常的有趣和微妙,这个已经说过很多次。后面还会发现一些比较有意思的技术,比如AS

    2021年12月12日
    53
  • 蓝桥杯单片机DS1302实时时间设计(时间暂停、启动设置)

    蓝桥杯单片机DS1302实时时间设计(时间暂停、启动设置)

    2021年11月12日
    77
  • 呼叫中心坐席功能在职场中的应用

    呼叫中心坐席功能在职场中的应用呼叫中心系统有很多功能,其中呼叫中心坐席功能是专门为坐席人员打造的,能够极大提高坐席工作效率,也便于对坐席员工统一管理,下面我们就来了解下,呼叫中心坐席在系统中有哪些功能?1、来电接听与外呼:这是最基本的功能,座席能通过呼叫中心系统实现客户来电接听,并通过外呼功能实现回访等主动沟通。来电与外呼时电脑屏幕上会自动弹出该的用户信息,如主叫号码、用户姓名、归属地信息,客户类别、服务历史及客户自定义的相关信息,以方便座席代表高效、准确地提供个性化服务。2、坐席签入、签出、置忙…

    2022年7月12日
    20
  • 关键字declare_protected关键字

    关键字declare_protected关键字在写函数模板时,存在一个问题是不能总能知道应该在声明中使用那种类型。例如:templatevoidft(T1x,T2y){…?type?xpy=x+y;…}在以上的例子中,因为函数模板的存在,我们并不能知道变量xpy的类型。这时我们可以使用C++11新增的关键字decltypeintx;

    2025年10月10日
    2
  • windows下安装emscripten python下载安装

    windows下安装emscripten python下载安装目录1.在电脑上安装配置好git和python2.新建个文件夹,用于放置emscripten3.在文件夹中,右键,gitbashhere4.从git上克隆出emscripten5.进入下载完的emsdk文件夹6.下载完查看是否更新emsdk7.安装最新的emsdk并配置全局的环境变量8.如果上一步安装成功,激活9.应用环境变量10.检验是否安装成功…

    2025年6月9日
    3
  • Laravel 5 如何实现网站在维护模式下允许指定 IP 用户访问(白名单)

    Laravel 5 如何实现网站在维护模式下允许指定 IP 用户访问(白名单)

    2021年11月4日
    39

发表回复

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

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