数据库系统与应用复习——第六章关系数据理论

本文介绍了关系模式的设计,强调了数据冗余、更新异常等问题,并详细阐述了函数依赖(FD)的概念,包括完全函数依赖、部分函数依赖和传递依赖。讨论了关系模式的范式理论,如1NF、2NF、3NF、BCNF和4NF,以及如何通过模式分解实现规范化。同时,提供了几个关系模式的例子和相关函数依赖的解题过程,帮助理解数据库设计中的关键概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、关系模式的设计问题

        关系数据库是以关系模型为基础的数据库。

        一个关系既可以用来描述一个实体及其属性,也可以用来描述实体间的联系。

        关系实质上就是一张二维表,表的行称为元组,列称为属性。

        关系模式是用来定义关系的,表的结构,一个关系数据库包含一组关系

        数据库的模式(数据库的结构):二维表结构体的集合。

        关系数据库设计理论:数据依赖(包括函数依赖与多值依赖)、范式、模式设计方法。

        关系模式的存储异常:

  •                 数据冗余:重复出现, 好的关系模式的判断标准
  •                 更新异常:更换一个值要修改很多
  •                 插入异常:没有元组,无法插入信息
  •                 删除异常:不该删掉的也删掉了

一个好的模式应当不会发生插入异常、删除异常和更新异常,数据冗余应当尽可能的少。

二、函数依赖(FD)

1、函数依赖的定义:设有关系模式R(A1,A2,...An)或简记为R(U),X,Y是U的子集,r是R的任一具体关系,如果对r的任意两个元组t1,t2,由t1[X]=t2[X]导致t1[Y]=t2[Y],则称X函数决定Y,或Y函数依赖于X,记为X→Y。X→Y为模式R的一个函数依赖。(若在表中的第t1行,和第t2行上的X值相等,那么必有t1行和t2行上的Y值也相等,这就是说Y函数依赖于X)

设有函数依赖W→A,若存在XW(真子集),有X→A成立,那么称W→A是局部依赖,否则就称W→A是完全函数依赖。

  • 完全函数依赖:与局部依赖相对,W是决定A的最小集合
  • 部分函数依赖:仍然存在W的子集能够完全函数决定A(例:若X→Y,但Y不完全函数依赖于X,Y对X部分函数依赖)
  • 传递依赖:在关系模式中,如果Y→X,X→A,且X不决定Y和A不属于X,那么Y→A是传递依赖。

2、键和FD的关系

键:唯一标识实体的属性集

候选键:指可以唯一决定关系模式R中某元组值且不含有多余属性的属性集。

非主属性(非键属性):关系模式R中不包含在任何建中的属性。

主属性:包含在任何一个候选键中的属性,即所有候选键中都要有

关系:

设关系模式R(A1,A2...An),F是R上的函数依赖集,X是R的一个子集

(1)X→A1A2...An∈F+ (它的意思是X能够决定唯一的一个元组)

(2)不存在X的真子集Y,使得Y也能决定唯一的一个元组,则X就是R的一个候选键。(X能决定唯一的一个元组但又没有多余的属性集)

三、关系模式的范式

种类:

  • 1NF:原子性,R中所有的属性都是不可分基本数据项(不满足1NF,则不能称为关系模式)
  • 2NF:R\epsilon1NF,且不存在非主属性对于候选码的部分依赖
  • 3NF:R\epsilon2NF,且不存在非主属性对于候选码的传递依赖
  • BCNF:R\epsilon1NF,且不存在所有属性对于候选码的部分与传递依赖(每个决定因素都包含码)
  • 4NF:R\epsilonBCNF,且不存在非平凡非函数依赖的多值依赖

1NF>2NF>3NF>BCNF>4NF>5NF

规范化:模式分解,从低级->高级的操作(概念的单一化)

模式的彻底分解(函数依赖范围内):所有关系模式都属于BCNF

全码关系一定是BCNF

二元关系一定是4NF

若表中的属性全都不是非主属性,它一定是3NF,但不一定是BCNF

四、函数依赖(FD)的公理系统

1、函数依赖的逻辑蕴涵

设F是关系模式R的一个函数依赖集,X,Y是R的属性子集

F逻辑蕴涵X→Y:能从F中的函数依赖能够推出X→Y

函数依赖的闭包F+:被F逻辑蕴涵的函数依赖的全体构成的集合。

2、设有关系模式R(U),X,Y,Z,W均是U的子集,F是R上只涉及到U中属性的函数依赖集

Armstrong公理系统:

  • 自反律:如果Y\epsilonX\epsilonU,则X→Y在R上成立。   
  • 增广律:如果X→Y为F所蕴涵,ZU,则XZ→YZ在R上成立。(XZ表示X∪Z,下同)
  • 传递律:如果X→Y和Y→Z在R上成立,则X→Z在R上成立。

进而推出:

  • 合并律:如果X→Y和X→Z成立,那么X→YZ成立。
  • 伪传递律:如果X→Y和WY→Z成立,那么WX→Z成立。
  • 分解律:如果X→Y和ZY成立,那么X→Z成立。

习题:(解题过程见复习笔记)

1)有关系模式R(U,F),属性集合U ={A,B,C,D,E}, 函数依赖集合F = {A->BC, B->D, CD->E, E->B},请回答如下的问题:

        (1) R的候选码是:

        (2) R的主码是:

        (3) R最高属于第几范式? 说明理由;

        (4) R是否为第三范式 , 解释原因;

        (5) 请分解R为符合第三范式的关系模式集合,并给出每个关系模式的主码。

2)设关系模式R(S#,C#,GRADE,TNAME,TADDR),其属性分别表示学生学号、选修课程的编号,成绩、任课教师地址等意义。如果规定,每个学生每学一门课只有一个成绩;每门课只有一个教师任教;每个教师只有一个地址(此处不允许教师同名同姓)。

        (1)试写出关系模式R基本的函数依赖和候选键。

        (2)试把R分解成2NF模式集并说明理由。

        (3)试把R分解成3NF模式集,并说明理由。

3)假设关系模式R如下:R ( Sno,Sdept,Sloc,Cno,Grade ) 其中Sno为学号,Sdept为学生所在系,Sloc为学生的住处,Cno为学生所选修课程号,Grade为成绩。规定一个系有若干名学生,但一个学生只属于一个系;一个学生可以选修多门课,每门课有若干名学生选修;每个学生学习每门课只有一个成绩;每个系的学生住在同一个地方。

        (1).写出关系模式R的基本函数依赖 ;确定R的码,并求解属性组(Sno,Cno)的闭包。

        (2).分析关系模式R最高达到了几范式,为什么?如果R不属于2NF,请将R分解到2NF。

      (3)进行分解,使其满足3NF。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值