SQL Server数据库技术及应用教程(SQL Server 2016)第3章 数据库设计
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 4.Boyce-Codd范式(BCNF) • BCNF是由Boyce和Codd提出来的,通常认为BCNF是修正的3NF,有时也称为扩
充的3NF。 • 定义7 关系模式R<U, F>属于1NF,若X→Y,且Y不是X的子集,X必含有码,那
么称R<U, F>是BCNF关系模式。 • 【例3-4】 学生_教师_课程表存储了学生选,但Y X,则称X→Y是非平凡的函数依
赖。若不特别声明,则总是讨论非平凡的函数 依赖。
• ② X→Y,但YX,则称X→Y是平凡的函数依赖。 • ③ 若X→Y,则X称为决定因素。 • ④ 若X→Y,Y→X,则记作X←→Y。 • ⑤ 若Y不函数依赖于X,则记作X Y。
• 3.1.2 范式
• 1.第一范式(1NF)
• 定义4 如果关系模式R,其所有的属性均为简单属 性,即每个属性都是不可再分的,则称R属于1NF, 记为R∈1NF。不满足1NF条件的关系模式称为非规 范化关系模式。在关系型数据库系统中只讨论规范 化的关系模式,凡非规范化关系模式必须化成规范 化的关系模式。方法是:在非规范化的关系模式中 去掉组属性和重复数据项,即让所有的属性均为原 子项,就满足1NF的条件,变为规范化的关系模式。
• 图书表中“图书号”为关键字。对于非码属性“类型号”和 “类型名”来说,它们传递函数依赖于关键字,所以图书表不 符合3NF。可以将表3-6分解为两个表,见表3-7和表3-8
经过分解后,这两个关系表都不存在传递函数依赖关系,所以它们都符 合3NF。 一个关系模式达到3NF后,基本解决了异常问题,但不能彻底解决数据冗 余问题。
• 定义2 在R(U)中,如果X→Y,并且对于X的 任何一个真子集X',都有X' Y,则称Y对X完 全函数依赖,记作:X Y。
• 若X→Y,但Y不完全函数依赖于X,则称Y对X 部分函数依赖,记作:X Y。
• 定义3 在R(U)中,如果X→Y(Y不属于X), Y X,Y→Z,则称Z对X传递函数依赖。
• 3.1.1 函数依赖 • 函数依赖(Functional Dependency)是关系模式中
各个属性之间的一种依赖关系,是规范化理论中一 个最重要、最基本的概念。
• 定义1 设R(U)是属性集U上的关系模式,X和Y均为U 的子集。如果R(U)的任意一个可能的关系r都存在着 对于X的每个具体值,Y都有唯一的具体值与之对应, 则称X函数决定Y,或Y函数依赖于X,记为:X→Y。 称X为决定因素,Y为依赖因素。
• 【例3-1】 职工表存储了员工的基本信息, 见表3-1。
• 职工表中的“薪水”属性列又细分为“基本工资”和“奖金”两列, 所以不是1NF,更不是关系表。所有的关系表都必须符合1NF。
• 可以将表3-1转换为符合1NF的关系表,见表3-2。
• 2.第二范式(2NF) • 定义5 设有关系模式R是属于1NF的关系模式,如果它的所有非
• 2.范式之间的关系及规范化过程 • 各范式之间的关系及规范化过程如下:
• ① 取原始的1NF关系模式,消去任何非主属性对关 键字的部分函数依赖,从而产生一组2NF关系模式。
• ② 取2NF关系模式,消去任何非主属性对关键字的 传递函数依赖,产生一组3NF关系模式。
• ③ 取3NF关系模式的投影,消去决定因素不是候选 关键字的函数依赖,产生一组BCNF关系模式。
• 5.第四范式(4NF) • 定义8 关系模式R<U, F>∈1NF,如果对于R的每个非平凡
的多值依赖 ,X都含有码,则称R<U, F>∈4NF。 • 【例3-5】 兴趣表存储了学生的爱好信息,见表3-12。
第3章 数据库设计
本章主要介绍规范化的概念、数据库 设计的特点及数据库设计的6个阶段。
3.1 规范化
• 1.范式的种类 • 为了使关系模式设计的方法趋于完备,数据库专家研究
了关系规范化理论。从1971年起,E.F.Codd相继提出了 第一范式(1NF)、第二范式(2NF)、第三范式 (3NF),Codd与Boyce合作提出了Boyce-Codd范式 (BCNF)。在1976年至1978年间,Fagin,Delobe, Zaniolo又定义了第四范式(4NF)。到目前为止,已经 提出了第五范式(5NF)。 • 所谓第几范式,是指一个关系模式按照规范化理论设计 符合哪个级别的要求。
• 在学生_教师_课程表中,如果规定每个教师只教一门课,但一门课可 以由多个教师讲授,对于每门课,每个学生只由一个教师讲授,即 “学号”属性和“课程编号”属性函数依赖于“教师编号”属性, “教师编号”属性函数依赖于“课程编号”属性,“学号”属性和 “教师编号”属性函数依赖于“课程编号”属性。所以该表不符合 BCNF。可以将表3-9分解为两个表,见表3-10和表3-11。
主属性都完全函数依赖于码,则称R是2NF的关系模式,记为 R∈2NF。 • 【例3-2】 学生_课程表存储了学生选修课程的信息,见表3-3。
• 学生_课程表的码(即关键字)是“学号”和“课程编号”的属 性组合。对于非码属性“姓名”来说,只函数依赖于“学号”, 而不函数依赖于“课程编号”,所以不是2NF。可以将表3-3分 解为两个表,见表3-4和表3-5。
• 3.第三范式(3NF) • 定义6 在关系模式R<U, F>中,若不存在这样的码X、属性组Y及非主属
性Z(Z不是Y的子集),使得X→Y,(Y X)Y→Z成立,则称R<U, F >∈3NF。 由定义可以证明,若R∈3NF,则每个非主属性既不部分函数依赖于码, 也不传递函数依赖于码。
• 【例3-3】 图书表存储了图书的信息,见表3-6。
• ④ 取BCNF关系模式的投影,消去其中不是函数依赖 的非平凡的多值依赖,产生一组4NF关系模式。
• ⑤ 取4NF关系模式的投影,消除不是由候选码所蕴含的连接依 赖,从最终结构重新建立原始结构,产生一组5NF关系模式。
• 所以有:1NF2NF3NFBCNF4NF5NF。各范式之间的关系 如图3-1所示。