计算机软件技术基础第9讲(第五章)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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)两个域上投影,则
可得到所需的结果,即
pπ
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
第五章 数据库技术
在关系模型的数据语言中,一般除了运用常规的集合运算(并、
交、差、笛卡尔积等)外,还定义了一些专门的关系运算,如投影、 选择、连接等运算。前者是将关系(二维表)看成是元组的集合,
这些运算主要是从二维表的行的方向来进行的;后者主要是从二维