1 第六章 关系数据理论 第六章讲解关系数据理论。这是关系数据库的又一个重点。学习本章的目的有两个。一个是理论方面的,本章用更加形式化的关系数据理论来描述和研究关系模型。另一个是实践方面的,关系数据理论是我们进行数据库设计的有力工具。因此,人们也把关系数据理论中的规范化理论称为数据库设计理论,有的书把它放在数据库设计部分介绍以强调它对数据库设计的指导作用。 一、基本知识点 本章讲解关系数据理论,内容理论性较强,分为基本要求部分(《概论》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。 解析 (1) 函数依赖是最基本的一种数据依赖,也是最重要的一种数据依赖。 (2) 函数依赖是属性之间的一种联系,体现在属性值是否相等。由上面的定义可以知道,如果 X→Y,则 r中任意两个元组,若它们在X上的属性值相同,那么在Y上的属性值一定也相同。 2 (3) 要从属性间实际存在的语义来确定他们之间的函数依赖,即函数依赖反映了(描述了)现实世界的一种语义。 (4) 函数依赖不是指关系模式R在某个时刻的关系(...