1 / 15

数据库原理与 SQL Server

数据库原理与 SQL Server. 第 7 课 数据库规范化设计 ( 三 ). 第 7 课 数据库规范化设计 —— 范式. 目标: 了解关系模式的范式的概念 掌握第一、二、三范式的判定 掌握关系模式的规范化方法. 3.3 数据库原理 — 数据库规范化设计. 概念: 对于给定应用环境,构造最优数据库模式 目标:结构合理、使用方便、效率较高的数据库 内容: 3.3.1 数据模型 3.3.2 关系模型规范化问题 3.3.3 函数依赖 3.3.4 属性集闭包 3.3.5 范式. 数据库逻辑结构. 数据依赖. 评价标准. 一、范式.

anoki
Download Presentation

数据库原理与 SQL Server

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 数据库原理与SQL Server 第7课 数据库规范化设计(三)

  2. 第7课 数据库规范化设计——范式 目标: • 了解关系模式的范式的概念 • 掌握第一、二、三范式的判定 • 掌握关系模式的规范化方法

  3. 3.3 数据库原理—数据库规范化设计 概念:对于给定应用环境,构造最优数据库模式 目标:结构合理、使用方便、效率较高的数据库 内容:3.3.1 数据模型 3.3.2 关系模型规范化问题 3.3.3 函数依赖 3.3.4 属性集闭包 3.3.5 范式 数据库逻辑结构 数据依赖 评价标准

  4. 一、范式 范式:满足特定要求的关系模式,评价关系模式的优劣 第n范式:表示关系模式的某一级别 5NF⊂4NF⊂BCNF⊂3NF⊂2NF⊂1NF 规范化:通过模式分解,将低一级范式转换成若干高一级范式

  5. 第一范式(1NF) 定义 R中每一属性的值域为原子的,则R属于1NF模式 实例 对R(sno,sname,sex,phone) 当phone包含两个电话时R非1NF 结论 ● 1NF与关系模式的性质(属性是原子的)一致, 即关系模式必属于1NF

  6. 第二范式(2NF) 定义 R∈1NF且每个非主属性完全依赖于候选键,则R属于2NF模式 非主属性: 主属性: 不属于候选键的属性 属于候选键的属性 完全依赖: 局部依赖: 左部不可约 左部可约 实例 关系模式R(sno,cno,score,tno,taddress),约定“一门课程只能 由一个教师带”,判断R是否属于2NF模式 由“一门课程只能由一个教师带”,则候选键为:(sno,cno) 对非主属性tno、taddress,有:cno→(tno,taddress) 则(sno,cno)→(tno,taddress)为局部依赖 即R∉2NF

  7. 2NF结论 ● 2NF要求每个非主属性不能由候选键的一部分 决定,否则必有冗余 如R(sno,cno,score,tno,taddress),当同一课程 有多个学生选修时,tno冗余 ● 当R候选键为单属性时,必属于2NF

  8. 2NF分解 算法R(WXYZ),若存在X→Y(即Y局部依赖于候选键), 则可将R分解为: R1(WXZ)和R2(XY)。 实例 对关系模式R(sno,cno,score,tno,taddress),R∉2NF 分解: R1(sno,cno,score) 和 R2(cno,tno,taddress) 消除了局部依赖(sno,cno)→(tno,taddress) R1、R2∈2NF 注意 taddress为教师的属性

  9. 第三范式(3NF) 定义 R∈1NF且每个非主属性都不传递依赖于候选键,则R属于 3NF模式 X→A传递依赖:X→Y,Y→A(Y→X不成立且A∉Y) 等价定义:R∈1NF且F中每个非平凡X→Y,都有X是超键或Y中 每个属性均为主属性,则称R属于3NF模式 实例 将R分解为R1(sno,cno,score)和R2(cno,tno,taddress),判断 R2是否属于3NF模式 ,taddress为非主属性且tno非超键 ,R2∉3NF 有:tno→taddress (一教师可带多门 课 或:cno→tno ,tno→taddress 且tno→cno不成立 ,故cno→taddress为传递函数依赖 ,即tno一定非候选键)

  10. 3NF结论 ● 3NF要求每个非主属性必须由候选键决定,否则必有 数据冗余 如R2(cno,tno,taddress),当同一教师带多门课程时,taddress冗余 ● 2NF只要求每个非主属性不能由候选键的一部分(但 可以是非主属性)决定,显然3NF⊂2NF ● 实际对X→Y,当X非候选键则当X相同Y必冗余 X不属于候选键 X非候选键 X是候选键的一部分 ∉2NF ∉3NF

  11. 3NF分解 算法R(WXYZ),若存在X→Y(即Y传递依赖于候选键), 则可将R分解为: R1(WXZ)和R2(XY)。 实例 对关系模式R2(cno,tno,taddress),R∉3NF 分解: R21(cno,tno) 和 R22(cno,taddress) 消除了taddress传递依赖于cno,R21、R22∈3NF 最终,将非2NF模式R(sno,cno,score,tno,taddress) 分解为3NF模式的关系模式 R1(sno,cno,score) ,R2(cno,tno) ,R3(cno,taddress)

  12. 其他范式 BCNF:所有属性都不传递依赖与候选键 4NF:多值依赖 5NF:联结依赖

  13. 关系模式的分解特性 模式分解:将泛关系模式R(U)分解为模式数据库模式 ρ={R1,…,Rk} 模式分解等价性:R和ρ是否表示同一个数据库 数据等价: 语义等价: 无损分解 保持依赖 判定

  14. 结论 ● 规范化是消除不合适的数据依赖,使关系模式分离 实质是概念的单一化,即一个关系描述一个实体 如R(sno,sname,sex,cno,cname,score),分解为 R1(sno,sname,sex),R2(cno,cname),R3(sno,cno,score) ● 并不是规范化程度越高越好,分解过细将使查询需 更多的联接

  15. 作业 第三章 习题 15、16、17

More Related