第4章关系规范化理论讲解.ppt
文本预览下载声明
1971 E.F.Codd 提出 1NF 2NF 3NF BCNF 4NF 5NF 4.1 问题的提出 缺点 1、冗余太大 2、操作异常 1)插入异常 2)删除异常 3)修改异常 适当地进行模式分解 可以避免各种问题 1、冗余太大 2、操作异常 1)插入异常 2)删除异常 3)修改异常 适当地进行模式分解 关系规范化理论 数据依赖和关系规范化 阿姆斯特朗公理系统 模式分解 由定义可以导出下列基本概念: 1 .决定因素:若X →Y,则X叫做决定因素 2 .互相依赖:若X →Y, Y →X, 则记作X ←→Y。 3 .若Y不函数依赖于X,则记作X Y。 定义4.4 :平凡(非平凡)函数依赖 在R(U)中,一个函数依赖如果满足Y X,则称此函数依赖是非平凡函数依赖,否则称为平凡函数依赖。 定义4.6 :部分函数依赖 在R(U)中,如果X →Y,存在真子集X’,有X’ → Y成立,则称Y对X部分函数依赖。记作: 定义4.8:设K为R(U,F)中的属性或属性组,若 ,则K为R的候选码。 三、第一范式(1NF) 定义4.9:满足关系的每一个分量是不可分的数据项这一条件的关系模式就属于第一范式(1NF)。 缺点: 插入异常、删除异常、冗余太大、修改复杂 第二范式(2NF) 定义4.10: 若R∈1NF,且每一个非主属性完全函数依赖于码,则R∈2NF。 第三范式(3NF) 定义4.11:关系模式R(U,F)中若不存在这样的码X,属性组Y及非主属性组Z(Z?Y)使得X→Y,(Y →X) Y →Z成立,则称R(U,F)∈3NF。 例:项目(编号,项目名称,负责人,职务,成员,任务情况) (假设:负责人无重名情况) 例:分析下列关系属于第几范式 学生学习情况: (学号,姓名,班级,年龄,宿舍,系部,系主任,课程号,课程名,先修课程,成绩) 例:关系模式SJP(S,J,P) S:学生 [学生选修课程有一定的名次] J:课程 [每门课程中每一名次只有一个学生] P:名次 (名次没有并列) 函数依赖: (S,J)→ P (J,P)→ S 分析得知:SJP ∈ 3NF SJP ∈ BCNF 例:关系模式STJ(S,T,J) S:学生 [某一学生选定某门课,就对应一个固定教师] T:教师 [每个教师只教一门课] J: 课程 [每门课有若干教师] 函数依赖: (S,J)→ T (S,T)→ J 分析得知:STJ ∈ 3NF 但是:STJ ∈ BCNF 因为: T → J STJ可以分解为:ST(S,T)TJ(T,J) 指出下列关系模式属于第几范式,并说明理由。 内容回顾 定义4.15 逻辑蕴含 定义:对于R(U,F),如果X→Y不在F中,但是对于其任何一个关系r,X→Y都成立,则称F逻辑蕴含X→Y。 [或者说: X→Y可以由F导出] Armstrong公理系统 对于关系模式R(U,F),有 公理1:自反律(Reflexivity) 若Y? X ? U,则X→Y为F所蕴含。 公理2:增广律(Augmenttation) 若X→Y为F所蕴含,且Z?U,则XZ→YZ为F所蕴含。 公理3:传递律(Transitivity) 若X→Y,Y→Z为F所蕴含,则X→Z为F所蕴含。 公理4:合并规则 由X→Y,X→Z,有X→YZ。 公理5:伪传递规则 由X→Y,WY→Z,有XW→Z 公理6:分解规则 由X→Y及 Z ? Y,有X→Z。 4.3.2函数依赖集闭包和属性集闭包 定义 4.16 F的闭包 定义:在关系模式R(U,F)中为F及F所逻辑蕴含的函数依赖的全体叫做F的闭包。记为F+。 F +={X → Y|F及能由F根据Armstrong公理导出} X关于函数依赖集F的闭包 定义:设F为属性集U上的一组函数依赖,X? U, XF +={A|X→A能由F根据Armstrong公理导出},XF+称为属性集X关于函数依赖集F的闭包。 【例】设关系模式R(A、B、C)的函数依赖集为F={A → B,B → C},分别求A、B、C的闭包。 设F为
显示全部