数据库系统概论学习 第二章(2)

本文解释了如何通过关系R和S的除运算(R÷S)来确定满足特定条件的元组投影,涉及元组象集的概念,以及在关系数据库中执行查询和完整性约束的相关操作。例子展示了如何应用关系演算进行查询,如选课和先行课关系的查询。
摘要由CSDN通过智能技术生成

4.除

给定关系R (X,Y) 和S (Y,Z),其中X,Y,Z为属性组。R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集。

R与S的除运算得到一个新的关系P(X),P是R中满足下列条件的元组在 X 属性列上的投影:

元组在X上分量值x的象集Yx包含S在Y上投影的集合,记作:

在这里插入图片描述
Yx:x在R中的象集, 在这里插入图片描述

eg:设关系R、S分别为下图的(a)和(b),RS的结果为图©

步骤:先在被除数关系中找象集,再从被除数的投影中找到包含所有除数关系的属性,即为最后结果

在这里插入图片描述

在关系R中,A可以取四个值{a1,a2,a3,a4}

a1的象集为 {(b1,c2),(b2,c3),(b2,c1)}

a2的象集为 {(b3,c7),(b2,c3)}

a3的象集为 {(b4,c6)}

a4的象集为 {(b6,c6)}

S在(B,C)上的投影为 {(b1,c2),(b2,c1),(b2,c3) }

只有a1的象集包含了S在(B,C)属性组上的投影 所以 R÷S ={a1}

eg:查询至少选修1号课程和3号课程的学生号码 。

首先建立一个临时关系K: 在这里插入图片描述

然后求:在这里插入图片描述

是在SC表上对Sno和Cno的投影
在这里插入图片描述

201215121象集{1,2,3} 201215122象集{2,3} K={1,3}

于是:在这里插入图片描述

eg:查询选修了2号课程的学生的学号。
在这里插入图片描述

先在选课表中找出选修2号课程的一行(元组),再找出其学号(投影))

eg:查询至少选修了一门其直接先行课为5号课程的学生姓名
在这里插入图片描述

1.将课程表、选课表和学生表在学号和姓名上的投影自然连接,(因为Course中有Cno,SC中有Cno和Sno,有相同属性的表才可以自然连接)
2.再找出先行课号为5的行
3.投影到学生姓名

在这里插入图片描述
eg在这里插入图片描述

1.将全部课程单独写出来
2.SC表中用Sno和Cno投影成的表除以课程,得到只包含Sno的表
3.与学生表中的包含姓名和学号的投影自然连接,得到最后结果

2.5 关系演算*

元组关系演算语言 ALPHA
域关系演算语言 QBE

2.6 小结

1.关系数据库系统是目前使用最广泛的数据库系统
关系数据库系统与非关系数据库系统的区别:
关系系统只有“表”这一种数据结构
非关系数据库系统还有其他数据结构,以及对这些数据结构的操作
2.关系数据结构
(1)关系
①域
②笛卡尔积
③关系

  • 关系,属性,元组
  • 候选码,主码,主属性
  • 基本关系的性质

(2)关系模式
(3) 关系数据库
(4)关系模型的存储结构
3.关系操作
(1)查询
选择、投影、连接、除、并、交、差
(2)数据更新
插入、删除、修改
4.关系的完整性约束

  • 实体完整性

  • 参照完整性 (外码)

  • 用户定义的完整性
    5.关系数据语言
    (1)关系代数语言
    (2)关系演算语言

  • 元组关系演算语言 ALPHA

  • 域关系演算语言 QBE

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值