Download presentation
Presentation is loading. Please wait.
Published by偃 干 Modified 7年之前
1
教学网站: http://swpu.fy.chaoxing.com
数据库及应用 授课教师:岳静 Tel: 教学网站: 123
2
第2章 数据模型 E-R模型 关系模型 关系模型的设计
3
数据和信息 数据和信息 信息 数据 8 Paradorn 10 Marat Safin 15 Carlos Moya 20
Lleyton Hewitt 联赛获胜场次 运动员 联赛最佳运动员 Lleyton Hewitt
4
数据和数据模型 现实世界 人的认识抽象 信息世界:概念模型 机器世界:具体的DBMS 支持的组织模型 为了把现实世界中的具体事物抽象、组织为某一具体DBMS支持的数据模型,通常首先将现实世界抽象为信息世界,然后再将信息世界转换为机器世界。即:首先把现实世界中的客观对象抽象为某一种信息结构,然后再把概念级模型转换为计算机上的DBMS支持的数据模型,也就是组织层数据模型。
5
现实世界客观对象的抽象过程 数据库设计人员 数据库设计人员 (利用数据库设计工具)
用于信息世界的建模,是对现实世界的第一层抽象,它是按用户的观点来对信息建模。 数据库设计人员 按计算机的观点对数据建模,提供了表示和组织数据的方法 数据库设计人员 (利用数据库设计工具) 描述数据在系统内部的表示方式和存取方法
6
数据模型 ★数据模型的分类(按不同的应用层次分) 数据模型是指模拟现实世界中的实物及其之间关系的方法。 概念模型-面向用户的模型
逻辑模型-面向数据库系统的模型 物理模型-面向计算机物理表示的模型 1、概念数据模型(Conceptual Data Model):简称概念模型,是面向数据库用户的实现世界的模型,主要用来描述世界的概念化结构,它使数据库的设计人员在设计的初始阶段,摆脱计算机系统及DBMS的具体技术问题,集中精力分析数据以及数据之间的联系等,与具体的数据管理系统(Database Management System,简称DBMS)无关。概念数据模型必须换成逻辑数据模型,才能在DBMS中实现。 2、逻辑数据模型(Logical Data Model):简称数据模型,这是用户从数据库所看到的模型,是具体的DBMS所支持的数据模型,如网状数据模型(Network Data Model)、层次数据模型(Hierarchical Data Model)等等。此模型既要面向用户,又要面向系统,主要用于数据库管理系统(DBMS)的实现。 3、物理数据模型(Physical Data Model):简称物理模型,是面向计算机物理表示的模型,描述了数据在储存介质上的组织结构,它不但与具体的DBMS有关,而且还与操作系统和硬件有关。每一种逻辑数据模型在实现时都有起对应的物理数据模型。DBMS为了保证其独立性与可移植性,大部分物理数据模型的实现工作又系统自动完成,而设计者只设计索引、聚集等特殊结构。 在概念数据模型中最常用的是E-R模型、扩充的E-R模型、面向对象模型及谓词模型。在逻辑数据类型中最常用的是层次模型、网状模型、关系模型。
7
为什么需要三种模型而不是一种模型?
8
E-R模型 ★联系:实体之间的关联 ★E-R模型是被广泛实用的概念模型 E-R模型中几个概念 实体:客观存在并可以区别的事物 实体集 属性
域:一个属性的取值范围称为该属性的域 ★联系:实体之间的关联 一对一(1:1)、一对多(1:M或M:1)、多对多(M:N)
9
1对1联系(1:1) 1对多联系(1:N) 多对多联系(M:N) 学校和校长、学生和学生简历……
A和B是1:1联系指一个A只有一个B与其关联,并且一个B也只有一个A与其关联 1对多联系(1:N) 公司和职工、系和学生、客户和订单…… A和B是1:N联系指一个A可以有多个B与其关联,但一个B只有1个A关联 多对多联系(M:N) 学生和课程、教师和课程、医生和病人…… 一个A可有多个B对应,一个B也可有多个A对应
10
ER图的符号 <联系基数> <联系名> <联系基数> <实体名> <实体名>
<属性名> <属性名> <属性名> 矩形:表示实体 菱形:表示联系,两端写上联系的基数 (1:N, M:N, 1:1) 椭圆形:表示属性,实体的码加下划线,联系也可有属性
12
ER图例子:教学应用 课程号 课程名 学分 M 选课 N 课程 学生 N 学号 姓名 年龄 教授 成绩 M 教师 工资号 姓名 职称
13
病房与医生实体存在负责联系,即一个医生要负责管理多个病房,而一个病房的管理医生只有一个
病房号 N 住在 1 病人 病房 N 管理 住院号 姓名 1 医生
14
课程 教员 参考书 讲授 1 m n 供应商 项目 零件 供应 p m n 三个实体型之间的 一对多关系 三个实体型之间的 多对多关系
15
同一实体集内的各实体之间可以有某种联系 职工 n 1 领导 同一实体集内 一对多联系
16
思考:画出以下ER模型 在超市中,一个顾客可购买多种物品,每种物品可被多个顾客购买
在图书馆借书系统中,一个学生可以借还多本书,每本书只能被一个学生借还
17
习题 1、学生社团可以接纳多名学生参加,但每个学生只能参加一个社团,从社团到学生之间的联系类型是( ) A.多对多 B.一对一 C.多对一 D.一对多 2、储蓄所有多个储户,一个储户可以在多个储蓄所存取款,储蓄所和储户之间的联系类型是: C.多对一 D.一对多 答案:1、D 2、A
18
层次模型 网状模型 逻辑模型 关系模型
19
层次模型 层次模型:需掌握的4个方面。 层次模型是发展最早的数据模型; 层次模型中实体之间的联系用树形结构来表示;
层次模型的数据结构为基本层次联系。 层次模型是最早发展起来的数据库模型。它的基本结构是树形结构,这种结构方式在现实世界中很普遍,如家族结构、行政组织结构等。 在图论中,我们学过树的定义,任一树结构均有以下特性: (1)棵树有且仅有一个无双亲结点,称为根结点。 (2)除根结点以外其他的结点有且仅有一个双亲,无子女的结点称为叶结点。 我们把满足上述特性的基本层次联系的集合称为层次模型。在层次模型中,每一个结点表示一个记录类型,结点之间的连线表示记录类型间的联系,这种联系只能是父子联系。层次模型的另一个特点是,任何一个给定的记录值只有按其路径查看时,才能显示出它的全部内容,没有一个子女记录值能够脱离双亲记录值而独立存在。
20
网状模型 网状模型,需掌握的4个方面。 网状模型晚出现于层次模型 网状模型中的实体之间的联系表示为网状 网状模型的数据结构为基本层次联系
网状模型实际上是不加任何条件限制的无向图 网状模型(Network Model)是一种更具有普遍性的结构,从图论的角度讲,网状模型是一个不加任何条件限制的无向图。网状模型是以记录为结点的网状结构,它满足以下条件: (1)可以有任意个结点无双亲。 (2)允许结点有一个以上的双亲。 (3)允许两个结点之间有一种或两种以上的联系。 在网状模型的DBTG(DataBase Task Group)标准中,基本结构是简单二级树称作系,系的基本数据单位是记录,它相当于E-R模型中的实体集,记录又有若干数据项组成,它相当于E-R模型中的属性。
21
★关系模型 数据结构:采用二维表来表示 关系:实体以及实体间的联系; 元组:表中的一行; 属性:表中的一列;
主键:惟一标识元组的最小属性集; 外码:表A中的某属性是表B的键,则称该属性为A的外键 或外码
22
主键 能够唯一标识表中行的属性(或属性集)是主键的一个候选键,这样的属性称为候选键。
任何一个作为主键的候选键、但它又不是一个主键的属性,这样的属性称为替换键。 键可以是简单的或组合的键: 简单键由单个属性组成。 组合键则是由多个属性组合起来。 Explain the strategy to load the data into conformed dimension with help of an example to load the data in the date dimension given in SG. Explain the strategy to load the data into the Snowflaked dimension with the help of an example given in SG.
23
组合键
24
关系模式一般表示为:关系名(属性1,属性2,…,属性n)
学生(学号,姓名,性别,年龄,所在系)
25
关系模型 记录和记录之间通过属性之间的关系来进行连接 保证数据独立性,并形成数据集之间的关系 学号 姓名 学号 成绩 1 张明 1 98 2
李东 2 86 3 刘三阳 3 75 刘三阳 75 3 姓名 成绩 学号
26
数据库设计 ★数据库设计的5步骤 需求分析 数据库实施 概念设计 物理结构设计 数据库运行与维护 逻辑结构设计
27
数据库设计中的逻辑设计 ★逻辑设计的主要任务 将概念模型(E-R图)转换为关系数据库管理系统所支持的关系模型(逻辑模型)。
28
将 ER 图映射到表 在关系系统中,符合 ER 图的数据库可以由表的集合来表示。 让我们来讨论以下关系中 ER 图到表的映射: 常规实体
属性 关系 弱实体 子类型和超类型 Students have learnt the structure of different types of dimensions and the importance of surrogate keys in Module I. In this session, students will learn to load the data into the dimension tables after the data has been transformed in the transformation phase. In addition, students will also learn to update data into these dimension tables. Students already know about different types of dimension tables. Therefore, you can start the session by recapitulating the concepts. Initiate the class by asking the following questions: 1. What are the different types of dimensions? 2. Define flat dimension. 3. What are conformed dimension? 4. Define large dimension. 5. Define small dimension. 6. What is the importance of surrogate key in a dimension table? Students will learn the loading and update strategies theoretically in this session. The demonstration to load and update the data in the dimension table will be covered in next session.
29
基本ER模型转换到关系模型 实体转换 每个实体转换为一个关系模式,实体的属性为关系模式的属性,实体的标识成为关系模式的主码
30
基本ER模型转换到关系模型 联系转换 1:1:将任一端的实体的标识和联系属性加入另一实体所对应的关系模式中,两模式的主码保持不变
1:N:将1端实体的标识和联系属性加入N端实体所对应的关系模式中,两模式的主码不变 M:N:新建一个关系模式,该模式的属性为两端实体的标识以及联系的属性,主码为两端关系模式的主码的组合
31
子类与父类 子类(Subtype)和父类(Supertype)
两个实体A和B并不相同,但实体A属于实体B,则A称为实体子类,B称为实体父类 例如,研究生是学生的子类,经理是职工的子类 父类实体和子类实体都各自转换为关系模式,并在子类关系模式中加入父类的主码,子类关系模式的主码设为父类的主码
33
转换实体 实体转换为关系模式: 先考虑弱实体“子女”,加入“职工号”,并修改主码为“职工号+姓名”
1、部门(部门号,部门名) 2、职工(职工号,姓名) 3、项目(项目号,项目名) 4、领导者(奖金,车型) 5、子女(姓名,出生日期) 先考虑弱实体“子女”,加入“职工号”,并修改主码为“职工号+姓名” 5、子女(姓名,出生日期,职工号) 再考虑子类“领导者”,加入父类标识“职工号”作主码 4、领导者(奖金,车型,职工号)
34
转换联系 实体转换得到关系模式: 考虑每个联系: 1、部门(部门号,部门名) 2、职工(职工号,姓名) 3、项目(项目号,项目名)
4、领导者(奖金,车型,职工号) 5、子女(姓名,出生日期,职工号) 考虑每个联系: 1、部门:领导者(1:1):领导者(奖金,车型,职工号,部门号,任职时间) 或者 部门(部门号,部门名,职工号,任职时间) 2、部门:职工(1:N):职工(职工号,姓名,部门号) 3、职工:项目(1:1):项目(项目号,项目名,职工号) 4、职工:项目(M:N):增加模式:职工_项目(项目号,职工号,天数)
35
得到系数据库模式 部门(部门号,部门名) 职工(职工号,姓名,部门号) 项目(项目号,项目名,职工号)
领导者(奖金,车型,职工号,部门号,任职时间) 子女(姓名,出生日期,职工号) 职工_项目(项目号,职工号,天数)
36
数据库设计题 建立一个关于系、学生、班级、学会等诸多信息的关系数据库; 描述学生的属性有:学号、姓名、出生年月、系名、班号;
描述班级的属性有:班号、专业号、系名、人数、入校年份; 描述系的属性有:系号、系名、系办公室地点、人数; 描述学会的属性有:学会名、成立年份、地点、人数。
37
数据库设计题 有关语义如下: 一个系有若干个专业 每个专业每年只招一个班 每个班有若干个学生 一个系的学生住在同一个宿舍区
每个学生可参加若干个学会 每个学会有若干个学生 学生参加某学会有一个入会的年份。 根据以上定义,请给出合适的关系模式,如有必要,适当增加一些属性,并指出各关系的主键、外部键。
38
系关系:系号、系名、系办公地点、人数、宿舍区
主键:系号 专业关系:专业号、专业名、系号 主键:专业号 班级关系:班号、专业号、人数、入校年份 主键:班号
39
学会关系:学会号、学会名、成立年份、地点、人数
主键:学会号 学生关系:学号、姓名、出生年月、班号 主键:学号 学生-学会关系:学号、学会号、入会日期 主键:学号、学会号
40
数据完整性是指数据库中存储的数据是有意义的或正确的。数据完整性约束主要包括三大类: 实体完整性 参照完整性 用户定义的完整性
关系模型的数据完整性约束 数据完整性是指数据库中存储的数据是有意义的或正确的。数据完整性约束主要包括三大类: 实体完整性 参照完整性 用户定义的完整性
41
实体完整性 关系数据库中的所有的表都必须有主码,而且表中不允许存在如下的记录无主码值的记录主码值相同的记录。
42
参照完整性 参照完整性是描述实体之间的联系的。参照完整性一般是指多个实体或表之间的关联关系。限制一个表中某列的取值受另一个表的某列的取值范围约束的特点就称为参照完整性。在关系数据库中用外码(Foreign key,有时也称为外部关键字或外键)来实现参照完整性。 外码一般在联系实体中,用于表示两个或多个实体之间的关联关系。
43
例:学生实体和专业实体可以用下面的关系表示。 学生(学号,姓名,性别,专业号,出生日期) 专业(专业号,专业名)
参照完整性 例:学生实体和专业实体可以用下面的关系表示。 学生(学号,姓名,性别,专业号,出生日期) 专业(专业号,专业名)
44
用户定义的完整性 用户定义的完整性也称为域完整性或语义完整性。用户定义的完整性就是针对某一具体应用领域定义的数据库约束条件。它反映某一具体应用所涉及的数据必须满足应用语义的要求。用户定义的完整性实际上就是指明关系中属性的取值范围,也就是属性的域,即限制关系中的属性的取值类型及取值范围,防止属性的值与应用语义矛盾。例如,学生的考试成绩的取值范围为0-100,或取{优、良、中、及格、不及格}。
45
数据库系统的结构 三级模式结构 二级映象功能 数据库管理系统
46
数据库系统结构 从数据库管理系统角度看,数据库系统通常采用三级模式结构,是数据库系统内部的系统结构
从数据库最终用户角度看(数据库系统外部的体系结构) ,数据库系统的结构分为: 单用户结构 主从式结构 分布式结构 客户/服务器 浏览器/应用服务器/数据库服务器多层结构等
47
三级模式结构 数据模型(组织模型)是描述数据的一种形式,模式是用给定的数据模型对具体数据的描述。模式是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及到型的描述,不涉及到具体的值。关系模式是关系的“型”或元组的结构共性的描述。关系模式实际上对应的是关系表的表头。 关系模式一般表示为:关系名(属性1,属性2,…属性n) 表头 (关系模式) 图2-5 元组 属性名1 属性名2 …… 属性名n
48
模式的概念(续) 模式(Schema) 实例(Instance) 数据库逻辑结构和特征的描述 是型的描述 反映的是数据的结构及其联系
模式是相对稳定的 实例(Instance) 模式的一个具体值 反映数据库某一时刻的状态 同一个模式可以有很多实例 实例随数据库中的数据的更新而变动
49
模式的概念(续) 例如:在学生选课数据库模式中,包含学生记录、课程记录和学生选课记录 2003年的一个学生数据库实例,包含:
2003年学校中所有学生的记录 学校开设的所有课程的记录 所有学生选课的记录 思考:2002年度与2003年度学生数据库模式对应的实例是否相同??
50
学号 姓名 性别 系别 年龄 住址 出身 学位 学分 补贴 学籍科 房产科 人事科 劳资科
51
三级模式结构 ANSI/SPARC体系结构将数据库划分为三层结构:即内模式、概念模式和外模式。 内模式 外模式1 外模式2 外模式n
… 内模式:是最接近物理存储的,也就是数据的物理存储方式。 外模式:是最接近用户的,也就是用户所看到的数据视图。 概念模式:是介于内模式和外模式之间的中接层次外模式是单个用户的数据视图,而概念模式是一个部门或公司的整体数据视图。换句话说,外模式可以有许多,每一个都或多或少地抽象表示整个数据库的某一部分;而概念模式只有一个,它包含对现实世界数据库的抽象表示。大多数用户只对整个数据库的某一部分感兴趣。内模式也只有一个,它表示数据库的物理存储。
52
如何做到? 外模式 外模式也称为用户模式或子模式,它是对现实系统中用户感兴趣的整体数据结构的局部描述。
外模式通常是模式的子集。一个数据库可以有多个外模式。 外模式是保证数据库安全的一个措施。 每个用户只能看见和访问所对应的外模式中的数据 外模式也称为用户模式或子模式,它是对现实系统中用户感兴趣的整体数据结构的局部描述,用于满足不同数据库用户需求的数据视图,是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是对数据库整体数据结构的子集或局部重构 外模式通常是模式的子集。一个数据库可以有多个外模式。由于它是各个用户的数据视图,如果不同的用户在应用需求、看待数据的方式、对数据保密的要求等方面存在差异,则其外模式描述就是不相同的。即使对模式中同样的数据,在外模式中的结构、类型、长度等都可以不同。 外模式是保证数据库安全的一个措施。每个用户只能看到和访问其所对应的外模式中的数据,并将其不需要的数据屏蔽起来,因此保证不会出现由于用户的误操作和有意破坏而造成数据损失。 如何做到?
53
外模式(续) 外模式的地位:介于模式与应用之间 模式与外模式的关系:一对多 外模式与应用的关系:一对多 外模式通常是模式的子集
一个数据库可以有多个外模式。反映了不同的用户的应用需求、看待数据的方式、对数据保密的要求 对模式中同一数据,在外模式中的结构、类型、长度、保密级别等都可以不同 外模式与应用的关系:一对多 同一外模式也可以为某一用户的多个应用系统所使用 但一个应用程序只能使用一个外模式
54
概念模式 概念模式(也称为逻辑模式或模式),是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
概念模式也称为逻辑模式或模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。它是数据库系统结构的中间层,既不涉及数据的物理存储细节和硬件环境,也与具体的应用程序、与所使用的应用开发工具和环境无关。 概念视图是概念模式定义的。概念模式实际上是数据库数据在逻辑级上的视图。一个数据库只有一种模式。数据库模式以某种数据模型为基础,统一综合地考虑了所有用户的需求,并将这些需求有机地结合成一个逻辑整体。定义数据库模式时不仅要定义数据的逻辑结构,比如,数据记录由哪些数据项组成,数据库项的名字、类型、取值范围等,而且还要定义数据之间的联系,定义与数据有关的安全性、完整性要求 。
55
内模式 内模式(也称为存储模式)。内模式是对整个数据库的底层表示,它描述了数据的存储结构,比如数据的组织与存储。
记录的存储方式(顺序存储,按照B树结构存储, 按hash方法存储) 索引的组织方式 数据是否压缩存储 数据是否加密 数据存储记录结构的规定 一个数据库只有一个内模式 内模式也称为存储模式。内模式是对整个数据库的底层表示,它描述了数据的存储结构,比如数据的组织与存储。注意内模式与物理层是不一样的,内模式不涉及物理记录的形式(即物理块或页,输出/输出单位),也不考虑具体设备的柱面或磁道大小。 内模式用另一种数据定义语言——内部数据定义语言来描述。
57
三级模式间的关系 外模式可以有许多,而概念模式只有一个,内模式也只有一个,它表示数据库的物理存储。
58
二级映象功能
59
二级映象功能 1. 概念模式/内模式映象 概念模式/内模式映象定义了概念视图和存储的数据库的对应关系,它说明了概念层的记录和字段在内部层次怎样表示。如果数据库的存储结构改变了,也就是,如果改变了存储结构的定义,那么概念模式/内模式的映象必须进行相应的改变,以使概念模式能够保持不变。(当然,对这些变动的管理是系统管理员的责任)。换句话说,概念模式/内模式映象保证了数据的物理独立性,由内模式变化带来的影响必须与概念模式隔离开来。
60
2. 外模式/概念模式映象 外模式/概念模式映象定义了特定的外部视图和概念视图之间的对应关系。一般地说,这两层之间的差异情况与概念视图与存储模式之间的差异情况是类似的。例如,概念模式的结构可以改变,但概念结构的这些改变可以不影响外模式。外模式的内容可以包含在多个概念模式中,而且外模式的一个字段可以由几个概念模式的字段合并而成,等等。
61
二级映像保证数据独立性 数据独立性 外模式/模式映象 模式/内模式映象 保证: 保证: 数据的逻辑独立性 数据的物理独立性
当模式改变时,数据库管理员修改有关的外模式/模式映象,使外模式保持不变 模式/内模式映象 保证: 数据的物理独立性 当数据库的存储结构改变,数据库管理员修改模式/内模式映象,使模式保持不变 .
62
DBMS的功能和组成 源模式和 映象 计划的DML 请求 非计划的 DML请求 DDL处理器 DML处理器 查询语言处 理器 编译器
优化处理器 运行管理器 源模式目标模式和 源数据 数据 数据字典 增强安全性与完整性约束 图2-8DBMS功能和组成
63
DBMS支持的功能 1.数据定义 DBMS必须能够接受数据库定义的源形式,并把它们转换成相应的目标形式。 2.数据操纵
3. 优化和执行 计划(在请求执行前就可以预见到的请求)的或非计划(不可预知的请求)的数据操纵语言请求必须经过优化器的处理,优化器是用来决定执行请求的最佳方式 。 4. 数据安全和完整性 DBMS要监控用户的请求,拒绝那些有破坏DBA定义的数据库安全性和完整性的请求。
64
5. 数据恢复和并发 DBMS必须保证有恢复和并发控制功能。 6.数据字典 DBMS包括数据字典。数据字典本身也可以看作是一个数据库,只不过它是系统数据库,而不是用户数据库。“字典”是“数据的数据”(有时也称为数据的描述或元数据)。特别地,在数据字典中,也保存各种模式和映象的各种安全性和完整性约束。 有些人也把数据字典称为目录或分类,有时甚至称为数据存储池。 7.性能 DBMS应尽可能高效地完成上述任务。
65
1、数据库系统的组成 数据库 数据库管理系统(及其开发工具) 应用系统 数据库管理员 硬件平台及数据库 软件 (DBMS及相关软件)
人员(数据库管理员、系统分析员和数据库设计人员、应用程序员、用户)
66
人员与数据库系统的关系 不同的人员涉及不同的数据抽象级别,具有不同的数据视图,如下图所示
67
1. 数据库管理员(DBA) 具体职责: 决定数据库中的信息内容和结构 决定数据库的存储结构和存取策略 定义数据的安全性要求和完整性约束条件
监控数据库的使用和运行 周期性转储数据库(数据文件、日志文件) 系统故障恢复 介质故障恢复 监视审计文件 数据库的改进和重组 性能监控和调优 定期对数据库进行重组织,以提高系统的性能 需求增加和改变时,数据库须需要重构造
68
2. 系统分析员和数据库设计人员 系统分析员 负责应用系统的需求分析和规范说明 与用户及DBA协商,确定系统的硬软件配置
参与数据库系统的概要设计 数据库设计人员 参加用户需求调查和系统分析 确定数据库中的数据 设计数据库各级模式
69
3. 应用程序员 设计和编写应用系统的程序模块 进行调试和安装
70
4. 用户 用户是指最终用户(End User)。最终用户通过应用系统的用户接口使用数据库。 偶然用户 简单用户 复杂用户
不经常访问数据库,但每次访问数据库时往往需要不同的数据库信息 企业或组织机构的高中级管理人员 简单用户 主要工作是查询和更新数据库 银行的职员、机票预定人员、旅馆总台服务员 复杂用户 工程师、科学家、经济学家、科技工作者等 直接使用数据库语言访问甚至能够编制自己的应用程序
71
小结 数据库系统的结构 数据库系统三级模式结构 数据库系统两层映像系统结构 数据独立性 数据库系统的组成
72
关系操作符 并、差、交、广义笛卡尔积 关系代数基础知识 选择、投影、连接、除 比较运算、逻辑运算
73
选择运算RESTRICT F(R)= { t | t ∈ R ∧ F(t) =’真’ } 在关系R中选择满足给定条件的元组
76
投影PROJECT πA(R)= { t[A] | t∈R } 从R中选择出若干个属性列组成新的关系,其中A表示R中的属性列。
关系Student
77
并运算UNION 其中R和S具有相同目n(即相同的属性),相应属性取自同一个域。
R∪S = { t | t∈R ∨ t∈S } 其中R和S具有相同目n(即相同的属性),相应属性取自同一个域。 R∪S的结果仍然为n目关系,由属于R和属于S的所有元组组成。 做笔记
78
交运算INTERSECT R∩S = { t | t∈R ∧t∈S } 其中R和S具有相同目n(即相同个数的属性),相应属性取自同一个域;
R∩S的结果仍然为n目关系,由既属于R又属于S的所有元组组成。
79
差运算DIFFERENCE R-S = { t | t∈R ∧ t∈S }
其中R和S具有相同目n(即相同个数的属性),相应属性取自同一个域; R-S的结果仍然为n目关系,由属于R而不属于S的所有元组组成。
80
笛卡尔积PRODUCT R×S = { trts | tr∈R ∧ts∈S }
81
自然连接JOIN 连接运算从R和 S的广义笛卡尔积R|×|S中选取(R关系)在A属性组上的值与(S关系)在B属性组上值相等的元组。
82
练习 设有如下两个关系表R、S,则R×S =?
在下列关系运算中,不改变关系表中的属性但个数能减少元组个数的是 A)并 B)交 C)投影 D)笛卡儿乘积 B
83
练习 有三个关系R、S和T如下,由关系R和S通过运算得到关系T,则所使用的运算为( ) A)并 B)自然连接 C)笛卡尔积 D)交 D R
k1 f 3 h2 b 1 n1 n 2 x1
84
练习 有三个关系R、S和T如下: 由关系R和S通过运算得到关系T,则所使用的运算为_______。 笛卡尔积 交 并 自然连接 D
85
练习 有两个关系R,S如下: 由关系R通过运算得到关系S,则所使用的运算为( ) (A)选择 (B)投影 (C)插入 (D)连接 B
86
3.2 关系代数 学号 姓名 年龄 所在系 98101 张山 20 计算机系 98105 李斯 21 98204 王武 数学系 S1 学号
98205 赵路 21 S2 查询:1.所有学生的信息; 2.重复学生的信息 ; 3.删除S1关系中包含的S2关系中的学生信息。 S1∪S2 S1∩S2 S1-S2
Similar presentations