版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库原理与设计,数据库原理与设计,第3章 关系数据理论,数据库原理与设计,第3章 关系数据理论,关系模式设计中的问题 函 数 依 赖 范 式 关系模式的规范化,设计任何一种数据库应用系统,不管是层次的、网状的、还是关系的,都会遇到如何构造合适的数据模式即逻辑结构的问题。即应该构造几个关系,每个关系有哪些属性组成,由于关系模型有严格的数学理论基础,并且可向别的数据模型转换,因此人们以关系模型为背景,形成了数据库逻辑设计的一个有力工具关系数据库的规范化理论。,数据库原理与设计,复习,关系 笛卡尔积 元组 属性 R(U,D,DOM,F) 五元组 当且仅当U上的一个关系r满足F时,r称为关系模式R(
2、U,F)的一个关系。 注:关系是关系模式在某一时刻的状态和内容。关系模式是静态的、稳定的,关系是动态的,可能随时间而不同,但它们必须满足F所指定的约束条件。,数据库原理与设计,3.1 关系模式设计中的问题,3.1.1 规范化理论的主要内容 关系数据库的规范化理论主要包括三个方面的内容: 函数依赖、范式和模式设计。 其中函数依赖起着核心的作用,是模式分解和模式设计的基础,范式是模式分解的标准。,数据库原理与设计,3.1.2 关系模式的操作异常,例3-1 要求设计学籍管理数据库,其关系模式SMD如下。 SMD(SNo,SName,SAge,CLno,MN,CNo,Score) 根据上述的语义规定并
3、分析以上关系中的数据,可以看出,(SNo,CNo)属性的组合能唯一标识一个元组,所以(SNo,CNo)是该关系模式的主码,但在进行数据库的操作时,会出现以下几方面的问题。,数据库原理与设计,3.1.2 关系模式的操作异常 (2),(1)数据冗余。每个班级编号和班主任名字的存储次数等于该班的学生人数乘以每个学生选修的课程门数,同时学生的姓名、年龄也都要重复存储多次,数据的冗余度很大,浪费了存储空间。 (2)插入异常。如果某个新班暂无学生注册,则关于班级信息和班主任的信息无法插入到数据库中。因为在这个关系模式中,(SNo,CNo)是主码,根据关系的实体完整性约束,主码的值不能为空,而这时没有学生,
4、SNo和CNo均无值,因此不能进行插入操作。另外,如果某个学生尚未选课,即CNo未知,实体完整性约束还规定,主码的值不能部分为空,同样也不能进行插入操作。 (3)删除异常。当某班学生全部毕业时,要删除全部学生的记录,这时班级编号、班主任也随之删除,而现实中这个班的班主任依然存在,但在数据库中却无法找到相应的信息。另外,如果某个学生本学期只选修一门课程00005,当他不再选修该课程时,本应该只删去课程信息00005,但00005是主关系键的一部分,为保证实体体完整性,必须将整个元组一起删掉,这样,有关该学生的其他信息也随之丢失。 (4)更新异常。如果某学生改名,则该学生的所有记录要要逐一修改SN
5、ame的值;又如某班更换班主任,则属于该班的学生记录都要修改班主任的内容,稍有不慎,就有可能漏改某些记录,这就会造成数据的不一致,破坏了数据的完整性。,数据库原理与设计,一个好的关系模式应该具备4个条件, 尽可能少的数据冗余; 没有插入异常; 没有删除异常; 没有更新异常。 但要注意,一个好的关系模式并不是在任何情况下都是最优的。比如查询某个学生选修课程名及所在班的班主任时,要通过连接,而连接所需要的系统开销非常大。因此要以实际设计的目标出发进行设计。,数据库原理与设计,3.2 函 数 依 赖,Y=X+5 确定的映象关系 Example 1:RSno,Sname,Sdept F=SnoSnam
6、e,SnoSdept Example 2:RSno,Sdept,Mname,Cname, Grade F=SnoSdept,SdeptMname,(Sno,Cname)Grade,数据库原理与设计,分析 数据冗余 规范化理论正是用来改造关系 更新异常 模式,通过分解关系模来消除其 插入异常 中不合适的数据依赖,使之成为 删除异常 一个“好”模式 分解后: S(SNO,SDEPT,SNOSDEPT) SG(SNO,CNAME,G,(SNO,CNAME)G) DEPT(SDEPT,MNAME,SDEPTMNAME),模式存在问题:,数据库原理与设计,1、函数依赖 定义:设R(U)是一个关系模式,U
7、是R的属性集合,X和Y是U的子集,对于R(U)的任何一个可能的关系r, 如果r中不存在两个元组,它们在X上的属性值相同,而在Y上的属性值不同,则称“X函数确定Y”或“Y函数依赖于X”,记作XY。 说明 a、函数依赖是指R的所有关系实例均要满足的条件。 b、函数依赖是语义范畴的概念。 c、数据库设计者可对现实世界作强制规定。 d、若XY,则X叫决定因素(决定因素集) e、若XY,且YX,则记为XY。 f、若Y不依赖于X则记为X Y。 2、平凡函数依赖与非平凡函数依赖 XY,但Y不是X的子集,则XY是非平凡函数依赖。 XY,但Y是X的子集,则XY是平凡函数依赖。,基本概念,数据库原理与设计,3、完
8、全函数依赖和部分函依赖 设有关系模式R(U),U是属性全集,X和Y是U的子集,如果XY,并且对于X的任何一个真子集X,都有XY,则称Y对X完全函数依赖(Full Functional Dependency),记作XY。如果对X的某个真子集X,都有XY,则称Y对X部分函数依赖(Partial Functional Dependency),记作XY。 Example: Student(Sno,Sname,Sdept,Sage) SC(Sno,Cno,Grade) 、传递函数依赖 在关系模式R(U)中,U是属性全集,X、Y和Z是U的子集,若XY,(YX),Y X,而YZ,则称Z对X传递函数依赖(Tr
9、ansitive Functional Dependency),记作X Y。如果YX,则XY,这时称Z对X直接函数依赖,而不是传递函数依赖。 Example: Student(Sno,Sid,Sage),基本概念(2),数据库原理与设计,5、码 设K为R(U,F)中的属性或属性组合,若KU则K为R的侯选码。若侯选码多于一个,则选定其中的一个为主码(Primary key)。 包含在任何一个侯选码中的属性,叫做主属性。 不包含在任何中的属性称为非主属性或非码属性 。 最简单的情况,单个属性是码。 最极端的情况是,整个属性组是码,称为全码。 如:S(SNO,SDEPT,SAGE ) SC(SNO,
10、CNO,G) R(P,W,A),属性P表示演奏者,W表示作品,A表示听众,基本概念(3),数据库原理与设计,3.3 范 式,规范化的基本思想是消除关系模式中的数据冗余,消除数据依赖中的不合适的部分,解决数据插入、删除时发生的异常现象。这就要求关系数据库设计出来的关系模式要满足一定的条件。我们把关系数据库的规范化过程中为不同程度的规范化要求设立的不同标准称为范式 一、1NF(数据项不可再分) 二、2NF(不允许有非主属性对码的部分依赖) 三、3NF(不允许有非主属性对码的传递依赖) 四、BCNF(不允许有主属性对码的部分依赖) 例1:SC(SNO,CNO,GRADE) 例2:SJP(S,J,P)
11、,其中S表示学生,J表示课程,P表示名次。分析得出下面的函数依赖 (S,J)P (J,P) S SJP BCNF 注:如果一个关系数据库中的所有关系模式都属于BCNF,那么在函数依赖范围内,它已实现了模式的彻底分解,达到了最高的规范化程度, 消除了插入异常和删除异常。,数据库原理与设计,五、多值依赖,例:TEACH(C,T,B),其中C表示课程,教师T,参考书B,关系如下 数学 邓军 数学分析 陈思 高等代数 微分方程 物理 李平 普通物理 王强 光学原理 刘明 分析:1、是否属于BCNF 2、数据冗余度 3、增加操作、删除操作、修改操作 4、原因(B和T的取值毫无关系) 定义:设R(U)是一
12、个属性集U上的一个关系模式,X,Y,Z是U的子集,并且Z=U-X-Y,多值依赖XY成立当且仅当对R的任一关系r,r在(X,Z)上的每个值对应一组Y的值,这组值仅仅决定于X值而与Y的值无关. 若XY,而Z=,则称XY为平凡的多值依赖。否则为非平凡的多值依赖。,数据库原理与设计,六、4NF,1、定义 关系模式R1NF,如果对于R的每个非平凡多值依赖XY(Y X),X都含有候选码,则R 4NF。 例:Y=X+5 Y=ARCSINX,数据库原理与设计,3.4 关系模式的规范化,一、基本思想 规范化实际上是概念的单一化。 二、基本步骤 1NF-2NF-3NF-BCNF-4NF-5NF 三、关系模式的分解 保证分解后的关系模式与原关系模式等价。,数据库原理与设计,例:SL(SNO,SDEPT,SLOC) SNOSDEPT SDEPT SLOC SNO SLOC,3.4 关系模式的规范化(2),数据库原理与设计,1、第一种分解方法 SL分解为三个关系SN(SNO),SD(SDEPT), SO(SLOC) 2、第二种分解方法 NL(SNO,SLOC) DL(SDEPT,SLOC),分解方法,数据库原理与设计,ND(SNO,SDEPT) NL(SNO,SLOC),3、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年影视拍摄权合同
- 员工2026年借款合同
- 2026年医疗废物处理合同
- 2026年线上广告效果评估合同协议
- 2026年电梯隔音改造合同
- 物业绿化承包合同
- 2026届新高考英语冲刺复习名词性从句
- 家政服务员中级培训课件
- 安全培训讲课话术课件
- 土建机电培训课件
- 2025甘肃武威市市直参照公务员法管理单位遴选24人备考题库附答案
- 拜师礼现场课件
- 杜氏肌营养不良运动功能重建方案
- 2026贵州大数据产业集团有限公司第一次招聘155人模拟笔试试题及答案解析
- 酒店合并协议书范本
- 2026年计算机四级(Linux工程师实务)考试题及答案
- 贵州贵阳市2023-2024学年高一上学期期末考试化学试卷(含答案)
- “十五五”渔业产业高质量发展规划(2026-2030年)
- 肿瘤药物给药顺序课件
- 海南计算机与科学专升本试卷真题及答案
- 企业安全一把手授课课件
评论
0/150
提交评论