计算机软件技术基础第9讲(第五章)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

S
运算的结果为m+n元关系。这个式子的意思是:在关系R和关系S 的笛卡尔积中,找出关系R的第i个属性和关系S的第j个属性之间满
足θ关系的所有元组。
16
第五章 数据库技术
比较符θ有以下3种情况:
当θ为“=”时,称为等值连接 当θ为“<”时,称为小于连接 当θ为“>”时,称为大于连接
11
第五章 数据库技术
在进行运算时,条件表达式中的各运算符的运算顺序为:先算
术比较符,后逻辑比较符。逻辑运算符的运算顺序为:
﹁(not)、∧(and)、∨(or)
12
第五章 数据库技术
6. 投影运算(projection)
投影运算时在给定关系的某些域上进行的运算。通过投影运算可 以从一个关系中选择出所需要的属性成分,并且按要求排列成一个
新的关系,而新关系的各个属性值来自原关系中相应的属性值。
由于在一个关系中的任意两个元组在各分量上不能完全相同,根 据关系的基本要求,必须删除重复元组,最后形成一个新的关系,
并给以新的名字
给定关系R在其域列SN和C上的投影用公式表示为 R[SN,C] 或 πSN,C(R)
13
第五章 数据库技术
第五章 数据库技术
数据库设计的过程 1. 需求分析

(1) 了解组织机构。 (2) 了解具体的业务现状。 (3) 了解外部要求。 (4) 了解长远规划中的应用范围和要求。 需求分析是可行性分析阶段的主要工作,通过可行性分析报告,给 出系统设计的目标、计划和比较具体的设计方案。
第五章 数据库技术
2. 概念结构设计

TP TN ,TD ,T (TG G1 (T P))
图5.25 关系T和关系P 23
第五章 数据库技术
图5.26 TP与关系TP
24
第五章 数据库技术
例5.10 设有一个关系W,现要关系W中存入一个元组(a,b,c,
d,e,f,g)
对于这个操作可以用以下运算来实现: W∪(a,b,c,d,e,f,g)GIVING W
不属于关系S的元组组成,并记为R-S。特别要注意的是,差运算不
满足交换律,即R-S与S-R是不相等的
4Fra Baidu bibliotek
第五章 数据库技术
例5.2 设关系R和关系S分别如图5.13(a)和(b)所示, 则关系R-S如图5.13(c)所示
图5.13 关系的差运算例 5
第五章 数据库技术
3. 交运算(intersection)
其中GIVING表示经过并运算后的结果赋于W,对于每一种具体的
语言可以有不同的表示方法。

从以上几个例子可以看出,关系代数作为一种语言是非常简便
和清晰地,它集定义、查询、更新和控制为一体,而其核心是查询, 因此又称为查询语言
25
第五章 数据库技术
数据库设计
数据库设计的基本概念 1)可行性分析与研究阶段 对计算机系统和实际应用两方面的调查 2)系统设计阶段 主要包括概念设计、逻辑结构设计、物理结构设计 3)设计实施与系统运行阶段 对系统的正确性验证和总调试 数据库的设计过程是一个不断反复、系统性能不断提高和完善 的过程
概念模型主要特点:
①能充分反映实际应用中的实体及其相互之间的联系,是现实世界的一 个真实模型。
②由于概念模型独立于具体的计算机系统和具体的数据库管理系统,因 此,便于用户理解,有利于用户积极参与设计工作。
③概念模型容易修改。当问题有变化时,反映实际问题的概念模型可以 很方便地扩充和修改。 ④便于向各种模型转换。由于概念模型不依赖于具体的数据库管理系统, 因此,容易向关系模型、网状模型和层次模型等各种模型转换。
例 5.6 设关系R如图5.18所示。关系R在域S#、SN和MAR上的投
影是一个新的关系,如果新的关系取名为SNM,则其运算公式为 SNM=R[S#,SN,MAR]

SNM=πS#,SN,MAR(R)
14
第五章 数据库技术
运算结果如图5.19所示。从这个例子可以看出,投影运算时在关
系的列的方向上进行选择。当需要取出表中某些列的值的时候,用 投影运算是很方便的
的数据进行各种操作。下面举例说明之 例5.8 设有一个管R如图5.23所示。现要找出平均成绩(AVER)
在85分以上的学生姓名和学号
根据题目要求,可以先通过选择运算把AVER≧85的所有元组挑 选出来,然后再在学号(S#)和学生姓名(SN)两个域上投影,则
可得到所需的结果,即

21
S# , SN AVER 85
假设有n元关系R和n元关系S,它们对应的属性值取自同一个域, 则它们的交仍然是一个n元关系,它是由属于关系R且又属于关系S的
元组组成,并记为R∩S。交运算满足交换律,即R∩S与S∩R是相等

6
第五章 数据库技术
例5.3 设关系R和关系S分别如图5.14(a)和(b)所示,则关 系R∩S如图5.14(c)所示
例5.7 设关系R和S如图5.20所示,则连接运算(R,S)的结果如图 5.21所示。其中连接运算的条件是[3]=[1],[3]和[1]分别表示关系R中 的第3个属性和关系S中的第一个属性
17
第五章 数据库技术
图5.20 关系R和关系S
图5.21 关系R和关系S连接运算R\=\S后的结果 18

(R)) S1, MA , S3, FAN , S4, WANG
第五章 数据库技术
最后结果如图5.24所示
22
第五章 数据库技术
例5.9 设有关系T和P如图5.25(a)和(b)所示。现要找出讲授
课程G1的教师姓名、所在系和职称
先对关系T和P作自然连接,其结果如图5.26(a)所示;然后再 对自然连接后的结果作选择和投影运算,其结果图图5.26(b)所示,
表的列的方向来进行运算。两者统称关系代数
5.2 关系代数
关系代数中的各种运算 1. 并运算(union)
假设有n元关系R和n元关系S,它们相应的属性值取自同一个域,
则它们的并仍然是一个n元关系,它由属于关系R或属于关系S的元组
2
第五章 数据库技术
组成,并记为R∪S。并运算满足交换律,即R∪S与S∪R是相等的
图5.14 关系的交运算例
7
第五章 数据库技术
4. 笛卡尔积(Cartesian product)
设有m元关系R和n元关系S,则R和S的笛卡尔积记为R*S,它是 一个m+n元组的集合(即m+n元关系),其中每个元组的前m个分量
是R的一个元组,后n个分量是S的一个元组。R*S是所有具备这种条
件的元组组成的集合。在实际进行组合时,可以从R的第一个元组开 始到最后一个元组,依次与S的所有元组组合,最后得到R*S的全部
公式表示为
R[g]={r|r∈R且g(r)为真} 或
σg(R)= {r|r∈R且g(r)为真}
公式中的R是关系名;g为一个逻辑表达式,取值为真或假。g 由逻辑运算符∧或and(与)、∨或or(或)、﹁或not(非)连接各 算术比较表达式组成;算术比较符有=、≠、>、≧、<、≦,其
10
第五章 数据库技术
第五章 数据库技术
第五章 数据库技术
第五章 数据库技术
(2) 设计初步E-R图
①属性域冲突。即同一个属性在不同的分 E-R图中其值的类型、取值范围等 不一致或者是属性取值单位不同。 ②命名冲突。即属性名、实体名、联系名之间有同名异义或异名同义的问题 存在。 ③结构冲突。这主要表现在同一对象在不同的应用中有不同的抽象。
第五章 数据库技术
8. 自然连接运算(natural join)
自然连接运算是对两个具有公共属性的关系所进行的运算。设关系R和 关系S具有公共的属性,则关系R和关系S的自然连接的结果是从它们的笛
卡尔积R*S中选出公共属性值相等的那些元组。具体地说,如果关系R和关
系S具有相同的属性名A1,A2,...Ak,则它们的自然连接是从笛卡尔积R*S中选 出R· A1=S· A1∧R· A2=S· A2∧...∧R· Ak的所有元组,并去掉重复属性的元组集
(3) 设计基本E-R图
例5.1 设关系R和关系S分别如图5.12(a)和(b)所示,则关系 R∪S如图5.12(c)所示
图5.12 关系的并运算例 3
第五章 数据库技术
2. 差运算(difference)
假设有n元关系R和n元关系S,它们相应的属性值取自同一个域, 则n元关系R和n元关系S的差仍然是一个n元关系,它由属于关系R而
第五章 数据库技术
概念结构设计要借助于某种方便又直观的描述工具,其中E-R(实体 -联 系,Entity-Relationship)图是设计概念模型的有力工具。 在E-R图中,用三种图框分别表示实体、属性和实体之间的联系,其规定 如下: · 用矩形框表示实体,框内标明实体名; · 用椭圆状框表示实体的属性,框内标明属性名; · 用菱形框表示实体间的联系,框内标明联系名; · 实体与其属性之间以无向边连接,菱形框与相关实体之间也用无向边联 接,并在无向边旁标明联系的类型。 用E-R图可以简单明了地描述实体及其相互之间的联系。如下面的例子:
第五章 数据库技术
描述实体集联系的E-R图
第五章 数据库技术
多个实体集联系的E-R图
同一个实体集内实体联系的E-R图
第五章 数据库技术
实体属性的E-R图
实体集之间联系属性的E-R图
第五章 数据库技术
(1) 建立分E-R图
划分实体和属性的原则: ①属性与其所描述的实体之间的联系只能是一对多的; ②属性本身不能再具有需要描述的性质或与其他事物具有联系。 能作为属性的尽量作为属性而不划分为实体,以简化E-R图。 如下例: 在一个简单的教学管理系统中,主要的实体型是学生、教师、课程、课外 科技小组,在这些实体型之间有以下几种联系: “课程-学生”联系,记为“C-S”联系,这是多对多的联系; “课程-教师”联系,记为“C-T”联系,这也是多对多的联系; “学生-科技小组”联系,记为“S-R”联系,这也是多对多的联系; “教师-科技小组”联系,记为“T-R”联系,这是一对一的联系。
图5.19 关系SNM=R\7. 连接运算(join) 15
第五章 数据库技术
7. 连接运算(join)
连接运算是对两个关系进行的运算,其意义是从两个关系的笛卡 尔积中选出满足给定属性间一定条件的那些元组
设m元关系R和n元关系S,则R和S两个关系的连接运算用公式表
示为
R
[i ] [ j ]
运算对象为常量、或者是属性名、或者是简单函数。在后一种表示
中,为选择运算符。
例5.5 设关系R如图5.16所示。如果要选择所在系(SD)为COM
且所选课程(C#)为C1的那些元组,则其运算为 R[SD=‘COM’ ∧C#=‘C1’]
或表示为
σsd=‘COM’ ∧C#= ‘C1’(R)
运算结果如图5.17所示
元组。显然,R*S共有m*n个元组
8
第五章 数据库技术
例5.4 设关系R和关系S分别如图5.15(a)和(b)所示,则笛 卡尔积R*S如图5.15(c)所示
图5.15 关系的笛卡儿积例
9
第五章 数据库技术
5. 选择运算(selection)
选择运算是在指定的关系中选取所有满足给定条件的元组,构成 一个新的关系,而这个新的关系是原关系的一个子集。选择运算用
5.22所示 自然连接是组合关系的有效方法,利用投影、选择和自然连接可
以任意地分割和组合关系。这正是关系模型的数据操纵语言具有各
种优点的根本原因
图5.22 关系R和关系S自然连接运算RS后的结果 20
第五章 数据库技术
由上所述,利用关系代数运算可以方便地对一个或多个关系进行
各种拆分和组装。在关系数据库中,正是通过这些运算对数据库中
合,记为
其中R· A1,R· A2,...,R· Ak表示R*S中对应于关系R中的属性A1,A2,...,
R S
Ak的属性名,同样,S· A1,S· A2,...,S· Ak表示R*S中对应于关系R中的属
性A1,A2,...,Ak的属性名
19
第五章 数据库技术
例如,对图5.20所示的两个关系R和S做自然连接RS的结果如图
第五章 数据库技术
信息科学与工程学院
计算机软件技术基础
二O一O年十一月
1
第五章 数据库技术
在关系模型的数据语言中,一般除了运用常规的集合运算(并、
交、差、笛卡尔积等)外,还定义了一些专门的关系运算,如投影、 选择、连接等运算。前者是将关系(二维表)看成是元组的集合,
这些运算主要是从二维表的行的方向来进行的;后者主要是从二维
相关文档
最新文档