关系代数教学中除法运算的细节探讨

2014-03-15 10:49杨海鹏徐志英
吉林工程技术师范学院学报 2014年1期
关键词:关系数据库元组数据库系统

杨海鹏,徐志英

(1.吉林工程技术师范学院教育技术与网络中心,吉林长春130052;2.朝阳师范高等专科学校数学计算机系,辽宁朝阳122000)

随着计算机技术及信息技术的发展,数据库离人们的生活越来越近,小到小型超市,大到超级市场,随处可见数据库应用的身影。而在众多的数据库系统中,关系数据库越来越被人们重视和认可。因此,很多高校及职业类院校都把关系数据库作为学生的主修课程。关系代数是关系数据库操作的基础理论。在关系代数中共有八种运算形式,包括并、差、交、笛卡尔积、投影、选择、连接和除。在教学过程中,除法运算是学生最难理解的一种运算方式,因此如果能彻底讲清楚除法运算,对学生很好地理解该运算的确切含义是有很大帮助的。

1 除法运算的定义

存在关系X和Y,其元数分别为x和y(并且x>y>0),X÷Y就是(x-y)元组的集合。(X÷Y)是满足如下条件的最大关系。(X÷Y)满足如下条件的最大关系:其中每个元组t与Y中的每一个元组组成新的元<t,u>必在关系X中。其实质就是查找关系X中存在的关系Y的属性,同时进行行和列的修剪。操作意义如图1所示。

图1 关系除法的本质

2 除法运算的过程详解及示例

X÷Y的计算步骤及每个步骤的含义如下:

①T1= π1,2,…,x-y(X)(其中,1,2,…,x - y 指的是关系X与关系Y共有属性,在进行计算的时候要过滤掉重复的元组)

②T2=(T1 x Y)-X(找出T1 x Y中在关系X中不存在的元组)

③T3=π1,2,…,x-y(T2)(对 T2 时行投影运算,去掉关系X中不存在属性)

④X÷Y=T1-T3(找出关系X中与关系Y有关系的所有元组)

即 X ÷ Y ≡ π1,2,…,x-y(X)- π1,2,…,x - y((π1,2,…,x-y(T1)x Y)- X)

下面通过一个具体的例子来了理解关系除法(X÷Y)运算的全过程,

步骤1:计算T1=π1,2(X)(注意:在这一步骤里要删除重复的行)

在上面的示例中,关系X是学生选修课程的情况,关系Y表示课程情况,而操作X÷Y表示至少选修关系Y中列出课程的学生名单。

3 教材外算法的引入

通过上例的介绍和说明,基本能让学生比较清楚理解除法的计算过程。下面给出一种教材外解题方法:相交算法。如果学生对关系代数的基本运算掌握得比较熟练,这个方法就变得相对简单且容易理解,学生很容易上手。

算法如下:

设关系X和关系Y的目数分别为x和y,且x> y,Y不为空,求X ÷ Y。

算法分以下几个步骤:

(1)Π1,2,…,s(Y);

(2)按 Π1,2,…,s(S)的元组求其在 R 中的映像。

可以让学生们在学习的过程中,通过各种方法查阅资料来完成一个自我学习的过程,这对学生理解关系代数是大有裨益的。

[1]王 珊,萨师煊.数据库系统概论(第四版)[M].北京:高等教育出版社,2006.

[2]施伯乐.丁宝康,汪 卫.数据库系统教程(第二版)[M].北京:高等教育出版社,2005.

[3]李俊山.数据库原理及应用(SQL Server)[M].北京:清华大学出版社,2009.

[4]石玉强.数据库原理及应用[M].北京:中国水利水电出版社,2009.

猜你喜欢
关系数据库元组数据库系统
关系数据库在高炉数据采集系统中的应用
Python核心语法
海量数据上有效的top-kSkyline查询算法*
数据库系统shell脚本应用
基于减少检索的负表约束优化算法
微细铣削工艺数据库系统设计与开发
实时数据库系统数据安全采集方案
核反应堆材料数据库系统及其应用
基于索引结构的关系数据库关键词检索
面向数据流处理的元组跟踪方法