1 / 12

关系数据理论

关系数据理论. 要点. 关系规范化理论研究背景 数据依赖 规范化 (Normalization) 理论 1NF 、 2NF 、 3NF 、 BCNF 、 4NF 等范式 关系模式规范化的必要性及方法. 5.1 问题的提出. 问题提出: 针对一个具体问题,如何构造 合适的 ( 更好的 ) 数据模式,即如何更好地设计数据的逻辑结构? 关系数据理论的研究背景 关系模型建立在严格的数据理论基础上,并可向别的数据模型转换,因此常以关系模型为背景来讨论这个问题. 背景知识. 数据模式 (schema)

oded
Download Presentation

关系数据理论

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 关系数据理论

  2. 要点 • 关系规范化理论研究背景 • 数据依赖 • 规范化(Normalization)理论 • 1NF、2NF、3NF、BCNF、4NF等范式 • 关系模式规范化的必要性及方法

  3. 5.1 问题的提出 • 问题提出: • 针对一个具体问题,如何构造合适的(更好的)数据模式,即如何更好地设计数据的逻辑结构? • 关系数据理论的研究背景 • 关系模型建立在严格的数据理论基础上,并可向别的数据模型转换,因此常以关系模型为背景来讨论这个问题

  4. 背景知识 • 数据模式(schema) • 数据库中全体数据的逻辑结构和特征描述,如数据记录的构成,数据间的联系,安全性、完整性要求等。常以某一种数据模型为基础 • 关系模型的形式化定义:R(U,D,dom,F),本章简化为R(U, F) • 关系模型R的一个关系r:U上的一个关系r满足F 一组数据依赖 属性组

  5. 一个例子:学生-课程-成绩管理 • 客观存在的事实 • 一个系有若干学生,但一个学生只属于一个系;一个系只有一名负责人;一个学生可以选修多门课程,每门课程有若干学生选修;每个学生学习每一门课程有一个成绩 • 设计如下单个模式 • 属性组U = {学号SNO,系名SDEPT,系负责人MN,课程名CNAME,成绩G} • 数据依赖 • 该模式存在的问题?怎么改善这个模式?

  6. SNO CNAME G MN SDEPT 问题和改进 • 该模式存在的问题 • 插入异常:一个系无学生或未安排课程时,无法存入系与负责人删除异常:删除一个系的所有学生信息时,系与负责人也丢失 • 冗余太大:负责人姓名重复存入 • 更新异常:当某系负责人更换时,须更新该系所有学生信息中的信息,更新不完全时,易造成数据不一致 • 原因:数据依赖存在一些不合适的性质,需寻找更好的模式,如 S(SNO, SDEPT, ) SG(SNO, CNAME, G, ) DEPT(SDEPT, MN, )

  7. 5.2 规范化 • 意图 • 讨论一个关系属性间不同的依赖情况 • 讨论如何根据属性间依赖关系来判定关系是否有某些不合适的性质 • 数据依赖概念 • 反映客观世界数据间的相互关联 • 通过一个关系中属性间值的相等与否来体现 • 两种重要的数据依赖 • 函数依赖(Functional Dependency, FD) • 多值依赖(Multivalued Dependency, MVD)

  8. 5.2.1 函数依赖 • 定义1 • 设R(U)是属性集U上的关系模式。X,Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定Y或Y函数依赖于X,记作 • 术语和记号 • ,但 ,则称 是非平凡的函数依赖 • ,但 ,则称 是平凡的函数依赖 • 若 ,则X叫做决定因素 • 若 , ,则记作 • 若Y不函数依赖于X,则记作

  9. 对函数依赖的说明 • 换句话说:任何时候若某一关系中的两个元组中的X属性组的值相等,则元组中对应的属性组Y的值也相等,类似于函数概念,Y = f(X) • 需要指出的是:关系R中,如果属性组X是一个候选码或码,则属性组Y一定函数依赖于X(这与候选码的定义一致) • 事实上:如果关系R上有函数依赖XY,而属性X不是一个候选码,则R中可能存在一些数据冗余 • 例如:R(Sno, Sdept, MN, Cname, Grade)中有函数依赖Sdept->MN,而Sdept并不是候选码,表中数据有大量冗余出现

  10. F P 函数依赖 • 定义2 • 在R(U)中,如果 ,并且对于X的任何一个真子集X’, 都有 ,则称Y对X完全函数依赖,记作 • 若 ,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作 • 定义3 • 在R(U)中,如果 ,( ) , , , • 则称Z对X传递函数依赖,记作 传递

  11. F 5.2.2 码 用函数依赖的概念来定义码 • 定义4 • 设K为R(U,F)中的属性或属性组合,若 则K为R的候选码(Candidate Key)。 • 若候选码多于一个,则选定其中的一个为主码(Primary Key) • 相关术语 • 包含在任何一个候选码中的属性,叫做主属性 • 不包含在任何码中的属性,叫做非主属性 • 整个属性组是码,称为全码

  12. • 定义5 • 关系模式R中属性或属性组X并非R的码,但X是另一个关系模式的码,则称X是R的外部码(Foreign Key),也称为外码 ★ 主码与外码提供了一个表示关系间联系的手段 SC(Sno,Cno,Grade) Studen(Sno,Sname,….) Course(Cno, Cname,….)

More Related