首页 > 编程源码 > 数据库的关系运算

数据库的关系运算

楼主:可乐 [3级] · 2019-11-27 ·  浏览590 · 编程源码 · ID:
数据库本质上就是一些数据的集合,所以对一个数据库的操作就是十分类似于对一些集合的操作。这篇博客对我们会遇到的数据库的关系作一个小小的总结。

传统的集合运算

在这里,共有并,差,交和笛卡尔积四种运算。
1. 并集

R∪S=${t|t∈R∧t∈S$}


2. 交集
R∩S=${t|t∈R∨t∈S$}

3. 差集
R−S=${t|t∈R∧t∉S$}

4. 笛卡尔积
即分别将两个集合中的元素组合
- 版权声明 - 1、本帖所有言论和图片等纯属网友个人意见,与流星社区立场无关;
2、其他单位或个人使用、转载或引用本帖时必须同时征得该帖子作者可乐流星社区的同意;
3、备注原文地址:https://bbs.liuxingw.com/t/18492.html,可忽略第2条;
4、帖子作者需承担一切因本文发表而直接或间接导致的相关责任;
5、如本帖内容或部分内容转载自其它媒体,这并不代表本站赞同其观点和对其真实性负责;
6、如本帖若为资源类,将仅限用于学习和研究目的,您必须在下载后的24个小时之内,从您安装或使用的设备中彻底删除上述内容;
7、如果您喜欢该程序,请支持正版软件,购买注册,可以得到更好的正版服务;
8、如本帖侵犯到任何版权或违法问题,请立即邮件告知我们,我们将及时予以处理。
1条回复 |  最后回复于2019-11-27

可乐 [3级]

专门的关系运算

一些记号:
1. 设一个关系模式为R(A1,A2,....An
), 其一个分量为R。t∈R
表示t是R的一个元组,t[Ai
]表示的是相对于属性Ai
的一个分量。
2. t[A]=(t[A1
],t[A2
]….t[An
])表示属性列A在各个分量上的集合。我们也可以选取一些等价类作为子类。
3. R为一个n目的关系,S为m目的关系,那么其连接则会得到一个(n+m)目的关系。我们需要注意这一点。
4. 象集:给定了一个关系R(X,Z),X,Z为属性组。当t[X]=x时,x在R中的象集可以定义为Zx=
{t[Z]|t ∈R,t[X]=x
}$

选择操作:感觉是数据库当中最简单的一种操作了,其定义如下:
σF(R)=t|t∈R∧F(t)=true

F是我们的选择条件,就是选出符合条件的元素。

投影操作:
就是从R中选择出若干属性组成新的关系。
πA(R)=
{t[A]|t ∈R
}$

连接操作:从两个关系的笛卡尔积当中选择出满足条件的元组
就是笛卡尔积的一个加强版,没什么好说的。
等值连接:即将两个集合选中的属性的值相同的元素存入我们的结果当中去。
自然连接:连接两个关系当中同名且相同类型的属性
外连接:在结果中保存悬浮元组,即保存了没有得到匹配的属性的值
左外连接:只保存了左边的联系当中没有得到匹配的属性的值
类似的,我们有右外连接的定义。

除运算:其实很好理解,但是书说的太奇怪了。
就是取的就是含有给定对应属性的象集是另一个关系在其上的投影的集合
发布于2019-11-27

回复列表

  • 内容加载中...

说点什么...
登录注册 后才可进行评论
签到
7人签到
已签0天
  • 46636帖子
  • 1936895热点量
  • 185018火热值