关系模型之关系代数
Posted 计算机小白的爬坑之路
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关系模型之关系代数相关的知识,希望对你有一定的参考价值。
关系模型之关系代数
一、关系代数基本操作
数据库管理系统提要:用户写出SQL语言,变成一种关系代数操作,DBMS解析这个组合,按照一定的次序分解开,并按照次序调用基本动作予以执行。
1、关系代数的运算
按运算符的不同可分为传统的集合运算和专门的关系运算两类。
- 集合运算:并、差、交、笛卡尔积
- 关系运算:投影、选择、连接、除
2、并相容性
参与运算的两个关系及其相关属性之间有一定的对应性、可比性或意义关联性才可以完成并、差、交等的操作;
定义:关系 R 与关系 S 存在相容性,当且仅当:
- 关系 R 与关系 S 的属性数目必须相同;
- 对于任意 i ,关系 R 的第 i 个属性的域必须和关系 S 的第 i 个属性的域相同;
3、“并”操作(R∪S)
定义:假设关系 R 和关系 S 是并相容的,R∪S是将两个关系的元组合并成一个元组,在合并时去掉重复的元组。
描述:或者…或者…
4、“差”操作(R–S)
定义:假设关系 R 和关系 S 是并相容的,R–S 记作出现在关系R中但不出现在关系S中的元组。
描述:是…不含…
5、“笛卡尔积”操作(R×S)
定义:关系R中的元组与关系S的元组进行所有可能的拼接(或串接)构成
- 笛卡尔积R×S的属性个数 = R的属性个数 + S的属性个数;
- 笛卡尔积R×S的元组个数 = R的元组个数 × S的元组个数;
6、选择操作(σ)
定义:从关系R中选择出满足给定条件condition的元组。
注意:条件的书写要注意运算符的优先次序,优先次序自高至低为:括弧 > θ > ¬ > ∧ > ∨
7、投影操作(∏)
定义:从关系R中选出属性为A中的列,重新组合成新的关系,删除重复元组。
投影操作是从给定关系中选出某些 列 组成新的关系;
选择操作是从给定关系中选出某些 行 组成新的关系;
8、例子
给定如下关系R与关系S
关系代数:
二、关系代数扩展操作
1、“交”运算(R∩S)
定义:由同时出现在关系R和关系S中的元组构成。
2、“θ-连接”操作
定义:由关系R和关系S的笛卡尔积中,选取R中属性A与S中属性B之间满足θ条件的元组构成。
数学描述:先拼接为R×S,然后选择符合条件的元组。
例子如图:
3、“等值-连接”操作
定义:特殊情况的θ-连接。
4、自然连接
定义:特殊的等值连接,在关系R和S的笛卡尔积中选取属性相同、值相等的元组,在结果中去掉重复的属性列。
举个例子:
三、关系代数复杂扩展操作
1、“除”操作(R÷S)
除法运算常用于求解“查询…全部的…”问题
前提条件:R的属性集是S的属性集的真子集,即关系R的属性个数小于S的属性个数。
定义:关系R中的属性减去关系S中的属性后剩余的属性,去掉该属性对应重复的元组。然后得到的关系中元组与关系S的每一个元组进行组合,如果均能够在关系R中找到相同的元组,则该元组为R÷S中的一个元组。
2、“外连接”操作
定义:两个关系R与S进行连接时,如果关系R(或S)中的元组在S(或R)中找不到相匹配的元组,则为避免该元组信息丢失,从而将该元组与S(或R)中假定存在的全为空值的元组形成连接,放置在结果关系中,这种连接称之为外连接。
- 外连接=自然连接(或θ连接)+失配的元组(与全空元组形成的连接);
- 外连接的形式:左外连接(左侧元组不丢失)、右外连接、全外连接;
- 左外连接=自然连接(或θ连接)+左侧表中失配的元组;
- 右外连接=自然连接(或θ连接)+右侧表中失配的元组;
- 全外连接=自然连接(或θ连接)+两侧表中失配的元组;
以上是关于关系模型之关系代数的主要内容,如果未能解决你的问题,请参考以下文章