当前位置:
文档之家› 数据库讲稿演示第三章(课件)
数据库讲稿演示第三章(课件)
数据库系统基础
16
➢设属性A是职工号,属性B是基本工资, 属性C是奖金,则每个A的值对应一个B 的值和一个C的值。因此,属性B和C都 函数依赖于属性A。如基本工资 390.00对应两个职工号051和054,用 符号表示为:A → B,A → C。
数据库系统基础
17
2.完全依赖
➢定义3.2 设X → Y是关系模式R(U) 的一个函数依赖,如果存在X的真子集 X’,使得X’→Y得成立,则称Y部分依 赖于X,记作X → Y。否则,称Y完全 依赖于X,记作X → Y。
数据库系统基础
5
➢② 由于数据的重复存储,会给更新带来 麻烦。如果一位任三门课的教师改变了 地址,三个元组的地址都要更新,一旦 一个元组的地址末修改就会导致数据不 一致。如果某个系改变办公地址,所要 修改的数据量会更大。(更新异常)
➢③ 如果学校新调入一个教师,暂时末主 讲任何课程。由于缺少关键字的一部分, 而关键字不允许出现空值,新教师就不 能插入到此关系中去。只有当他开设了 课程之后才能插入,这是不合理的。 (插入异常)
S#→LOCATION,(S#→D#,
D#→S#,D#→LOCATION)。
数据库系统基础
35
定义3.9 如果关系模式R(U,F)中的 所有非主属性对任何候选关键字都不存 在传递依赖,则称关系只是第三范式的。 记ห้องสมุดไป่ตู้R∈3NF。
➢通过投影分解将S1分解成如下两个关系后 则满足3NF的要求。S(S#,SNAME, D#),D(D#,DNAME,LOCATION)
数据库系统基础
14
1.函数依赖
➢定义3.1 用U表示属性集的全集{A1, A2,...,An},设R(U)是属性集U上 的关系模式。X,Y是U的子集。若对于R (U)的所有具体关系r都满足如下约束: 对于X的每一个具体值,Y有唯一的具体 值与之对应,则称Y函数依赖于X,或X函 数决定Y,记作X → Y,X称作决定因素。
数据库系统基础
34
三、第三范式(3NF)
例:关系模式Sl(S#,SNAME,
D#,DNAME,LOCATION),关键
字是S#,不存在部分依赖,属于
2NF。但仍然存在大量冗余,关于系
的重复值随着学生的增加而增加。
在插入、删除或修改元组时也将产
生类似例3的异常情况。分析其原因,
由于关系中存在传递依赖
数据库系统基础
26
§3.3关系范式
范式即模式分解标准。
规范化:一个低一级范式的关系模式,通过模 式分解转换为若干个高一 级范式的关系模式 的集合,这种过程称为规范化。
设计关系数据库时,关系模式不可以随意建立, 它们必须满足一定的规范化要求。一个关系 模式满足某一指定的约束,称此关系模式为 特定范式的关系模式。满足不同程度的要求 构成不同的范式级别。
2.外关键字
➢定义3.5 在关系模式R(U)中,若属 性或属性组X不是关系R的关键字,但 X是其它关系模式的关键字,则称X为 关系R(U)的外关键字。
➢主关键字和外关键字是表示关系之间 联系的手段。
数据库系统基础
24
➢例:在选课关系数据库中,三个关系 模式:
学生关系 S(S#,SNAME,SEX, ADDRESS),其中S#为主关键字。
数据库系统基础
6
➢④ 与插入异常相反,如果某些教师致 力于科研,不担任教学任务了,就要 从当前数据库中删除有关记录。那么 关于这些教师的其它信息将无法记载, 这也是极不合理的现象。(删除异常)
上述在插入、删除或修改元组时将 产生的不希望发生的异常情况是由 于关系模式设计得不好所造成的。 如果用下面四个关系模式代替原来 的一个关系模式,上述四方面则可 题就基本解决了。
图书(总编号,分类号,书名,作者,出 版社,单价),其中总编号为主关键字。
读者(借书证号,姓名,性别,单位,职 称,地址),其中借书证号为主关键字。 如果姓名没有重名,姓名也可作主关键字。
借阅(借书证号,总编号,借阅日期,备 注),其中(借书证号,总编号)为主关 键字,借书证号和总编号分别为外关键字。
数据库系统基础
31
S# C# GRADE
S1 C1
90
S1 C2
85
S1 C3
70
S2 C2
80
S2 C3
75
S2 C4
95
S3 C2
85
CREDIT 4 3 2 3 2 3 3
数据库系统基础
32
➢上述在插入、删除或修改元组时产生 的异常与本章开始时所分析的例子类 似。在此例中,原因在于关系模式中 的非主属性CREDIT函数依赖于组合关 键字(S#,C#)的一部分,而不是全部, 即(S#,C#) → CREDIT。
数据库系统基础
4
在这个关系中,只有根据教师号和 课程号才能够确定哪位教师讲授哪 门课程,因此教师任课的关键字是 (T#,C#)。该关系在使用过程中 存在下面几个问题:
➢①每当教师开设一门课程时,该教师 的职称、地址等信息就重复存储一次。 一般每位教师都开设几门课,数据冗 余不可避免。一个系有很多教师,使 关系中的数据冗余度很大。(数据冗 余)
数据库系统基础
27
关系模式有下列几种范式:
第一范式(1NF) 第二范式(2NF) 第三范式(3NF)
BCNF 第四范式(4NF) 第五范式(5NF)
数据库系统基础
28
一、第一范式(1NF)
定义3.7 在关系模式只中的每一个 具体关系r中,如果每个属性值都是 不可再分的最小数据单位,则称R是 第一范式的关系。记为R∈lNF。
➢必须注意,投影时不能从关系S中遗漏外 关键字D#,否则这两个关系之间将失去 联系,就不能通过自然联接再恢复原来的 关系了。
数据库系统基础
36
由于部分依赖必然是传递依赖,所 以如果一个关系模式不存在传递依 赖,则必不存在 部分依赖。换言之, 满足3NF的关系模式必然满足2NF。
数据库系统基础
7
➢教师(职工号,姓名,职称,住址,系号)
➢系(系号,系名,系址)
➢课程(课程号,课程名,学分)
➢授课(职工号,课程号,水平)
新关系模型包括四个关系模式,教师和 系之间通过教师中的外关键字系号相联 系;教师与课程之间多对多的联系通过 授课中的外关键字职工号和课程号相联 系。需要时再进行自然联接,则恢复了 原来的关系。
数据库系统基础
18
例:设有关系模式选课 SCl(S#, C#,GRADE,CREDIT)其中,S#表 示学号,C#表示课程号,GRADE表 示成绩,CREDIT表示学分。
在这个选课关系模式中,由于一 个学生可以选修多门课程,一门 S# 课程可有多个学生选修,因此S# 或C#都不能单独确定GRADE。成绩 C# 只能由属性组合(S#,C#)来确定。 课程学分CREDIT是 C#决定的, CCREDIT。由此可知: (S#,C#) → GRADE (S#,C#) → CREDIT
数据库系统基础
12
3. 多对多联系
➢例:在借阅关系中,一个读者可以借多 本书,即同一个借书证号有若干个图书 总编号与之对应。由总编号标识的一本 书在不同日期可以被不同的读者借阅。
数据库系统基础
13
二、函数依赖
函数依赖反映了实体内部属性之间 的联系,是进行关系分解的指导和 依据。
函数依赖 完全函数依赖 传递依赖
20
➢例:设关系模式S1(S#,SNAME, D#,DNAME,LOCATION)各属性分 别代表学号、姓名、所在系、系地址。
存在函数依赖:S#→D#,但D#→S#, D#→LOCATION根据传递依赖的定义, 可知S#→LOCATION是传递依赖。
数据库系统基础
21
三、关键字
1.候选关键字
➢定义3.4 在关系模式R(U)中,K是U中 的属性或属性组。如果K??U,则称K为 关系R(U)的一个候选关键字。
不是1NF的关系称为非规范化关系。
数据库系统基础
29
例:将下表规范成1NF
职工号 姓名 电话
1001 李明 1002 张伟
7012633(H) 7146688(O) 5001287
1003 刘大维 2533886(O) 2046543(H)
数据库系统基础
30
二、第二范式(2NF)
例:设有关系模式 SCl(S#,C#, GRADE,CREDIT)其中CREDIT表 示学分。存在函数依赖:(S#, C#)→GRADE, C#→CREDIT, 关键字是(S#,C#)。
数据库系统基础
8
§3.2函数依赖
现实世界中的事物是彼此联系,互相 制约的。这种联系分为二类,一类是 实体与实体之间的联系;另一类是实 体内部各属性之间的联系。概念模型 和数据模型中讨论实体之间的联系, 用数据模型来描述概念模型。函数依 赖则是讨论属性之间的联系。
数据库系统基础
9
一、属性间的联系
实体内部属性间是互相联系的,属 性间的联系也分为三类:
002 李露 讲师 A2 D1 信息 L1 C4 VFP 良 4
003 陈伟 教授 A3 D1 信息 L1 C4 VFP OK 4
003 陈伟 教授 A3 D1 信息 L1 C1 C OK 3
003 陈伟 教授 A3 D1 信息 L1 C5 MA 优 2
004 周浩 讲师 A4 D2 化工 L2 C6 PA 良 3
数据库系统基础
33
定义3.8 如果关系模式R(U,F) 中的所有非主属性都完全函数依赖 于任—候选关键字,则称关系R是第 二范式的。记为R∈2NF。
➢将上述非2NF的关系SCl规范化为2NF 关系,应设法消除部分依赖。通过投 影把它分解为以下两个关系模式: SCl(S#,C#,GRADE),C2(C#, CREDIT)