• 数据库系统概论第六章(关系数据理论)知识点总结(1)—— 函数依赖概念总结


    本专栏收录了数据库的知识点,而从本文起,将讲述有关于关系数据理论中的第一范式、第二范式、第三范式以及BC范式有关知识点,提供给有需要的小伙伴进行学习,本专栏地址可以戳下面链接查看

    🎈 数据库知识点总结(持续更新中):【数据库知识点

    🔑 数据库相关练习题(持续更新中):【数据库练习题

    🔥 一个提供给Java学习者的专栏:【拼图小游戏(Java)

    一、前言

    在解决一个具体问题时,要构造一个属于该问题的数据模式,设计一个较好的关系模式,因而我们需要学习关系数据库

    二、关系模式存在问题

    • 数据冗余
    • 更新异常
    • 插入异常
    • 删除异常

    光讲述这四个问题可能大家没有什么概念,那么通过一个例子带大家浏览一下关系模式存在的问题

    U = {Sno,Sdept,Mname,Cno,Grade}

    SnoSdeptMnameCnoGrade
    S1计算机系张教授C195
    S1计算机系张教授C189
    S2计算机系张教授C192
    S3计算机系张教授C178
    S3计算机系张教授C183

    语义如下:

    1. 一个系有若干学生,但一个学生只属于一个系
    2. 一个系只有一个正职负责人
    3. 一个学生可以选多门课,每门课有若干学生选修
    4. 每个学生学习每门课有一个成绩

    关系模式存在的问题

    1. 数据冗余:系主任的名字重复出现
    2. 更新异常:由于数据冗余,所以一旦更换系主任后,就要修改与这个系有关的学生的每个元组
    3. 插入异常:如果有一个刚成立的系,但是没有学生,就没办法将系相关信息存入数据库
    4. 删除异常:如果某个系的学生都毕业了,那么在删除该系学生信息同时,该系及系主任发信息也就不存在了

    三、函数依赖

    1.引入

    属性组U上的一组函数依赖F如下
    F ={Sno→Sdept, Sdept→Mname, (Sno, Cno)→Grade}
    在这里插入图片描述

    2.定义

    • 设R(U)是一个属性集U上的关系模式,X和Y是U的子集
    • 若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定Y或Y函数依赖于X,记作x➡y
    • X称为决定因素Y称为依赖因素
    • 函数依赖是语义范畴的概念
    • 只能根据数据的语义确定函数依赖

    3.平凡函数依赖与非平凡函数依赖

    • X→Y,Y⊈X,则称X→Y是非平凡的函数依赖
    • X→Y,Y⊆X ,则称X→Y是平凡的函数依赖
    • 若不特别声明,我们一般讨论非平凡函数依赖

    例如:
    在关系SC(Sno, Cno, Grade)中
    非平凡函数依赖: (Sno, Cno) → Grade
    平凡函数依赖: (Sno, Cno) → Sno,(Sno, Cno) → Cno
    因为Sno包含于(Sno, Cno) 中,Cno包含于(Sno, Cno) 中

    4.完全函数依赖和部分函数依赖

    在这里插入图片描述
    在这里插入图片描述

    • Sno、Cno无法单独与Grade形成依赖关系,但是(Sno、Cno)与Grade可以形成函数依赖的关系,那么(Sno、Cno)与Grade存在 完全函数依赖(F) 关系
    • Sno、Cno中的Sno可以单独与Sdept形成依赖关系,并且(Sno、Cno)与Grade不能形成函数依赖的关系,那么(Sno、Cno)与Grade存在 部分函数依赖(P) 关系

    5.传递函数依赖

    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    使用 Data Assistant 快速创建测试数据集
    真题集P115---2015年真题(以及 力扣54)
    【跟学C++】C++字符串——string类(Study15)
    typescript错误代码 error TS2451: 无法重新声明块范围变量“age”。ts(2451)
    【华为OD机试真题2023B卷 JAVA&JS】评论转换输出
    初级永磁直线电机双动子电流镜像容错控制
    RxJava入门
    SSM - Springboot - MyBatis-Plus 全栈体系(二十九)
    pytest合集(7)— 参数化/数据驱动
    【洛谷算法题】P1421-小玉买文具【入门1顺序结构】
  • 原文地址:https://blog.csdn.net/Alita233_/article/details/127772138