手机版

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

时间:2025-04-23   来源:未知    
字号:

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 数据依赖意图讨论一个关系属性间不同的依赖情况 …… 此处隐藏:3843字,全部文档内容请下载后查看。喜欢就下载吧 ……

第四章 关系数据库设计理论.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
    ×
    二维码
    × 游客快捷下载通道(下载后可以自由复制和排版)
    VIP包月下载
    特价:29 元/月 原价:99元
    低至 0.3 元/份 每月下载150
    全站内容免费自由复制
    VIP包月下载
    特价:29 元/月 原价:99元
    低至 0.3 元/份 每月下载150
    全站内容免费自由复制
    注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
    × 常见问题(客服时间:周一到周五 9:30-18:00)