slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
第 2 章 关系数据库基本理论 PowerPoint Presentation
Download Presentation
第 2 章 关系数据库基本理论

Loading in 2 Seconds...

play fullscreen
1 / 22

第 2 章 关系数据库基本理论 - PowerPoint PPT Presentation


  • 168 Views
  • Uploaded on

第 2 章 关系数据库基本理论. 本章要点:  关系与模式、关系数据库与关系数据库模式、视图等的概念  关系的数学定义  关系的三类完整性约束  关系代数,包括传统的集合运算和专门的关系运算  范式的概念与关系的规范化. 2.1 关系数据库的基本概念. 2.1.1 关系与关系模式 在关系模型中,实体和实体之间的联系都由单一的数据结构 —— 关系来描述,关系型数据库都是由一张或多张相关联的表(关系)组成。对关系数据库中每一关系的结构的描述,称为该关系的关系模式,也就是一个关系的型。 2.1.2 关系数据库与关系数据库模式

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about '第 2 章 关系数据库基本理论' - azure


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1
第2章关系数据库基本理论
  • 本章要点:
  • 关系与模式、关系数据库与关系数据库模式、视图等的概念
  • 关系的数学定义
  • 关系的三类完整性约束
  • 关系代数,包括传统的集合运算和专门的关系运算
  • 范式的概念与关系的规范化
slide2
2.1 关系数据库的基本概念
  • 2.1.1关系与关系模式

在关系模型中,实体和实体之间的联系都由单一的数据结构——关系来描述,关系型数据库都是由一张或多张相关联的表(关系)组成。对关系数据库中每一关系的结构的描述,称为该关系的关系模式,也就是一个关系的型。

  • 2.1.2 关系数据库与关系数据库模式

关系数据库模式中所有的关系模式的具体关系的集合称之为关系数据库。图示

  • 2.1.3 视图

视图通常是由关系数据库模式的某个关系中满足用户给定条件的若干属性列或元组组成,也可以是对若干个不同关系进行关系运算的结果,它反映的是局部逻辑结构。

slide3

教师编号

课号

课名

姓名

性别

班级

学位

工作日期

学时

单位

教师编号

职称

00001

0001

C语言程序

王宁军

97计算机

学士

94/07/15

40

计算机

0001

讲师

00003

1006

汇编语言

陈平

97计算机

硕士

72/09/01

70

力学

0001

副教授

10002

2008

工程力学

周华俊

96工民建

硕士

95/08/01

80

电子电工

1006

讲师

10006

基础力学

98建工

80

1006

20004

模拟电路

97无线电通信

70

2008

授课信息表

教师信息表

slide4

视图3

视图2

视图1

基表1

基表2

基表3

基表4

视图与表的关系示意图

  • 2.1.4 关键字

1.超关键字

2.候选关键字

3.主关键字

4.外部关键字

5.主属性和非主属性

slide5
2.2 关系的完整性
  • 关系的完整性包括三类:

(1)实体完整性

实体完整性是指在关系中的任何一个元组,主关键字值的任一分量都不允许为空。

(2)参照完整性

外键字段要么为空,要么为另一个表中的主键值

(3)用户定义完整性

由用户针对数据的具体语义约束条件,来定义的完整性,称用户自定义完整性。如人的年龄可以规定在0~150之间取值,考试成绩只能在0~100之间等。

slide6
2.3 关系的数学定义
  • 2.3.1 一个日常生活中的关系

某小区有2名男同志和3名女同志,把男人看成一个集合M,把女人看成一个集合W,如下:M={赵和平, 李振华};W={李小丽, 张小琴, 王丽娅}。

若M集合和W集合存在着夫妻关系,则可能的夫妻关系如下:{(赵和平,李小丽),(赵和平,张小琴),(赵和平,王丽娅),(李振华,李小丽),(李振华, 张小琴),(李振华,王丽娅)}

在数学上把这种由两个或多个集合中的值的所有可能组合称“笛卡尔积”,本题的“笛卡尔积”可记为:M×W。

2 3 2
2.3.2 关系的数学定义
  • 1.域

域(Domain)是值的集合。如:{1到100之间的整数},{男,女},{Mary,Tom}等都是域。域中元素的个数称为域的基数,如有下列集合:

D1={王小平, 张亚, 李军},表示单位人员的集合;

D2={教授,副教授,讲师,助教},表示职称的集合;

D3={35,27,18},表示工龄的集合。

其中D1的基数是3,D2的基数是4,D3的基数是3。

slide8
2.笛卡尔积

给定一组域 , ,…, ,这些域中可以有相同的域,则 , ,…, 的笛卡尔积为:

× ×…× ={( , ,…, )| ∈ ,i=1,2,…,n}

其中每一个元素( , ,…, )称为一个元组,元素中的每一个 称为分量。当n的值为1时称为单元组,当n的值为2时,称为二元组,以此类推。

若 (i=1,2,…,n)的基数是mi,则笛卡尔积 × ×…× 的基数M为:

slide9

D1

D1

D2

D2

D3

D3

张正义

张正义

21

21

张正义

姚小丽

24

24

张正义

21

张正义

24

姚小丽

21

姚小丽

24

姚小丽

21

姚小丽

24

  • 3.关系

笛卡尔积的子集称为关系,记作 R(D1 ,D2, D3,...,Dn)

【例】教师关系例。有以下三个域:D1={张正义,姚小丽},教师姓名集合; D2={男,女},教师性别集合; D3={21,24},教师年龄集合。求D1× D2 × D3。

解:笛卡尔D1× D2 × D3的值可用左表表示:实际的教师信息可能如右表

slide10
2.4 关系代数
  • 2.4.1 传统的集合运算

1.并运算(UNION)例2-2

2.交运算(INTERSECTION) 例2-3

3.差运算(DIFFERENCE) 例2-4

4.关系的笛卡尔积 例2-5

slide11
2.4 关系代数
  • 2.4.2 专门的关系运算

1.选择(SELECT)运算 例2-6

2.投影(PROJECTION)运算 例2-7

3.联接运算(JOIN)

JOIN R1 and R2 where F

例2-8

(1)内部联接(Inner Join) 例2-9

(2)自然联接运算(Natural join) 例2-10

(3)左外联接(Left outer join) 例2-11

(4)右外联接(Right outer join) 例2-12

(5)全外联接(Full outer join) 例2-13

slide12
2.5 关系的规范化
  • 2.5.1 存储异常

【例】某校教务部要建立一个数据库来描述教师与教研室的情况,面临的对象有:教师编号(TNO)、教师姓名(TNAME)、教师主讲的课程名(KNAME)、教师主讲课程的次数(KTIME)、教研室代号(JNO)、教研室主任(JMN)等。

通过分析可知上述对象之间有如下对应关系: (1)一个教研室有若干教师,但一个教师只属于一个教研室; (2)一个教研室只有一个主任; (3)一名教师可以主讲多门课程,每门课程可由多名教师主讲; (4)每名教师主讲每门课程有一定的次数。

根据上述分析,我们可以考虑以下两种数据库模式的选择方案。方案1:采用一个总的关系模式:方案2:采用三个关系模式:

2 5 2
2.5.2 函数依赖的基本概念
  • 1.函数依赖

函数依赖根据其性质可分为完全函数依赖、部分函数依赖和传递函数依赖。

  • 2.完全函数依赖

设R为任一给定关系,X,Y为其属性或属性组,若XY,且对X中的任何真子集X都有 X Y,则称Y完全函数依赖于X。记作:

  • 3.部分函数依赖

设R为任一给定关系,X,Y为其属性或属性组,若XY,且在X中存在一个真子集X,满足 XY,则称Y部分函数依赖于X。记作:

slide14
4.传递函数依赖

设R为任一给定关系,X,Y,Z为其不同属性子集,若XY,Y X,YZ,则称Z传递函数依赖于X,

2 5 3

教师编号

教师编号

所教课程

所教课程

0001

0001

程序设计

程序设计

0002

0002

程序设计,操作系统

程序设计

0002

操作系统

2.5.3 关系规范化的过程
  • 1.第一范式

任给关系R,如果R中每一属性的值域中的每一个值都是不可分解的,则R为第一范式,记作R∈1NF。

非规范化关系

规范化的关系

slide16
2.第二范式

任给关系R,若R∈1NF,且其所有非主属性都完全函数依赖于关键字,则R为第二范式,记作R∈2NF 。

  • 3.第三范式

任给关系R,若R∈2NF,且它的每一个非主属性都不传递依赖于主关键字,则R属性第三范式,记作R∈3NF。

  • 4.BCNF范式

BCNF(Boyce Codd Normal Form)是Boyce与Codd为解决3NF有时出现的插入与删除操作异常问题而提出的

2 5 4

非规范化关系

把组合属性分解为不可再分的属性

使每一个决定因素都包含候选码

1NF

消去非主属性对主关键字的部分函数依赖

2NF

消去非主属性对主关键字的传递函数依赖

3NF

消去所有部分函数依赖,包括主属性对候选关键字的部分函数依赖

BCNF

2.5.4 关系分解的正确性

关系分解的过程

slide18

S#

DEPT

MN

S1

D1

张五

S2

D1

张五

S3

D2

李四

S4

D3

王一

通过一个实例来说明关系分解的正确性。
  • 在某学校中,一个学生(学号属性名为S#)只在一个系(系号属性名为DEPT)学习,一个系只有一名系主任(姓名属性名为MN),下表是该学校的一个实际关系,其关系模式为R(S#,DEPT,MN)。
  • 可见在该关系中,MN传递函数依赖于S#,故需对之进行关系分解。可有三种方法:
1 r1 s r2 dept r3 mn

S#

DEPT

MN

D1

S1

张五

李四

D2

S2

S3

王一

D3

S4

1.分解成三个关系:R1(S#),R2(DEPT),R3(MN)

关系R2

关系R1

关系R3

2 r1 s dept r2 s mn

S#

S#

DEPT

MN

S1

S1

D1

张五

S2

S1

D1

张五

S3

S2

D2

李四

S4

S3

D3

王三

2.分解成两个关系:R1(S#,DEPT),R2(S#,MN)2.分解成两个关系:R1(S#,DEPT),R2(S#,MN)

关系R2

关系R1

3 r1 s dept r2 dept mn

S#

DEPT

DEPT

MN

S1

S1

D1

张五

S2

S2

D1

李四

S3

S3

D2

王三

S4

D3

3.分解成两个关系:R1(S#,DEPT)和R2(DEPT,MN)3.分解成两个关系:R1(S#,DEPT)和R2(DEPT,MN)

关系R1

关系R2

slide22
小结
  • 本课主要讲解关系数据库的理论基础,为进一步深入学习关系数据库的原理与应用打下基础。本课在讨论关系数据库的基本概念的基础上,探讨了关系的数字定义、关系的完整性、关系代数的一些基本操作、函数依赖与关系的规范化等学习关系数据库必须要了解的理论基础。关系代数与关系的规范化是本章的重点。