文档介绍:本章内容提要
从数据库逻辑设计中如何构成一个好的数据库模式这一问题出发,阐述了关系规范化理论研究的实际背景。
规范化理论:各级范式及可能存在的问题。
关系模式的规范化
第五章关系数据理论
本章重点:
函数依赖;
各级范式的定义;
关系数据库的规范化理论
关系模式的规范化
 本章难点:
关系模式的规范化
第五章关系数据理论
前面我们已经讨论了关系数据库的基本概念、关系模型的三个部分以及关系数据库的标准语言。但是还有一个很基本的问题尚未涉及,针对一个具体问题,应该如何构造一个适合于它的数据库模式,即应该构造几个关系模式,每个关系由哪些属性组成等。这是数据库设计的问题,确切地讲是关系数据库逻辑设计问题。
第五章关系数据理论 问题的提出
一个关系模式应当是一个五元组。R(U, D, DOM, F)
关系名R,它是符号化的元组语义;
一组属性U;
属性组U中属性所来自的域D;
属性到域的映射DOM;
属性组U上的一组数据依赖F。
第五章关系数据理论 问题的提出
由于D和DOM对模式设计关系不大,因此我们在本章中把关系模式看作是一个三元组:
R〈U,F〉——与设计有关。
故设计重点转为研究:
(1)一个关系模式应该有那些属性;
(2)这些属性间存在什么样的联系。
因此,我们的任务是研究模式设计,研究设计一个“好”的(没有“毛病”的)关系模式的办法。
第五章关系数据理论 问题的提出
关系,作为一张二维表,我们对它有一个最起码的要求:每一个分量必须是不可分的数据项。满足了这个条件的关系模式就属于第一范式(1NF)。
一个满足1NF的关系模式是否能够满足使用的要求?
第五章关系数据理论 问题的提出
第五章关系数据理论 问题的提出
例:一个“有毛病”的关系模式
假设有关系模式借书人(姓名,地址,书名,日期) Borrowers(NAME,ADDR,TITLE,DATE)
NAME
ADDR
TITLE
DATE
张平
A1
T1
D1
张平
A1
T2
D1
张平
A1
T3
D2
李芳
A2
T2
D3
李芳
A2
T5
D4
这个模式有下述三个“毛病”:
为什么会发生以上问题呢? 因为这个模式存在某些不好的性质。
第五章关系数据理论 问题的提出
假如把这个单一的模式改造为两个关系模式:
借书人关系: 借书关系:
Borrowers(NAME,ADDR) LOADS(NAME,TITLE,DATE)
第五章关系数据理论 问题的提出
NAME
ADDR
张平
A1
李芳
A2
NAME
TITLE
DATE
张平
T1
D1
张平
T2
D1
张平
T3
D2
李芳
T2
D3
李芳
T5
D4
一个模式可能存在哪些不好的性质?
如何改造一个不好的模式,这就是下一节规范化理论讨论的内容。
第五章关系数据理论 问题的提出