第六章关系数据理论
- 格式:doc
- 大小:163.50 KB
- 文档页数:10
第一章数据库系统概述及建模数据库系统一、填空题1. 数据库模型通常由()、()和()3要素组成。
2. 数据模型通常分为()、()和()。
3. 数据操作描述的是系统的动态特性,主要分为()和()两大类,共包括()、()、()和()4种操作。
4. 关系模型中,完整性约束主要是()和()。
5. 关系数据库是以()为基础的数据库系统。
7. 有了外模式/模式映像可以保证数据和应用程序之间();有了模式/内模式映像,可以保证数据和应用程序之间的()。
8. 事务的4个特性是()、()、()和()。
009. 数据库管理系统在3层结构之间提供的两层映像是()和()。
10. 当前数据库系统的主流是()。
11. DBMS的中文意思是()。
12. DBMS允许用户把一个或多个数据库操作组成(),它是一组按顺序执行的操作单位。
、13. ()是按照一定的数据模型组织的、长期储存在计算机内,可为多个用户共享的数据的聚集。
14. 数据库系统的基础是()。
15. ()处于数据库系统的核心位置。
16. 对数据库的操作要以()内容为依据。
17. 数据库系统3层结构的描述放在()中。
18. 查询处理最复杂最重要的部分是()。
19. ()是数据库中全部数据的逻辑结构和特征的描述。
20. ()是数据库物理结构和存储方式的描述。
21. ()是用户可以看见和使用的局部数据的逻辑结构和特征的描述。
22. 随着计算机软硬件的发展,数据管理技术不断完善,先后经历了()、()和()3个阶段。
二、判断题1.数据库系统的基础是数据模型。
2.数据库系统的核心是数据库管理系统。
3.对数据库的操作要以运行日志为依据。
4.数据结构描述的是系统的静态特性。
5.事务的原子性是指整个事务要么都执行,要么都不执行。
三、简答题1.数据库系统有哪些特点?2.什么是数据库?3.什么是关系?4.什么是关系的码?5.什么是关系模型?6.关系模型有什么特点?7.数据库系统都包括什么?数据库建模一、填空题1. 在E-R图中,数据元素用()表示;属性用()表示,实体之间的联系用()和()表示。
数据库系统概论复习重点第一章绪论1.数据库系统的基本概念:数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统、应用系统、数据库管理员构成。
2.数据库管理系统的主要功能:数据定义功能、数据操作功能、数据库的运行管理、数据库的建立和维护。
3.数据模型的分类:概念模型、逻辑模型。
4.概念模型的表示:层次模型、网状模型、关系模型、面向对象模型、对象关系模型。
5.数据管理技术的产生和发展经历的三个阶段:人工管理阶段、文件系统阶段、数据库系统阶段。
6.实体是现实世界中客观存在,且能相互区别的。
7.数据模型的组成要素:数据结构、数据操作、数据的完整性的约束条件。
8.DBS包括DB和DBMS,而DB与DBSM是相互独立的。
9.概念模型独立于操作。
10.数据库三级结构有利于保证数据的安全性和独立性。
11.数据库物理存储视图为内模式12.用户通过DML语言对数据进行操作,其实是在操作外模式中的记录。
13.数据库系统的三级模式结构:外模式、模式、内模式。
14.有了“模式/内模式映像”可以保证数据的物理独立性。
15.数据库系统的核心是——数据库。
16.数据库系统的三级模式存在有二级映像,使之可以有较高的数据独立性。
17.数据库的外部存储方法和存储设备变化不影响逻辑结构,这种情况为物理数据独立性。
第二章关系数据库1.本章重点:关系数据库概念,可以用关系表达式来表达实际问题,可以用元祖表达式来表达实际问题,可以用域表达式来表达实际问题。
可以将这三种表达式相互转换。
2.关系代数运算:并、交、笛卡儿积、选择、投影。
3.常用的关系运算:关系代数、关系演算。
5.“列”可以出自一个域。
6.DBMS和OS之间的关系是:DBMS可以调用OS。
7.关系演算谓词变元可分为:元祖关系、演算关系、域关系演算。
8.若Sno由八位数组成,则此种情况称为:用户定义完整性。
9.一般情况下“R”“S”连接,则“R”“S”必有相同的属性。
第六章关系数据理论第六章讲解关系数据理论。
这是关系数据库的又一个重点。
学习本章的目的有两个。
一个是理论方面的,本章用更加形式化的关系数据理论来描述和研究关系模型。
另一个是实践方面的,关系数据理论是我们进行数据库设计的有力工具。
因此,人们也把关系数据理论中的规范化理论称为数据库设计理论,有的书把它放在数据库设计部分介绍以强调它对数据库设计的指导作用。
一、基本知识点本章讲解关系数据理论,内容理论性较强,分为基本要求部分(《概论》6.1~6.3)和高级部分《概论》6.4)。
前者是计算机大学本科学生应该掌握的内容;后者是研究生应该学习掌握的内容。
①需要了解的:什么是一个“不好”的数据库模式;什么是模式的插入异常和删除异常;规范化理论的重要意义。
②需要牢固掌握的:关系的形式化定义;数据依赖的基本概念(函数依赖、平凡函数依赖、非平凡的函数依赖、部分函数依赖、完全函数依赖、传递函数依赖的概念,码、候选码、外码的概念和定义,多值依赖的概念);范式的概念;从lNF 到4NF的定义;规范化的含义和作用。
③需要举一反三的:四个范式的理解与应用,各个级别范式中存在的问题(插入异常、删除异常、数据冗余)和解决方法;能够根据应用语义,完整地写出关系模式的数据依赖集合,并能根据数据依赖分析某一个关系模式属于第几范式。
④难点:各个级别范式的关系及其证明。
二、习题解答和解析1.理解并给出下列术语的定义:函数依赖、部分函数依赖、完全函数依赖、传递依赖、候选码、主码、外码、全码(All-key)、lNF、2NF、3NF、BCNF、多值依赖、4NF。
解析解答本题不能仅仅把《概论》上的定义写下来。
关键是真正理解和运用这些概念。
答函数依赖:设R(U)是一个关系模式,U是R的属性集合,X和Y是U的子集。
对于R(U)的任意一个可能的关系r,如果r中不存在两个元组,它们在X上的属性值相同,而在Y上的属性值不同,则称“X函数确定Y”或“Y函数依赖于X”,记作X→Y。
大学《数据库原理》课程教学大纲及课程重点、难点一、基本信息课程代码:学分:3总学时:48(其中实验9学时)适用对象:本科计算机、网络、软件工程、通讯等相关专业先修课程:数据结构二、课程性质、教学目的和要求(一)课程性质和目的数据库原理是计算机专业的一门专业必修课,面向高年级学生开设,本大纲以一学期51课时讲授。
本课程的目的是向学生介绍数据库的基本概念和原理,掌握常用数据库系统的使用,使学生能够使用数据库技术进行数据库设计和系统开发。
(二)教学方法与手段以课堂理论教学为主,上机实践为辅,配合多媒体教学。
在教学过程中注重能力的培养,以实际应用为例,提高理论教学的生动性,提高学生的动手能力。
(三)教学安排学时安排:16周X3学时二48学时,其中课堂教学13周X3学时=39学时,上机实验3周X3学时=9学时。
课堂讲授数据库的基本概念、基本理论和工作原理,上机实验练习理论的实现和一个典型的关系数据库系统。
课堂教学:第一章绪论(3学时)第二章关系数据库(6学时)第三章关系数据库标准语言SQL(6学时)第四章(数据库安全性)和第五章(数据库完整性)(3学时)第六章关系数据理论(6学时)第七章数据库设计(6学时)第八章数据库编程和第九章关系查询与优化(3学时)第十章数据库恢复技术(3学时)第十一章并发控制(3学时)上机实验:实验1(3课时):E-R模式设计和数据库设计与实现。
掌握数据库系统和DBMS的组成,练习SQLServer的配置和使用,E-R模式设计,设计并实现一个具体的数据库。
实验2(3课时):数据库的范式设计和数据库的数据操纵的设计与实现。
利用E-R模式设计,进行关系模式设计和模式规范化过程的练习,设计并实现数据库的查询、添加、修改、删除、更新以及视图的设计与实现。
实验3(3课时):数据库系统的安全性和、完整性和整体设计。
数据库系统的安全性和完整性的设计与实现;数据库系统的整体设计。
实验4(3课时):简单关系数据库系统的设计与实现。
数据库复习⼤纲及答案第⼀章绪论1.数据的语义数据的解释是对数据含义的说明,数据的含义称为数据的语义,数据与其语义是不可分的2.数据库的定义数据库是长期储存在计算机内,有组织的,可共享的⼤量数据的集合。
数据库中的数据按⼀定的数据模型组织,描述和储存,具有较⼩的冗余度,较⾼的数据独⽴性和易拓展性,并可为各种⽤户共享。
概括的讲,数据库具有永久储存,有组织和可共享三个基本特点3.DBMS的定义、功能定义:数据库管理系统(DBMS)是位于⽤户与操作系统之间的⼀层数据管理软件。
功能(5点):1.数据定义功能2.数据组织,储存和管理3.数据操控功能4.数据库的事务管理和运⾏管理 5.数据库的建⽴和维护功能4.数据库系统的组成组成:数据库,数据库管理系统,应⽤程序和数据库管理员5.数据管理技术的三个阶段1.⼈⼯管理阶段2.⽂件系统阶段3.数据库系统阶段6.数据库系统的特点1.数据结构化(最重要)2.数据的共享性⾼,冗余度低且易扩充3.数据独⽴性⾼(数据变化,程序不变) 4.数据由数据库管理系统统⼀管理和控制数据控制功能:1.数据的安全性保护2.数据的完整性检查3.并发控制4.数据库恢复7.数据模型的类型第⼀类:概念模型第⼆类:逻辑模型和物理模型8.概念模型的基本概念和表⽰⽅法基本概念:1.实体2.属性3.码 4.实体型 5.实体集6.联系表⽰⽅法:实体-联系⽅法该⽅法⽤E-R图来描述现实世界的概念模型,E-R法也称E-R模型9.数据模型的组成要素(三要素)重点1.数据结构:数据结构描述数据库的组成对象以及对象之间的联系2.数据操作:数据操作是指对数据库中的各种对象(型)的实例(值)允许执⾏的操作的集合,包括操作及有关的操作规则。
数据库主要有查询和更新(包括插⼊,删除,修改)3.数据的完整性约束条件:数据的完整性约束条件是⼀组完整性规则,它保障了数据的正确,有效和相容。
10.常⽤的逻辑数据模型a.层次模型b.⽹状模型c.关系模型11.关系模型的基本术语a.关系:⼀个关系对应通常说的⼀张表(⼆维表)b.元组:表中的⼀⾏即为⼀个元组c.属性:表中的⼀列即为⼀个属性d.码:也称码键,表中的某个属性组,它可以确定⼀个元组,如学号e.域:域是⼀组具有相同数据类型的值的集合。
第6章关系数据理论一.选择题1.对关系模式进行规范化的主要目的是BA.提高数据操作效率B.维护数据的一致性C.加强数据的安全性D.为用户提供更快捷的数据操作2.关系模式中的插入异常是指DA.插入的数据违反了实体完整性约束B.插入的数据违反了用户定义的完整性约束C.插入了不该插入的数据D.应该被插入的数据不能被插入3.如果有函数依赖X→Y,并且对X的任意真子集X’,都有X’Y,则称C A.X完全函数依赖于Y B.X部分函数依赖于YC.Y完全函数依赖于X D.Y部分函数依赖于X4.如果有函数依赖X→Y,并且对X的某个真子集X’,有X’→Y成立,则称B A.Y完全函数依赖于X B.Y部分函数依赖于XC.X完全函数依赖于Y D.X部分函数依赖于Y5.若X→Y和Y→Z在关系模式R上成立,则X→Z在R上也成立。
该推理规则称为CA.自反规则B.增广规则C.传递规则D.伪传递规则6.若关系模式R中属性A仅出现在函数依赖的左部,则A为AA.L类属性B.R类属性C.N类属性D.LR类属性7.若关系模式R中属性A是N类属性,则A DA.一定不包含在R任何候选码中B.可能包含也可能不包含在R的候选码中C.一定包含在R的某个候选码中D.一定包含在R的任何候选码中8.设F是某关系模式的极小函数依赖集。
下列关于F的说法,错误的是B A.F中每个函数依赖的右部都必须是单个属性B.F中每个函数依赖的左部都必须是单个属性C.F中不能有冗余的函数依赖D.F中每个函数依赖的左部不能有冗余属性9.有关系模式:学生(学号,姓名,所在系,系主任),设一个系只有一个系主任,则该关系模式至少属于BA.第一范式B.第二范式C.第三范式D.BC范式10.设有关系模式R(X, Y, Z),其F={Y→Z, Y→X, X→YZ},则该关系模式至少属于DA.第一范式B.第二范式C.第三范式D.BC范式11.下列关于关系模式与范式的说法,错误的是DA.任何一个只包含两个属性的关系模式一定属于3NFB.任何一个只包含两个属性的关系模式一定属于BCNFC.任何一个只包含两个属性的关系模式一定属于2NFD.任何一个只包含三个属性的关系模式一定属于3NF12.有关系模式:借书(书号,书名,库存量,读者号,借书日期,还书日期),设一个读者可以多次借阅同一本书,但对一种书(用书号唯一标识)不能同时借多本。
数据库第二版课后习题答案数据库第二版课后习题答案数据库是计算机科学中重要的概念之一,它提供了一种有效地存储和管理数据的方式。
数据库系统的设计与实现是数据库课程的重要内容之一。
在学习数据库课程时,课后习题是巩固知识和提高能力的重要途径。
本文将为大家提供数据库第二版课后习题的答案,希望对大家的学习有所帮助。
第一章数据库系统概述1. 数据库是什么?答:数据库是一个有组织的、可共享的、可维护的数据集合,它以一定的数据模型为基础,描述了现实世界中某个特定领域的数据和关系。
2. 数据库系统的特点有哪些?答:数据库系统具有以下特点:- 数据的独立性:数据库系统将数据与程序相分离,使得数据的修改不会影响到程序的运行。
- 数据的共享性:多个用户可以同时访问数据库,并且可以共享数据。
- 数据的冗余性小:通过数据库系统的数据一致性和完整性约束,可以减少数据的冗余性。
- 数据的易扩展性:数据库系统可以方便地进行扩展和修改,以满足不同需求。
- 数据的安全性:数据库系统提供了权限管理和数据加密等机制,保证数据的安全性。
第二章关系数据库与SQL1. 什么是关系数据库?答:关系数据库是一种基于关系模型的数据库,它使用表格(关系)来表示和存储数据。
关系数据库中的数据以行和列的形式组织,每个表格代表一个实体集,每一行代表一个实体,每一列代表一个属性。
2. 什么是SQL?答:SQL(Structured Query Language)是一种用于管理关系数据库的语言。
它包含了数据定义语言(DDL)、数据操纵语言(DML)和数据控制语言(DCL)等部分。
通过SQL,用户可以对数据库进行创建、查询、更新和删除等操作。
第三章数据库设计1. 数据库设计的步骤有哪些?答:数据库设计的步骤包括:- 需求分析:确定数据库的需求和目标,了解用户的需求。
- 概念设计:根据需求分析的结果,设计数据库的概念模型,包括实体、属性和关系等。
- 逻辑设计:将概念模型转换为逻辑模型,包括表格的设计、关系的建立和约束的定义等。
大连海事大学硕士研究生入学考试大纲考试科目:数据库考试内容(一)要求熟知的章节第一章:绪论第二章:关系数据库第三章:关系数据库标准语言——SQL第四章:数据库安全性控制第五章:数据库完整性第六章:关系数据理论第七章:数据库设计第八章:数据库编程第九章:关系系统及其查询优化第十章:数据库恢复第十一章:并发控制(二)主要内容1、数据管理的发展阶段及每个阶段的特点。
2、数据、数据库、数据库管理系统的概念,DBMS提供的数据控制功能。
3、数据模型的概念,组成数据模型的三要素。
4、概念模型、实体、属性、码、候选码、外码、域、实体型、实体集的概念。
5、实体间的联系及E-R模型。
6、实际的数据库系统支持的主要数据模型,基本层次联系,层次模型、网状模型的数据结构。
7、数据库系统的三级模式结构、两级映象功能、数据的物理独立性和逻辑独立性。
8、数据库系统的组成。
9、关系的定义及关系的特性,关系模式的表示,元组、属性、主属性、码、候选码、非码属性、全码、外码的概念10、关系模型的三类完整性:实体完整性、参照完整性和用户定义完整性11、关系代数的运算:传统的集合运算(并、交、差、笛卡儿积)和专门的关系运算(选择、投影、连接、除法)12、关系数据语言的特点,关系操作的特点。
SQL语言的四个特点13、SQL语言的数据定义功能:包括对基本表、索引和视图的建立修改和删除,语法格式14、掌握查询(SELECT)语句功能和应用(单表、多表连接、嵌套、集函数)。
15、掌握修改(UPDATE)、删除(DELETE)和插入(INSERT)语句的应用16、SQL数据控制功能(GRANT、REVOKE)17、基本表、视图的概念,视图的作用。
18、关系系统查询优化的一般策略19、(平凡与非平凡的)函数依赖、完全函数依赖、部分函数依赖、传递函数依赖、函数依赖、(平凡与非平凡的)多值依赖20、关系规范化:第一范式、第二范式、第三范式、BC范式、4NF的定义,将一个非规范化的表转化为三范式的表的步骤。
《数据库系统概论》第六章关系数据理论复习题及答案一、选择题1、关系规范化中的删除操作异常是指①,插入操作异常是指②。
A.不该删除的数据被删除 B.不该插入的数据被插入 C.应该删除的数据未被删除 D.应该插入的数据未被插入答案:①A ②D2、设计性能较优的关系模式称为规范化,规范化主要的理论依据是。
A.关系规范化理论 B.关系运算理论 C.关系代数理论 D.数理逻辑答案:A3、规范化过程主要为克服数据库逻辑结构中的插入异常,删除异常以及冗余度大的缺陷。
A.数据的不一致性 B.结构不合理 C.冗余度大 D.数据丢失答案:C4、当关系模式R(A,B)已属于3NF,下列说法中是正确的。
A.它一定消除了插入和删除异常 B.仍存在一定的插入和删除异常 C.一定属于BCNF D.A 和C都是答案:B5、关系模型中的关系模式至少是。
A.1NF B.2NF C.3NF D.BCNF 答案:A 6、在关系DB中,任何二元关系模式的最高范式必定是。
A.1NF B.2NF C.3NF D.BCNF 答案:D7、在关系模式R中,若其函数依赖集中所有候选关键字都是决定因素,则R最高范式是。
A.2NF B.3NF C.4NF D.BCNF 答案:C8、候选关键字中的属性称为。
A.非主属性 B.主属性 C.复合属性 D.关键属性答案:B9、消除了部分函数依赖的1NF的关系模式,必定是。
A.1NF B.2NF C.3NF D.4NF 答案:B10、关系模式的候选关键字可以有①,主关键字有②。
A.0个B.1个 C.1个或多个 D.多个答案:①C ②B 11、关系模式的分解不惟一。
A.惟一 B.不惟一答案:B12、根据关系数据库规范化理论,关系数据库中的关系要满足第一范式。
下面“部门”关系中,因哪个属性而使它不满足第一范式? 。
部门(部门号,部门名,部门成员,部门总经理)A.部门总经理 B.部门成员 C.部门名 D.部门号答案:B二、填空题1、在关系A(S,SN,D)和B(D,CN,NM中,A的主键是S,B的主键是D,则D在S中称为。
补充题1设有下列关系模式和相应的函数依赖集:(1)R(A,B,C,D),F={A B→C,C→D,D→A}(2)R(A,B,C,D),F={B→C,B→D}(3)R(A,B,C,D),F={A B→C,B C→D,C D→A,A D→B}(4)R(A,B,C,D),F={A→B,B→C,C→D,D→A}(5)R(A,B,C,D,E),F={A B→C,D E→C,B→D}(6)R(A,B,C,D),F={A B→C,C→D,D→E}请判断它们最高属于什么范式?为什么?解:(1)是3N F,但不是B C N F。
因为该关系模式的码为A B,B C和B D,所有属性均为主属性,是3N F。
但由于C→D,D→A中的左边不包含候选码,所以不是B C N F。
(2)是2N F,不是3N F。
因为该关系模式的码为A B,由函数依赖B→C,B→D,可得C,D部分函数依赖于A B,所以在关系模式中存在非主属性对码的部分函数依赖,不满足3N F。
(3)3N F,也是B C N F。
在该关系模式中,A B,C D,A D,B C都是侯选码,所有属性均为主属性,所以不存在非主属性对码的传递依赖。
所以是3N F。
因为所有的函数依赖的左部都包含侯选码,所以该关系模式是B C N F。
(4)是3N F,也是B C N F。
在该关系模式中,A,B,C和D均为侯选码,它们也都是主属性,所以是3N F。
也是B C N F。
(5)是1N F,不是2N F.该关系模式的侯选码为A B E,由函数依赖A B→C可知在该关系模式中存在非主属性对侯选码的部分函数依赖,所以不是2N F。
(6)是2N F,不是3N F。
该关系模式的侯选码为A B,因为存在非主属性对侯选码的传递依赖,所以不是3N F。
【习6-2】建立关于系、学生、班级、学会等诸信息的一个关系数据库。
描述学生的属性有:学号、姓名、出生年月、系名、班号、宿舍区。
描述班级的属性有:班号、专业名、系名、人数、入校年份。
描述系的属性有:系名、系号、系办公室地点、人数。
描述学会的属性有:学会名、成立年份、地点、人数。
有关语义如下:一个系有若干个专业,每个专业每年只招一个班,每个班有若干学生,一个系的学生住在同一宿舍区。
每个学生可以参加若干个学会,每个学会有若干学生。
学生参加某学会有一个入会年份。
请给出关系模式,写出每个关系模式的最小函数依赖集,指出是否存在传递函数,对于函数依赖左部是多属性的情况,讨论函数依赖是完全函数依赖,还是部分函数依赖。
指出各关系的候选码、外码,有没有全码存在?解:(1)学生关系学生(学号,姓名,出生年月,系名,班号,宿舍区)候选码:学号外码:系名,班号最小函数依赖集F'={学号→姓名,学号→出生年月,学号→班号,班号→系名,系名→宿舍区}存在传递函数依赖:学号→系名,系名→宿舍区,且学号不函数依赖于系名。
所以宿舍区传递函数依赖于学号。
班号→系名,系名→宿舍区,且班号不函数依赖于系名。
所以宿舍区传递函数依赖于班号。
学号→班号,班号→系名,且学号不函数依赖于班号。
所以系名传递函数依赖于学号。
(2)班级关系班级(班号,专业名,系名,人数,入学年份)候选码:班号外码:系名最小函数依赖集F'={班号→专业名,班号→人数,班号→入学年份,专业名→系名} 存在传递函数依赖:班号→专业名,专业名→系名,且班号不函数依赖于专业名。
所以系名传递函数依赖于班号。
(3)系关系系(系号,系名,系办公室地点,人数)候选码:系号,系名无外码最小函数依赖集F'={系号→系名,系号→系办公室地点,系号→人数,系名→系号} (4)学会关系学会(学会名,成立年份,地点,人数)候选码:学会名无外码最小函数依赖集F'={学会名→成立年份,学会名→地点,学会名→人数}(5)学生参加学会关系学生-学会(学号,学会名,入会年份)候选码:(学号,学会名)无外码:学号,学会名最小函数依赖集F'={(学号,学会名)→入会年份}以上各关系均不是全码关系。
【习6-3】试由Armostrong公理系统推导出下面三条推理规则:(1)合并规则:若X→Z,X→Y,则有X→YZ(2)伪传递规则:若X→Y,WY→Z,则有XW→Z(3)分解规则:若X→Y,Z⊆Y,则有X→Z解:(1)根据增广律和X→Z可得:XY→YZ由增广律和X→Y可得:XX→XY,即X→XY由传递律和X→XY、XY→YZ可得X→YZ(2)由增广律和X→Y,可得XW→WY由传递律和XW→WY、WY→Z可得XW→Z(3)由自反律和Z⊆Y可得:Y→Z由传递律和X→Y、Y→Z,可得X→Z【习6-5】试举出三个多值依赖的实例。
解:多值依赖的定义是:设R (U )是属性集U 上的一个关系模式。
X ,Y ,Z 是U 的子集,并且Z=U-X-Y 。
对于一给定的X 值,就有一组Y 属性值与之对应,而与Z 中的属性无关,则称“Y 多值依赖于X ”,或“X 多值决定Y ”,记作X →→Y 。
多值依赖在实际的应用中可能不是太常见的一种数据依赖,下面给出三个实例: (1)学生(学号,课程号,教师工号),一个学生可选一组课程学习,一个学生也可有多个教师来教授,由于一个课程可由多个教师来讲授,而且一个教师可以讲授多们课程,所以存在如下两个多值依赖:学号→→课程号和学号→→教师工号。
(2)图书馆中的图书(图书号,图书索引号,借阅读者),一种图书可有多个副本,由索引号标识,一种图书可由多个读者借阅。
所以存在多值依赖:图书号→→图书索引号和图书号→→借阅读者。
(3)上课(学号,教师工号,教室),一个学生可由多个教师来教,一个学生可在多教室上课,而且一个教师可在多个教室上课,一个教室可由多个教师上课。
所以存在如下多值依赖:学号→→教师工号和学号→→教室。
【习6-9】下图表示一个公司各部门的层次结构。
对每个部门,数据库中包含部门号(唯一的)D#,预算费(BUDGET )以及此部门领导人员的职工号(唯一的)E#等信息。
对每一个部门,还存有关于此部门的全部职工、生产与科研项目以及办公室的信息。
职工信息包括:职工号,他所参加的生产科研项目号(J#),他所在办公室的电话号码(PHONE#)。
生产科研项目包含:项目号(唯一的),预算费。
办公室信息包含:办公室房间号(唯一的),面积。
对每个职工,数据库中有他曾担任过的职务以及担任某一职务时的工资历史。
对每个办公室包含此办公室中全部电话号码的信。
请给出你认为合理的数据依赖,把这个层次结构转换成一组规范化的关系。
部门电话办公室生产科研项目工资史职务职工提示:此题可分步完成,第1步先转换成一组1NF 的关系,然后逐步转换为2NF,3NF,..。
解:语义假设:(1)一个职工不能同时在一个以上的部门任经理 (2)一个职工不能同时在一个以上的部门工作 (3)一个职工不能同时在一个以上的办公室办公(4)一个职工不能同时参加一个以上的工程(5)一个职工不能同时有一个以上的电话。
(6)一个职工不能同时有一个以上的职务(7)一项工程不能同时分派给一个以上的部门(8)一个办公室不能同时分配给一个以上的部门。
在上述的语义假设下,数据库中所用的属性间对应的函数依赖有:E#→D#,E#→J#,E#→OF#(办公室编号),E#→PHONE#(电话号码)D#→MGRE#(经理的职工号),D#→DBUGET(部门预算费)J#→JBUGET(科研项目预算费),J#→D#OF#→AREA(面积),OF#→D#PHONE#→OF#(E#,DATE(日期)→HSALARY(工资史),(E#,DATE)→JOBTITLE(职务)(1)步骤1这个层次结构未规范化的关系如下:DEPT1(D#,DBUGET,MGRE#,J#,REMP1,RPROJ1,ROFFICE1)EMP1(E#,J#,OF#,PHONE#,RJOB1)JOB1(JOBTITLE,RSALHIST1)SALHIST1(DATE,SALARY)PROJ1(J#,JBUGET)OFFICE1(OF#,AREAR,RPHONE1)PHONE1(PHONE#)注:有前缀RD的表示是一个关系,例如REMP1表示关系EMP1。
(2)步骤2把上述一组未规范化的关系转换为一组等价关系,化简过程是通过分割考虑每个子层次,直接消除不是函数依赖的多值依赖。
DEPT2(D#,DBUGET,MGRE#)EMP2(E#,J#,OF#,PHONE#)JOB2(D#,E#,JOBTITLE)SALHIST2(D#,E#,JOBTITLE,DATE,SALARY)PROJ2(D#,J#,JBUGET)OFFICE2(D#,OF#,AREAR)PHONE2(D#,OF#,PHONE#)(3)步骤3可以通过消除部分函数依赖,把上述1NF关系转化成一组等价的2NF关系,下面逐一考察每个1NF关系。
DEPT2:这个关系已经属于2NF。
EMP2:这个关系中D#作为主码的组成部分是多余的,可以用E#作为主码,这样该关系本身也是2NF。
JOB2:同样,D#也无需作为主码的组成部分,此处D#函数依赖于E#,所以,在这个关系中一个非主属性(E#)部分函数依赖于主码(E#,JOBTITLE)。
因此,JOB1不属于2NF,可以分解为下面两个关系:JOB31(E#,JOBTITLE)JOB32(E#,D#)由于JOB31是SALHIST2的投影,而JOB32是EMP2的投影,所以这两个关系都可以去掉。
SALHIST2:如同JOB2一样,可以把D#投影去掉,而且JOBTITLE也无需作为主码,得到下面的一个2NF关系:SALHIST3(E#,JOBTITLE,DATE,SALARY)PROJ2:如同EMP2一样,我们也可以把D#看作是非主属性,那么,这个关系也属于2NF。
OFFICE2:类似的说明对这个关系也是适用的。
PHONE2:我们可以完全把D#投影去掉,因为关系(D#,OF#)是OFFICE2的投影,而且OF#函数依赖于PHONE#,所以我们可以单独用PHONE#作为主码,得到2NF关系:PHONE2(PHONE#,OF#)于是我们得到一组2NF关系如下:DEPT3(D#,DBUGET,MGRE#)EMP3(E#,J#,D#,OF#,PHONE#)SALHIST3(E#,JOBTITLE,DATE,SALARY)PROJ3(D#,J#,JBUGET)OFFICE3(D#,OF#,AREAR)PHONE3(OF#,PHONE#)(4)步骤4下面可以通过消去2NF关系中的传递函数依赖,生成一组等价的3NF关系,上述一组关系中尚不是3NF的2NF关系只有EMP3,其中的OF#和D#都传递函数依赖主码D#;OF#经由PHONE#依赖于E#,而D#则经由J#和经由OF#传递函数依赖于E#。