第四章_关系规范化
数据库原理 第四章关系数据库理论期末习题与答案

1、设计性能较优的关系模式称为规范化,规范化主要的理论依据是()。
A.关系规范化理论B.关系运算理论C.关系代数理论D.数理逻辑正确答案:A2、下列关于规范化理论各项中正确的是()。
A.对于一个关系模式来说,规范化越深越好B.满足第二范式的关系模式一定满足第一范式C.第一范式要求---非主码属性完全函数依赖关键字D.规范化一般是通过分解各个关系模式实现的,但有时也有合并正确答案:B3、X→Y能从推理规则导出的充分必要条件是()。
A.B.C.D.正确答案:D4、两个函数依赖集F和G等价的充分必要条件是()。
A.B.C.D.5、设有关系模式R(A,B,C,D,E),函数依赖集F={A→B,B→C,C→D,D→A},ρ={AB,BC,AD}是R上的一个分解,那么分解ρ相对于F()。
A.既是无损连接分解,又是保持函数依赖的分解B.是无损连接分解,但不是保持函数依赖的分解C.不是无损连接分解,但是保持函数依赖的分解D.既不是无损连接分解,也不是保持函数依赖的分解正确答案:D6、关系模式中,满足2NF的模式()。
A.可能是1NFB.必定是1NFC.必定是3NFD.必定是BCNF正确答案:B7、不能使一个关系从第一范式转化为第二范式的条件是()。
A.每一个非主属性都完全函数依赖于主码B.每一个非主属性都部分函数依赖于主码C.关系中没有非主属性D.主码由一个属性构成正确答案:B二、判断题1、关系模式的分解是唯一的。
(错)2、一个关系模式属于BC范式,它一定属于第三范式。
(对)3、在关系模式R(U,F)中,如果X→Y,且存在X的真子集X1,使X1→Y,称函数依赖X→Y为完全函数依赖。
(错)4、函数依赖集F={A→B,B→C,C→A,C→B,A→C,BC→A},它的最小函数依赖集Fmin={A→B,B→C,A→C}。
(错)三、填空题1、被函数依赖集F逻辑蕴涵的函数依赖的全体构成的集合,称为。
正确答案:函数依赖集F的闭包2、设有关系模式R(A,B,C,D,M,N),函数依赖集F={N→D,M→D,D→B,BC→D,DC→N},R的候选码为。
数据库原理总结

第一章数据库概论1.人工管理阶段,文件系统阶段,数据库阶段,高级数据库阶段(对象数据库技术,分布式数据库系统,开放数据库互连技术,xml数据库技术,现代信息集成技术)2.数据描述:概念设计中:实体,实体集,属性,实体标识符;逻辑设计中:字段,记录,文件,关键码;物理设计中:位,字节,字,块,桶,卷;3.概念模型,逻辑模型(层次,网状,关系,对象),外部模型,内部模型;4.三层模式(外模式,逻辑模式,内模式),两级映像(外模式/逻辑模式映像,逻辑模式/内模式映像)5.数据库系统:数据库,硬件,软件,数据库管理员第二章关系模型和关系运算理论1.超键:能唯一标识元组的属性或属性集。
候选键:不含有多余属性的超键主键:用户选作元祖标识的候选键。
外键:是其他模式的主键。
实体完整性规则,参照完整性规则,用户定义的完整性规则关系模式的三层体系结构:关系模式,子模式,存储模式2.关系代数的5个基本操作:并,差,笛卡尔积,投影,选择;关系代数的4个组合操作:交,连接,自然连接,除法。
关系代数的7个扩充操作:改名,广义投影,赋值,外连接,外部并,半连接,聚集操作3.关系代数表达式的启发式优化算法:尽可能早的执行选择操作;尽可能早的执行投影操作;避免直接做笛卡尔积第三章关系数据库语言SQL1.SQL的组成:数据定义语言,数据操纵语言,嵌入式,数据控制语言2.数据定义:数据类型ok,数据库,数据表,索引的创建等ok。
3.数据查询,数据更新ok。
4,视图,嵌入式,动态SQL语句,存储过程。
第四章关系数据库的规范化设计1.定义1:函数依赖:设有关系模式R(U),U为属性集,x、y为U的子集,函数依赖(FD)是形为X→Y的一个命题,只要r是R的当前关系,对r中任意两个元组t和s,都有t[X]=s[X]蕴涵t[Y]=s[Y],那么称FDX→Y在关系模式R(U)中成立。
定义2:如果X→Y和Y→X同时成立,则可记为X←→Y。
定义3:设F是在关系模式R上成立的函数依赖的集合,X→Y 是一个函数依赖。
第四章 关系的规范化

上面的规范化步骤可以在其中任何一步终止
4.5 规范化步骤 1NF2NF3NF…
①、把直接对码函数依赖的非主属性与决定它们的 码放在一个关系模式中。 ②、把造成传递函数依赖的决定因素连同被它们决 定的属性放在一个关系模式中。 ③、检查分解后的新模式,如果不是3NF,则继续 按照前面的方法进行分解,直至达到要求。 对于关系模式SD来说,系别直接依赖于主属性 学号,可将学号和系别放在一个关系模式中;系别 决定住址,系别是造成传递函数依赖的决定因素, 则将系别和住址放在另一个关系模式中;得到的分 解结果如下所示。 学生关系模式:S(学号,系别)。 系关系模式:D(系别,住址)。 关系S与D见表4-5和表4-6
对于关系模式SCD来说,成绩属性完全函数依赖
主属性学号和课程名,可将它们放在一个关系模 式中;属性住址和系别只依赖学号,可将它们放在 另一个关系模式中;则得到的分解结果如下所示。 学生和系关系模式:SD(学号,系别,住址)。 选课关系模式:SC(学号,课程名,成绩)。 关系SC与SD见表4-3和表4-4
消除不合适的数据依赖
的各关系模式达到某种程度的“分离”
采用“一事一地”的模式设计原则
让一个关系描述一个概念、一个实体或者实体 间的一种联系。若多于一个概念就把它“分离” 出去 所谓规范化实质上是概念的单一化
不能说规范化程度越高的关系模式就越好 在设计数据库模式结构时,必须对现实世界的实
这两个关系模式都不存在部分函数依赖,它 们都是第二范式。虽然消除了数据的插入异常, 但仍然存在其他存储问题,从关系模式SD包含了 学生和系两方面的信息来看,该模式仍然存在问 题,有待进一步分解,这就需要更高级别的范式。
4.3 第3范式(3NF)
数据库第三版课后习题答案

数据库第三版课后习题答案数据库第三版课后习题答案在学习数据库的过程中,课后习题是巩固知识的重要方式。
本文将为大家提供数据库第三版课后习题的答案,希望对大家的学习有所帮助。
第一章:数据库基础1. 数据库是什么?答:数据库是一个存储、管理和操作数据的集合。
它可以用来存储和检索大量数据,并提供数据的安全性和完整性。
2. 数据库管理系统(DBMS)的作用是什么?答:DBMS是一种软件,用于管理数据库。
它提供了对数据库的访问和操作,包括数据的增删改查、数据安全性和完整性的控制、数据备份和恢复等功能。
3. 数据库系统的组成部分有哪些?答:数据库系统由数据库、数据库管理系统和应用程序组成。
数据库是存储数据的仓库,数据库管理系统用于管理和操作数据库,应用程序用于访问和处理数据库中的数据。
4. 什么是关系型数据库?答:关系型数据库是一种基于关系模型的数据库。
它使用表格(称为关系)来组织和存储数据,每个表格包含行和列,行表示记录,列表示属性。
第二章:SQL基础1. SQL是什么?答:SQL(Structured Query Language)是一种用于管理关系型数据库的语言。
它可以用来创建、修改和查询数据库中的数据。
2. SQL语句分为哪几类?答:SQL语句分为数据定义语言(DDL)、数据操作语言(DML)、数据查询语言(DQL)和数据控制语言(DCL)四类。
3. 什么是DDL语句?举例说明。
答:DDL语句用于定义数据库的结构和模式,包括创建表格、修改表格结构、删除表格等。
例如,创建表格的语句如下:CREATE TABLE student (id INT PRIMARY KEY,name VARCHAR(50),age INT);4. 什么是DML语句?举例说明。
答:DML语句用于操作数据库中的数据,包括插入、更新和删除数据。
例如,插入数据的语句如下:INSERT INTO student (id, name, age) VALUES (1, 'Tom', 20);第三章:关系数据库设计1. 什么是关系数据库设计?答:关系数据库设计是指根据实际需求,设计数据库的结构和模式。
第4章+关系规范化理论 (数据库原理及应用) PPT

100101
姜珊
女
信电学院 C150101 数据结构
100101
姜珊
女
信电学院 C150103 数据库
120102
陈默
女
管理学院 C150102 操作系统
120102
陈默
女
管理学院 C150103 数据库
130103
孙浩
男
外语学院 C150100 计算机基础
Score 78
70 85 68 82 72
模式分解后,消除了原关系S中的部分函数依赖,即S1、 S2、S3 3个关系模式都不存在部分函数依赖,S1、S2、S3 都属于2NF。
PNO,PN,COLOR,PRICE,SNO商店号, SN商店名称,CITY所在城市, QTY销售 商品数量
❖(SNO,SN,CITY,PNO,PN,COLOR, PRICE,QTY)
(1)如果X→Y,且YX,则称X→Y是平凡的函数依赖。
YX
(2)如果X→Y,但
,则称X→Y是非平凡的函数依赖。
(3)如果X→Y,则称X为决定因素(Determinant),称Y
为依赖因素(Dependent)。
(4)如果X→Y且Y→X,则记作X←→→Y。
(5)如果Y不函数依赖于X,则记作X Y 。
4.3.2 第二范式(2NF)
定义4.5:如果关系模式R∈1NF,且每个非主属性 都完全函数依赖于主键,则称R属于第二范式,记为 R∈2NF。
由定义可知,如果某个1NF的关系的主键只由一个属 性组成或关系的全体属性均为主属性,那么这个关系就是 2NF。如果主键是由多个属性列共同构成的复合主键,并 且存在非主属性对主属性的部分函数依赖,则这个关系就 不是2NF。
第四章 数据库规范化理论(第二节)

其中存在非主属性ROOM#对码的传递依赖, 即:
C#→LNAME, LNAME→ROOM# 因此COURSE不属于3NF。
将COURSE分解为:COURSE1(C#, TITLE, LNAME) 和 LECTURE(LNAME, ROOM#),
则关系模式COURSE1和LECTURE中都没有传递函数依赖,
因此 COURSE1 和 LECTURE 都属于3NF。
16
第四章 数据库规范化理论
第二节、 范式理论
三、 第三范式(3NF)
至此,关系模式REPORT分解为下列3个属于3NF的一组关系模式:
REPORT1 (S#, C#, MARKS) COURSE1 (C#, TITLE, LNAME) LECTURE (LNAME, ROOM#)
非第一范式的例子如表4-4,可以转换为第一范式如表4-5。
表4-4
研究生
导师
专业
第一个研究生 第二个研究生
表4-5
导师 专业 第一个研究生 第二个研究生
几乎所有的商用关系DBMS都要求关系为第一范式
4
第四章 数据库规范化理论
第二节、 范式理论
一、 第一范式(1NF)
如果关系仅仅满足第一范式的条件是不够的,可能会存在更新异常。
定义:关系模式R∈1NF,若X→Y,且Y⊈ X 时,X必含有候选码,则R∈BCNF。
即 在关系模式R中,若R的每一个决定因素都包含候选码,则R∈BCNF。
由BCNF的定义可知,一个满足BCNF的关系模式有如下特性:
● 每个非主属性对每个码都是完全函数依赖;
● 所有的主属性对每一个不包含它的码,也是完全函数依赖;
2024年工会规范化建设细则

2024年工会规范化建设细则第一章总则第一条为贯彻党的工会理论和方针政策,推进工会建设规范化,提升工会组织的服务能力和凝聚力,加强工会与企业之间的合作与沟通,加强工会工作的法制化和规范化建设,特制定本细则。
第二条工会是职工的组织,是维护职工权益、协调劳资关系的重要力量,是劳动者参与企业决策的桥梁和纽带。
工会应为职工服务,促进企业的和谐发展。
第三条企业应依法成立工会组织,建立健全工会规章制度,保障工会依法履行职能。
第四条工会应依法保护职工的合法权益,与企业共同推动企业的可持续发展。
第二章工会组织的建设与发展第五条工会组织应当加强党的领导,坚持党的方针政策,增强组织的战斗力和凝聚力。
第六条工会组织应当依法选举和产生工会代表,确保代表的代表性和民主性。
第七条工会组织应当提供多样化的服务,满足职工的合理需求,积极争取职工的支持与信任。
第八条工会组织应当加强职工教育和培训,提升职工的综合素质和能力。
第九条工会组织应当积极参与企业决策,提供意见和建议,维护和促进职工的权益。
第十条工会组织应当加强与企业的沟通与合作,积极处理劳资纠纷,维护劳动关系的稳定和和谐。
第三章工会工作的法制化建设第十一条工会工作应当严格依法进行,遵守国家和地方的法律法规。
第十二条工会组织应当制定工会规章制度,规范工会组织的机构设置、人员任免等事项。
第十三条工会组织应当加强与劳动监察部门和劳资纠纷处理机构的合作,建立健全劳动纠纷处理机制。
第十四条工会组织在开展工会工作时,应当遵守企业规章制度,维护企业的正常生产经营秩序。
第十五条工会组织在进行集体谈判和签订集体合同时,应当依法行使职权,维护职工的利益。
第十六条工会组织应当建立工会工作档案,做好工会工作的记录和统计,便于工作评估和经验总结。
第四章工会资金的管理与使用第十七条工会资金应当依法使用,合理分配,用于开展维权服务、职工培训、文体活动和福利待遇等。
第十八条工会资金的收支应当经过工会财务审查,并进行信用度评估和风险控制。
数据库概论参考答案

.数据库概论专科作业题参考答案第一章数据库系统导论一、选择1.C2.B3.C4.A5.A6.A7.C8.A9.D10.D11.B12.B13.B14.C15.D16.C17.A18.D19.C20.B21.A22.C23.A24.C25.D26.D27.B28.B29.A30.C31.A32.D33.A34.C35.A36. A37.C38.D39.A40.D41.D42.D43.C44.A45.D46.B二、填空1.数据2.数据库3.数据库的恢复4.概念模型5.逻辑独立性6.关系数据7.层次8.数据定义9.网状模型10.完整性约束11.关系数据12.E-R13.一对多14.信息三、名词解释1.信息:经过加工处理后具有一定含义的数据集合,它具有超出事实数据本身之外的价值。
2.数据:数据库中存储的基本对象,通常指描述事物的符号。
3.数据库:存储在计算机存储设备上,结构化的相关数据集合。
它不仅包括描述事物的数据本身,还包括相关事物之间的联系。
4.数据库管理系统:处理数据访问的软件系统,也就是位于用户与操作系统之间的一层对数据库进行管理的软件。
用户必须通过数据库管理系统来统一管理和控制数据库中的数据。
5.数据库系统:引进了数据库技术后的计算机系统,它能够有组织地、动态地存储大量数据,提供数据处理和数据共享机制,一般由硬件系统、软件系统、数据库和人员组成。
6.实体:客观存在并可相互区别的事物称为实体。
7.属性:实体所具有的某一特征或性质称为属性。
8.联系:在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为两类:一类是实体内部的联系;另一类是实体之间的联系。
9.关键字:唯一地标识实体的属性集称为关键字。
10.实体型:用实体名及其属性名集合来抽象和描述同类实体,称为实体型。
11.实体集:同一类实体的集合称为实体集。
12.数据结构:数据结构是对数据静态特征的描述。
数据的静态特征包括数据的基本结构、数据间的联系13.数据操作:数据操作是指对数据动态特征的描述,包括对数据进行的操作及相关操作规则。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
函数依赖示例
关系模式: R(学号,课号,班号,姓名,课名,成绩) 中,存在以下函数以来关系: 学号 → 姓名 (学号,课号,班号)→ 成绩 课号→课名
⊆
4.2.1 相关概念
2、平凡函数依赖
定义4.2:对于关系模式R(U)上的一个FD: 定义 X→Y,如果Y ⊆ X,那么称X→Y是一个“平凡 的 FD”。
2、关系
教师号 教师姓名 T1 T2 T3 T4 T4 LIU WANG ZHAO LI LI 教师住址 SD-3-4-6 SD-5-3-7 SD-7-2-5 SD-4-2-5 SD-4-2-5 课号 C1 C1 C2 C2 C3 课名 OS OS DB DB PS
3、此关系会产生的问题
⑴ 数据冗余 数据冗余——教师住址出现重复。 ⑵ 修改异常 修改异常——如果我们把T1教师上C1课记录中 的住址改了,那么就造成了数据不一致。 ⑶ 插入异常 插入异常——如果一个教师没上课,那么他的住 址就不能登记。 ⑷ 删除异常 删除异常——如果把教师T3的课取消,那么他的 住址也被取消了。 由此可见,随便地把一些属性放在一起构成关系是 不行的。
4.2 函数依赖
本节我们讨论,构成一个关系模式的属性之 间的相互关系。
4.2.1 相关概念
1、函数依赖 定义4.1:设有关系模式R(U),X和Y是属性 定义 集U的子集,r是R(U)的当前关系。若X和Y存 在如下关系:对于 中的任意两个元组 t 和 对于r中的任意两个元组 对于 s ,都有:如果 都有:如果t[X]=s[X] 则必有 则必有t[Y]=s[Y], 那么我们称属性 函数依赖于属性X。记为: 属性Y函数依赖于属性 属性 函数依赖于属性 X →Y。我们又称X和Y之间存在函数依赖 函数依赖 (FD)关系。 )
4.3.1 范式的定义
定义4.9:如果R是个1NF,且R中的每个非主 定义 属性都不传递依赖于侯选键,那么我们称R是 一个第三范式模式,记为:3NF。 例如: 职工(职工号,姓名,工资级别,工资)就 不是3NF。
4.3.1 范式的定义
定义4.10:如果R是个1NF,且R中的每个属 定义 性都不传递依赖于侯选键,那么我们称R是一 个BCNF模式。 也可以这样定义: 设F是关系模式R的FD集,如果对F中的每一 个非平凡的FD : X→Y,都有X是R的超键, 那么称R是一个BCNF模式。
4.3.1 范式的定义
定义4.7:如果关系模式R的每一个关系r的属 定义 性都是不可分割的原子值,那么称R是第一范 式模式,记为1NF。 如果一个关系模式的每个属性都不能在分解 那么它就是1NF.
4.3.1 范式的定义
定义4.8:如果R是个1NF,且R中的每个非主 定义 属性都完全依赖于侯选键,那么我们称R是一 个第二范式模式,记为2NF。 例如: R(学号,课号,班号,姓名,课名,成绩) 就不是2NF 。
例1解答
解: ∵ D→A ∴BD →A (A2) ∵ D→A ∴BD→BA (A2),又 ∵AB → C (已知) ∴ BD→C (A3) 又BD →B, BD →D (A1) ∴BD→ABCD,既BD为候选键。
4.3 范式
衡量一个关系模式好坏的标准就是模式的范 式(Normal Forms,简记为NF)。范式的种 类与数据依赖有着直接关系,基于函数依赖 的范式有:1NF、2NF、3NF、BCNF等多 种。
4.4 反范化
前面我们介绍了关系数据库的规范化设计的 理论、方法,得到的结论是:在设计一个数 据库的模型时,尽量使其每一个关系模式都 能达到3NF。然而,今天随着计算机存储设 备容量的提高、价格的降低,数据库中存在 一定的数据冗余已不是什么重要问题,而很 多数据库系统设计的第一目标是查询速度。
4.4 反范化
1、三个完备性推理规则
⑶ A3(传递性) 若X →Y 和 Y→Z 在R上成立,则X→Z在R上 成立。
2、其它五个推理规则
A4(合并性 合并性): {X→Y,X→Z} | = X→YZ 合并性 A5(分解性 分解性): {X→Y,Z ⊆ Y} | = X→Z 分解性 A6(伪传递性 伪传递性):{X→Y,WY→Z} | = WX→Z 伪传递性 A7(复合性 复合性): {X→Y,W→Z} |= XW →YZ 复合性 A8: {X→Y,W→Z} |=X∪(W-Y)→YZ 以上推理规则的证明省略。
为了提高数据库的查询速度,我们在数据库 设计时经常要做反范化设计。 所谓“反范化”就是在设计数据库模型时, 故意 降低有些关系模式的范式级别,进而产生一 定的数据冗余,以提高查询速度。
4.4 反范化
例如:在教务管理数据库中,“学生成绩单”表为
学生成绩单(学号,课号,学年,学期,成绩) 3NF
学生经常要查看自己已选的各门课的成绩,学生希 望看到的数据格式如下: 课号,课名,学年,学期,成绩 要显示“课名”,就必须把 “学生成绩单”表与 “课程”表 做联接,由于 “学生成绩单”表中的数据量很大, 因 此查询速度会很慢。
4.2.1 相关概念
5、传递依赖
定义4.5:如果X→Y,Y→A,且Y不能决定X、 定义 Y ⊄ X和A ⊄ Y,那么称X→A是传递依赖。
传递依赖示例
例如:关系模式:职工(职工号,姓名,工 例如 资级别,工资) 职工号→工资级别 工资级别→工资 所以:职工号→工资就是传递依赖。
4.2.2 函数依赖推理规则
4.2.4 函数依赖应用示例
例1:设关系模式R(ABCD),F是R上的FD, F={AB→C,C→D,D→A}。试求出R的所有候 选键。
例1解答
解: 由已知 AB→C ,C→D ∴ AB→D (A2 ) 又AB→A , AB→B (A1) ∴ AB→ABCD,既AB为候选键。
例1解答
解: ∵B C→BD →D ∴BC →D (A2) ∵ C→D , D→A ∴ C→A (A3),∴ BC→A (A2) 又BC →A, BC →B (A1) ∴BC →ABCD,既BC为候选键。
R(学号,课号,班号,姓名,课名,成绩) 中 (学号,课号,班号)→ (学号,成绩)
4.2.1 相关概念
4、部分依赖 定义4.4:对于FD:W→A,如果存在X ⊂ W 定义 有X→A成立,那么称W→A是局部依赖。
部分依赖示例
R(学号,课号,班号,姓名,课名,成绩) 中,(学号,课号,班号)→ 姓名 就是一个部分依赖。
4.4 反范化
如果我们在设计时将 “学生成绩单”表设计 成 如下形式: 学生成绩单(学号,课号,学年,学期, 课 名,成绩) 1NF 那么做上面的查询时就不用做联接操作了, 进而提高了查询速度。
4.4 反范化
显然,这样做降低了模式的范式级别,进而带来了 数据冗余,可能造成数据不一致问题。 课程(课号,课名,课程类型) 学生成绩单(学号,课号,学年,学期,课名, 成绩) 如果将“课程”表中的“课名”做了修改,就必须 对“学 生成绩单”表中的“课名”作同步修改,否则就会 造成 数据库中数据的不一致。
第4章 关系数据库的规范化设计
前面学习了关系模型的有关概念,这一章 将讨论如何评价一个关系模式的好坏,以及 当我们发现所设计的关系模式不好时,应如 何解决,进而给出关系模式的设计理论。
第4章 关系数据库的规范化设计
• • • • 4.1 关系模式的设计问题 4.2 函数依赖 4.3 范式 4.4 反范化
X y
w
z
4.2.3 函数依赖与键
定义4.6: 定义 :关系模式R(U),X ⊂ U,若X→U则 称X为R(U)的超键,若且对X的任一真子集 X1 ⊂ X,都有:X1→U不成立,那么称X是R的 一个侯选键。 例如: R(学号,课号,班号,姓名,课名,成绩)中 (学号,课号,班号,姓名)是超键,而 (学号,课号,班号)是候选键。
4.1 关系模式的设计问题
在设计关系模式时,是否将一些属性放在一 起,便可以构成一个关系模式呢?这样做会 产生些什么问题呢?
1、示例
有人建立了一个关系模式如下 R( TNAME , TADDRESS , C# , CNAME) 教师姓名,教师住址, 课号,课名) 他想用此关系完成以下工作: 1、记录学校所有教师信息。 2、记录学校所有课程信息。 3、记录教师的上课信息。
4.4 反范化
我们可以使用“触发器”技术来保证两个表 之间 的数据一致性。触发器技术将在后面介绍。
模式分解示例
例2:设有关系模式R(职工编号,日期,日营 业额,部门,部门经理),该模式记录商店里 每个职工的日营业额以及职工所在的部门和 经理信息。如果规定:每个职工每天有一个 营业额;每个职工只在一个部门工作;每个 部门只有一个经理。回答下列问题:
模式分解示例
① 写出R的基本FD和键 ② 说明R不是2NF的理由,并把R分解成2NF ③ 进而分解成3NF模式集。
4.3.2 相关定理及结论
定理4.1:如果R是3NF模式,那么R也是2NF 定理 模式。(证明略) 定理4.2:如果R是BCNF模式,那么R也是 定理 3NF模式。(证明略) 结论:3NF模式基本不会出现数据冗余、插 入异常和删除异常等问题。
4.3.3 模式分解
如果一个模式级别不高,可以将其分解成 一系列模式级别高的小模式集合。 理论上可以保证任何一个模式R,都可以 无损地且保持依赖地分解成一系列3NF模式 集。无损分解,保持函数依赖分解的定义请 查看《数据库系统教程》施伯乐。
例2 解答
① 解: 由“每个职工每天有一个营业额” 得知: (职工编号,日期)→日营业额 由“每个职工只在一个部门工作” 得知: 职工号→部门 由“每个部门只有一个经理” 得知: 部门→经理
例2 解答
因此,该模式的候选键为: (职工编号,日期) ② 解答 该模式不是2NF ,因为存在部分依赖: “部门”只依赖于候选键“职工号,日期” 中的“职 工号”与“日期”无关。
平凡函数依赖示例
R(学号,课号,班号,姓名,课名,成绩) 中,(学号,课号,班号)→ 学号 就是一个 平凡函数依赖。