教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 实用文档 >

第四章 关系数据库设计理论

来源:网络收集 时间:2026-07-21
导读: 2011/12/23 第四章 关系数据库设计理论 要点关系规范化理论研究背景 数据依赖 规范化(Normalization)理论 规范化(Normalization)理论1NF、2NF、3NF、BCNF、4NF等范式 、 、 、 、 等范式 关系模式规范化的必要性及方法 引言关系数据库系统由三级结构/ 关系数

2011/12/23

第四章 关系数据库设计理论

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

引言关系数据库系统由三级结构/ 关系数据库系统由三级结构/两级映象的体系 结构构成。 结构构成。关系模式是指关系数据库三级结构 中的模式,即数据库的逻辑结构。 中的模式,即数据库的逻辑结构。 模式是数据库的整体结构, 模式是数据库的整体结构,由所有的基本表的 结构构成的整体就是模式。视图是子模式, 结构构成的整体就是模式。视图是子模式,它 是模式的子集,是面向某一具体应用的。 是模式的子集,是面向某一具体应用的。 内模式是对数据的存储形式, 内模式是对数据的存储形式,它由一组物理文 件构成, 件构成,每一个物理文件对应一个或多个基本 表。

引言从合理组织数据加以存储的角度出发, 从合理组织数据加以存储的角度出发, 要求达到数据的冗余度小、共享性高。 要求达到数据的冗余度小、共享性高。 解决的办法是对模式进行分解, 解决的办法是对模式进行分解,分解成 一组关系模式, 一组关系模式,每一关系模式对应一个 基本表。而在使用方面, 基本表。而在使用方面,通过将多个关 系模式进行自然连接, 系模式进行自然连接,构成完整的关系 模式。 模式。 怎样的分解才是合理的? 怎样的分解才是合理的?关系数据库理 论就是用来指导关系数据库模式设计的。 论就是用来指导关系数据库模式设计的。 模式设计是数据库设计的主要内容之一。 模式设计是数据库设计的主要内容之一。

4.1 问题的提出问题提出: 问题提出:针对一个具体问题, 针对一个具体问题,如何构造合适的(更好 的)数据模式,即如何更好地设计数据的逻 数据模式, 数据模式 辑结构? 辑结构?

关系数据理论的研究背景关系模型建立在严格的数学理论基础上, 关系模型建立在严格的数学理论基础上, 并可向别的数据模型转换, 并可向别的数据模型转换,因此常以关系 模型为背景来讨论这个问题

背景知识数据模式(schema) 数据模式数据库中全体数据的逻辑结构和特征描述, 数据库中全体数据的逻辑结构和特征描述, 如数据记录的构成,数据间的联系,安全性、 如数据记录的构成,数据间的联系,安全性、 完整性要求等。 完整性要求等。常以某一种数据模型为基础

关系模型的形式化定义: 关系模型的形式化定义:R(U,D,dom,F), , 本章简化为R(U, F) 本章简化为 关系模型R的一个关系 : 上的

一个关 关系模型 的一个关系r:U上的一个关 的一个关系 满足F 系r满足 满足一组数 据依赖 属性组

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

F = {SNO →SD EPT, SD EPT →M , (SNO, CNAM ) →G} N E该模式存在的问题?怎么改善这个模式? 该模式存在的问题?怎么改善这个模式?

问题和改进该模式存在的问题 插入异常( 插入异常(Insertion Anomalies) ) 该插的数据无法插入到表中。 该插的数据无法插入到表中。 一个系无学生或未安排课程时, 一个系无学生或未安排课程时,无法存入系与负责人 删除异常( 删除异常(Deletion Anomalies) ) 不该删除的数据不得不删 删除一个系的所有学生信息时, 删除一个系的所有学生信息时,系与负责人也丢失 冗余太大 浪费大量的存储空间 负责人姓名重复存入 更新异常( 更新异常(Update Anomalies) ) 更新数据时,维护数据完整性代价大。 数据冗余 ,更新数据时,维护数据完整性代价大。 当某系负责人更换时,须更新该系所有学生信息中的信息, 当某系负责人更换时,须更新该系所有学生信息中的信息, 更新不完全时, 更新不完全时,易造成数据不一致

问题和改进MN SDEPT SNO CNAME

G

结论Student关系模式不是一个好的模式。 关系模式不是一个好的模式。 关系模式不是一个好的模式 所谓“ 的模式:不会发生插入异常、删除异常、 所谓“好”的模式:不会发生插入异常、删除异常、 更新异常,数据冗余应尽可能少。 更新异常,数据冗余应尽可能少。原因:由存在于模式中属性间的某些依赖关系引起的。 原因:由存在于模式中属性间的某些依赖关系引起的。 某些依赖关系引起的 解决方法:通过分解关系模式来消除其中不合适的依赖。 解决方法:通过分解关系模式来消除其中不合适的依赖。 S(SNO, SDEPT, SNO→SD EPT ) SG(SNO, CNAME, G, (SNO,CNAME) →G ) DEPT(SDEPT, MN,SD EPT →M ) N

4.2 数据依赖意图讨论一个关系属性间不同的依赖情况 讨论如何根据

属性间依赖关系来判定关系是否有某 些不合适的性质

数据依赖概念反映客观世界数据间的相互关联 通过一个关系中属性间值的相等与否来体现

两种重要的数据依赖函数依赖(Functional Dependency, FD) 函数依赖 多值依赖(Multivalued Dependency, MVD) 多值依赖

4.2 数据依赖规范化(Normalization)是指定义一组关系模式应该符 是指定义一组关系模式应该符 规范化 合的条件(范式 范式), 合的条件 范式 ,而符合这些条件的关系模式就不存在 某些操作异常,冗余也会减小。 某些操作异常,冗余也会减小。

函数依赖(Functional Dependencies,简写为 函数依赖 ,简写为FD)定义: 是一个属性集U上的关系模式 定义:设R(U)是一个属性集 上的关系模式,X和Y是U 是一个属性集 上的关系模式, 和 是 的子集。若对于R(U)的任意一个可能的关系 ,r中 一个可能的关系r, 中 的子集。若对于 的任意一个可能的关系 不可能存在两个元组在X上的属性值相等 而在Y 上的属性值相等, 不可能存在两个元组在 上的属性值相等, 而在 上的属性值不等, 函数确定Y” 上的属性值不等, 则称 “X函数确定 或 “Y函 函数确定 函 数依赖于X”,记作X→Y(读作 决定 ) 。 X称为 决定Y) 数依赖于 ,记作 (读作X决定 称为 决定因素(Determinant)。 这个函数依赖的决定因素 。 这个函数依赖的决定因素学生关系Student(Sno,Sname,Ssex,Sage,Sdept)假设不允 例: 学生关系 假设不允 许重名,则有: 许重名,则有:Sno→Ssex, Sno→Sage, Sno→Sdept, Sno→Sname, Sname→Sno, Sname→Ssex, Sname→Sage, Sname→Sdept。 。

4.2 数据依赖说明: 说明: 1. 函数依赖不是指关系模式 的某个或某些关系实例满足 函数依赖不是指关系模式R的某个或某些关系实例满足 的约束条件,而是指R的所有关系实例均要满足的约束 的约束条件,而是指 的所有关系实例均要满足的约束 条件。 条件。 语义范畴的概念 2. 函数依赖是语义范畴的概念。只能根据数据的语义来确 函数依赖是语义范畴的概念。 定函数依赖。 定函数依赖。 姓名→年龄 年龄” 例如 “姓名 年龄” 这个函数依赖只有在不允许 有同名人的条件下成立。 有同名人的条件下成立。 …… 此处隐藏:4875字,全部文档内容请下载后查看。喜欢就下载吧 ……

第四章 关系数据库设计理论.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1112887.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)