- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库原理与应用 人民邮电出版社 第5章 关系数据库规范化理论 5.1 函数依赖 5.1.1 函数依赖基本概念 5.1.2 一些术语和符号 5.1.3 为什么要讨论函数依赖 5.2 关系规范化 5.2.1 关系模式中的键 5.2.2 范式 5.1 函数依赖 数据的语义不仅表现为完整性约束,对关系模式的设计也提出了一定的要求。 针对一个实际应用业务,如何构造合适的关系模式,应构造几个关系模式,每个关系模式由哪些属性组成等,这些都是数据库设计问题,确切地讲是关系数据库的逻辑设计问题。 5.1.1 基本概念 省=f(城市):只要给出一个具体的城市值,就会有唯一一个省值和它对应, 如“武汉市”在“湖北省”,这里“城市”是自变量X,“省”是因变量或函数值Y。 把X函数决定Y,或Y函数依赖于X表示为: X→Y 如果有关系模式R(A1,A2,…,An),X和Y为{A1,A2,…,An}的子集,则对于关系R中的任意一个X值,都只有一个Y值与之对应,则称X函数决定Y,或Y函数依赖于X。 示例 例1:对学生关系模式 Student(Sno, SName, Sdept, Sage) 有以下依赖关系: 函数依赖定义 设有关系模式R(A1,A2,…,An),X和Y均为{A1,A2,…,An}的子集,r是R的任一具体关系,t1、t2是r中的任意两个元组; 如果由t1[X]=t2[X]可以推导出t1[Y]=t2[Y],则称X函数决定Y,或Y函数依赖于X,记为X→Y。 在以上定义中特别要注意,只要 t1[X]=t2[X] t1[Y]=t2[Y] 成立,就有X→Y。也就是说只有当t1[X]=t2[X]为真,而t1[Y]=t2[Y]为假时,函数依赖X→Y不成立;而当t1[X]=t2[X]为假时,不管t1[Y]=t2[Y]为真或为假,都有X→Y成立。 5.1.2 一些术语和符号 (1)如果X→Y,但Y不包含于X,则称 X→Y是非平凡的函数依赖。 (2)如果X→Y,但Y包含于X,则称 X→Y是平凡的函数依赖。 若无特别声明,我们讨论的都是非平凡的函数依赖。 (3)如果X→Y,则X称为决定因子。 术语和符号(续) (4)如果X→Y,并且Y→X,则记作 X←→Y。 (5)如果X→Y,并且对于X的一个任意真子集X / 都有X/ —/→Y,则称Y完全函数依赖于X,记作;如果X / →Y成立,则称Y部分函数依赖于X,记作。 (6)如果X→Y(非平凡函数依赖,并且Y—/→X)、Y→Z,则称Z传递函数依赖于X。 示例 例1:有关系模式SC(Sno,Sname,Cno,Credit,Grade),主键为(Sno, Cno),则函数依赖关系有: 示例 例2:有关系模式S(Sno,Sname,Dept,Dept_master),各属性分别为:学号、姓名、所在系和系主任(假设一个系只有一个主任),主键为Sno,则函数依赖关系有: 5.1.3 为什么要讨论函数依赖? 存在问题 数据冗余问题 数据更新问题 数据插入问题 数据删除问题 结论 此关系模式不是一个好的模式。 “好”的模式: 不会发生插入异常、删除异常、更新异常, 数据冗余应尽可能少。 原因:由存在于模式中的某些数据依赖引起 解决方法:通过分解关系模式来消除其中不合适的数据依赖 5.2 关系规范化 关系规范化是指导将有“不良”函数依赖的关系模式转换为良好的关系模式的理论。 这里涉及到范式的概念,不同的范式表示关系模式遵守的不同的规则。 5.2.1 关系模式中的键 候选键:设K为R (U,F)中的属性或属性组,若K完全决定U,则K为R的候选键。 主键:关系R (U,F)中可能有多个候选键,则选其中一个作为主键。 全键:候选键为整个属性组。 包含在任一候选键中的属性称为主属性,不包含在任一候选键中的属性称为非主属性。 示例 例1:学生表(学号,姓名,性别,身份证号,年龄,所在系) 候选键:学号,身份证号,主键:学号或身份证号 主属性:学号,身份证号 例2:学生选课表(学号,课程号,考试次数,成绩) 候选键:(学号,课程号,考试次数),也为主键 主属性:学号,课程号,考试次数,非主属性:成绩 例3:教师_课程表(教师号,课程号,学年) 候选键:(教师号,课程号,学年 ),也为主键 主属性:教师号,课程号,学年,非主属性:无 是全键表 5.2.1 关系模式中的键(续) 外键:用于关系表之间建立关联的属性(组)。 定义:若R(U,F)的属性(组)X(X属于U)是另一个关系S的主键,则称X为R的外键。(X必须先被定义为S的主键。) 5.2.2 范式 关系数据库中的关系要满足一定的要求,满足不同程度要求的为不不同的范式(Normal Form)。 范
文档评论(0)