首页 百科知识 关系代数在关系模型中的应用

关系代数在关系模型中的应用

时间:2022-10-18 百科知识 版权反馈
【摘要】:用关系代数可以表示数据库中数据结构及其操作包括查询、插入、删除及修改等操作。下面用几个例子来说明。首先建立一个关系数据库,称为学生数据库,它由三个关系组成。下面用关系代数表达式表示在该数据库上的操作。

3.3 关系代数在关系模型中的应用

用关系代数可以表示数据库中数据结构及其操作包括查询、插入、删除及修改等操作。下面用几个例子来说明。首先建立一个关系数据库,称为学生数据库,它由三个关系组成。它们是:

S(sno,sn,sd,sa);

C(cno,cn,pno);

SC(sno,cno,g)。

其中sno,cno,sn,sd,sa,cn,pno,g,分别表示学号、课程号、学生姓名、学生系别、学生年龄、课程名、预修课程号、成绩,而S,C,SC则为关系,分别表示学生、课程、学生与课程联系。下面用关系代数表达式表示在该数据库上的操作。

例3.11 检索学生所有情况:

S

例3.12 检索学生年龄大于等于20岁的学生姓名:

img56

例3.13 检索预修课号为c2的课程的课程号:

img57

例3.14 检索课程号为c,且成绩为A的所有学生姓名:

img58

注意:这是一个涉及到两个关系的检索,此时需用联接运算。

例3.15 检索s1所修读的所有课程名及其预修课号:

img59

例3.16 检索年龄为23岁的学生所修读的课程名:

img60

注意:这是涉及到三个关系的检索。

例3.17 检索至少修读了s5所修读的一门课的学生姓名。

这个例子比较复杂,需作一些分析,将问题分3步解决:

第1步,取得s5修读的课程号,它可以表示为:

img61

第2步,取得至少修读为s5修读的一门课的学号:

img62

第3步,最后得到结果为:

img63

分别将R,W代入后即得检索要求的表达式:R S

img64

例3.18 检索不修读任何课程的学生学号:

img65

例3.19 在关系C中增添一门新课程:

令此新课程元组所构成的关系为R,即有:

img67

此时有结果:

C∪R

例3.20 学号为S17的学生因故退学,请在S及SC中将其除名:

img68

例3.21 将关系S中学生S6的年龄改为22岁:

img69

W为修改后的学生有序组所组成的关系。

例3.22 将关系S中的年龄均增加1岁:

img70

习题3

3.1 请给出如下几个数学概念的定义:

(1)有序偶

(2)n元有序组

(3)关系

(4)代数系统

(5)关系代数

3.2 请给出如下几个概念间的关联:

(1)关系与二维

(2)关系运算与表操作

(3)关系代数与关系模型

3.3 试举一个关系代数的例子

3.4 什么叫关系代数?请给出关系的表示以及关系运算的内容。

3.5 今有如下商品供应关系数据库:

供应商:S(SNO,SNAME,STATUS,CITY)

零件:P(PNO,PNAME,COLOR,WEIGHT)

工程:J(JNO,JNAME,CITY)

供应关系:SPJ(SNO,PNO,JNO,QTY)(注:QTY表示供应数量)

试用关系代数写出下面的查询公式:

(1)求供应工程J1零件单位号码。

(2)求没有使用天津单位生产的红色零件的工程号。

(3)求供应工程J1零件P1的供应商号码。

(4)求供应工程J1零件为红色的单位号码。

(5)求至少用了单位S1所供应的全部零件的工程号。

(6)求供应商与工程在同一城市能供应的零件数量。

3.6 设有一课程设置数据库,其数据模式如下:

课程C(课程号cno、课程名cname、学分数score、系别dept)

学生S(学号cno、姓名name、年龄age、系别dept)

课程设置SEC(编号secid、课程编号cno、年year、学期sem)

成绩GRADE(编号secid、学号sno、成绩g)

其中成绩g采用五级记分法,即分为1,2,3,4,5五级。

请用关系代数表示下列查询:

(1)查询‘计算机’系的所有课程的课程名和学分数。

(2)查询学号为‘993701’的学生在2002年所修课程的课程名和成绩。

3.7 试述关系代数对SQL哪些方面起指导作用。

3.8 一个计算机可视为一个代数系统,请给出说明。

【复习指导】

本章介绍关系代数的主要内容以及它与关系模型关系。

1.关系代数———关系模型的基本理论

2.几个相关的数学概念

●n元有序组

●关系

●代数

●关系代数

3.关系表示———n元有序组的集合

4.关系操作———7种关系运算(打★者为常用运算)

投影运算 ★

选择运算 ★

笛卡尔乘积运算

联接运算

自然联接运算 ★

并运算 ★

差运算 ★

5.关系代数

在关系(集合)R上的关系运算所构成的封闭系统称关系代数

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈