网站首页 > 文章精选 正文
关系代数是实现关系操作的基本表示方法,关系代数运算按运符的不同分为传统的集合运算和专门的关系运算。专门的关系运算包括投影、选择、连接和除法运算,最后学习的运算是除法运算。
一、除法运算的定义
给定关系R(X,Y)和S(Y,Z),其中X,Y,Z为属性组。
R与S的除运算得到一个新的关系P(X),
P是R中满足下列条件的元组在X属性列上的投影:
R中元组在X上分量值x的象集Yx包含S在Y上投影的集合,
象集:
给定一个关系R(X,Y),X和Y为属性组。定义,当t[X]=x时,x在R中的象集为:
它表示R中属性组X上值为x的诸元组在Y上各分量的集合。
如下图所示,除法运算具体实例:R是选课关系,S是课程关系,a、b、c、d四个属性分别是学号、姓名、课程号、课程名,C、D就是课程号、课程名。
如果事先不知道课程表中的数据和选课表中的数据有哪些课、有哪些选课记录,那么,R÷S的结果是选了全部课程的学生的学号和姓名。
除法运算适合表达全部的问题。
二、除法运算的实现
除法运算是组合运算,可以用其它基本关系运算实现。R÷S还可表示为
求R:S的操作步骤如下:
如下图所示将除法运算分解:
第一步:关系R做第一列到第r-s列的投影,取中间结果赋值为T;
第二步:用关系T和S做笛卡尔积,再减去关系R,得到的结果为W;
第三步:对W做第一列到第r-s列的投影,结果赋值为V;
第四步:R÷S的结果就为T-V的结果,即最终结果。
R(X,Y)能被S(Y,Z)除的充分必要条件:
(1)R中包含S中的部分属性(R与S中的属性可以不同名,但必须有相同的值域);
(2)R中有一些属性不出现在S中。
例题:已知集合R和集合S,求R÷S的结果。
第一步:对于关系R做投影,对前两列的投影,它的结果是将前两列投影出来;
第二步:然后和S做笛卡尔积,其结果再减去关系R,也就是说,对A、B的投影跟C、D做一个笛卡尔积,再把R减去,得出的b、c、c、d数据就是W是值;
第三步:再对W做A、B这两列的投影,结果就是b、c,也就是V的结果;
第四步:最后再把b、c减去,得出的结果就是a、b、e、d。
猜你喜欢
- 2025-04-30 圆的魅力:2025年高考圆过定点问题精彩案例
- 2025-04-30 原来多项式可以用来玩涂色游戏(多项式用什么表示)
- 2025-04-30 代数初步(代数初步是几年级学的)
- 2025-04-30 趣味线性代数(一),从二元一次方程组开始带你轻松入门线性代数
- 2025-04-30 线面平行关系的证明策略(线面平行性质定理的证明)
- 2025-04-30 高考专题复习——复数的知识点总结及经典题型归纳
- 2025-04-30 李代数与李群的关系(李群和李代数 数学基础)
- 2025-04-30 三角函数的节奏:用周期与对称简化计算
- 2025-04-30 “数形结合”在初中数学中的运用(数形结合思想在初中数学教学中的渗透研究)
- 2025-04-30 《白话高中数学》复数(三)——复数的四则运算
- 最近发表
- 标签列表
-
- newcoder (56)
- 字符串的长度是指 (45)
- drawcontours()参数说明 (60)
- unsignedshortint (59)
- postman并发请求 (47)
- python列表删除 (50)
- 左程云什么水平 (56)
- 计算机网络的拓扑结构是指() (45)
- 稳压管的稳压区是工作在什么区 (45)
- 编程题 (64)
- postgresql默认端口 (66)
- 数据库的概念模型独立于 (48)
- 产生系统死锁的原因可能是由于 (51)
- 数据库中只存放视图的 (62)
- 在vi中退出不保存的命令是 (53)
- 哪个命令可以将普通用户转换成超级用户 (49)
- noscript标签的作用 (48)
- 联合利华网申 (49)
- swagger和postman (46)
- 结构化程序设计主要强调 (53)
- 172.1 (57)
- apipostwebsocket (47)
- 唯品会后台 (61)
- 简历助手 (56)
- offshow (61)