关系代数

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

第二章关系代数

教学目的:

本章实际上研究的是关系的运算。

学习目的:

关系运算是设计关系数据库操作语言的基础,因为其中的每一个询问往往表示成一个关系运算表达式,在我们的课程中,数据及联系都是用关系表示的,所以实现数据间的联系也可以用关系运算来完成。

通过本章学习,应重点掌握:

(1)关系数据库的基本概念;

(2)如何用关系代数表达式来表达实际查询问题;

(3)如何用元组演算表达式来表达实际查询问题;

(4)如何用域演算表达式来表达实际查询问题;

(5)如何将关系代数表达式转换为元组演算表达式或转换为域演算表达式。

了解和掌握关系数据结构中涉及到的域、笛卡儿积、关系模式等有关内容的含义;

掌握关系的实体完整性和参照完整性的定义;

掌握关系代数中的并、交、差、笛卡儿积运算,以及选择、投影和连接运算。

教学重点:

关系的实体完整性和参照完整性的定义;

关系代数中的并、交、差、笛卡儿积运算,以及选择、投影和连接运算。

教学难点:关系代数中的并、交、差、笛卡儿积运算,以及选择、投影和连接运算。

教学方法:实例法

教学内容:如下:

关系模型

关系模型是一种简单的二维表格结构,每个二维表称做一个关系,一个二维表的表头,即所有列的标题称为一个元组,每一列数据称为一个属性,列标题称估属性名。同一个关系中不允许出现重复元组和相同属性名的属性。

1.关系模型组成

关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。关系操作分为两大部分如图所示。

2.关系操作的特点

关系操作的特点是操作对象和操作结果都是集合。而非关系数据模型的数据操作方式则为一次一个记录的方式。 关系数据语言分为三类: (1)关系代数语言:如ISBL ;

(2)关系演算语言:分为元组关系演算语言(如Alpha ,Quel)、域关系演算语言(如QBE); (3)具有关系代数和关系演算双重特点的语言:如SQL 。

3.关系数据结构及其形式化定义 (1)域

定义 域是一组具有相同数据类型的值的集合。 (2)笛卡尔积

定义 设D 1,D 2,D 3,…,D n ,为任意集合,定义D l ,D 2,D 3,…,D n 的笛卡尔积为 D 1×D 2×D 3×…×D n ={(d1,d2,d3,…dn)[di ∈Di ,i =1,2,3…,n]

其中每一个元素(dl ,d2,d3,…,dn ,)叫做一个n 元组(n 一tuple)或简称为元组(Tuple),每一个值di 叫做一个分量(Component),若Di(i =l ,2,…n)为有限集,其基数(Cardinal number)为mi(i=l ,2,3,…,n), 则D 1×D 2×D 3×…×D n 的基数M 为 M =

∏=n

i 1

mi

笛卡尔积可以用二维表来表示。

例 D1={0,1},D2={a,b,c}

则:D1×D2={(0,a),(0,b),(0,c),(1,a),(1,b),(1,c)}用二维

表来表示,如图2—2所示。

×

(3)关系的形式化定义及相关名词

定义 D1×D2×D3×…×D n的子集叫做在域D1,D2,D3,…,D n上的关系,用R(D1,D2,D3,…,D n),称关系R为n元关系。

候选码若关系中的某一属性组的值能惟一的标识一个元组,则称该属性组为候选码(Candidate Key)。

主码若一个关系有多个候选码,则选定其中一个为主码(PrimaryKey)。主码诸属性称为主属性。不包含在任何候选码中的属性称为非码属性(Non—Key

attribute)。关系模型的所有属性组是这个关系模式的候选码,称为全码(All

—key)

(4)关系的三种类型

基本关系(通常又称为基本表或基表),是实际存在的表,它是实际存储数据的逻辑

表示

查询表,查询结果对应的表

视图表,是由基本表或其他视图表导出的表,也常称为虚表

(5)基本关系有以下五条性质

每一列中的分量必须是同一类型的数据,来自同一个域

属性不能重名

行列的顺序无关

任何两个元组不能完全相同

每一个分量必须是不可再分的数据项

3.关系完整性

关系模型的完整性规则是对关系的某种约束条件。关系的完整性共分为三类:

实体完整性、参照完整性、用户定义完整性。

(1)实体的完整性(Entity Integrity)规定:若属性A是基本关系R的主属性,则属性

A不能取空值。即主属性不能为空。

(2)参照的完整性(Referential Integrity)规定:若F是基本关系R的外码,它与基

本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系)则对于R中每个元组在F上的值必须为:

①或者取空值(F的每个属性值均为空值);即外码可以为空

②或者等于S中某个元组的主码值。

(3)用户定义的完整性(User defined Integrity):就是针对某一具体的关系数据库的

约束条件,由应用的环境决定。

4.关系模式

在数据库中要区分型和值。关系数据库中的型也称为关系数据库模式,是关系数据库的描述。它包括若干域的定义以及在这些域上定义的若干关系模式。关系数据库的值是这些关系模式在某一时刻对应的关系的集合,通常称之为关系数据库。

定义关系的描述称为关系模式(Relation Schema)。可以形式化的表示为

R(U,D,dom,F)

其中,R表示关系名;U是组成该关系的属性名集合;D是属性的域;dom是属性向域的映像集合;F为属性间数据的依赖关系集合。

通常将关系模式简记为:

R(U)或R(Al,A2,A3,…,An。)

其中R为关系名,A1,A2,A3,…,An。为属性名,域名、属性向域的映像常常直接说明属性的类型、长度。

例定义学生与课程关系模式及主码如下:

(1)S(Sno,Sname,SD,SA)

相关文档
最新文档