所谓附加关系代数操作符,就是可有可无,但是可以使用附加操作符可以简化关系代数的表达式。
1.
交操作,与离散数学中的交集是一个概念了,这里就不做详细介绍了。直接看例子了。
例子:
r、s是两个表格
操作:
结果:
两个表格的公共部分
2.
自然连接
等于两个表格的并集,有交集域结果的列数会减少,结果是两个表格的相交属性的连接,进行行和列的加工;
例子:
r表:
分析:R表中的域有ABCD,S表中的域有BDE,两个表有交集(BD),所以结果应该的域应为ABCDE。从r表中找到BD分别是1,a记录,公有两个记录(第一、四行);在找r表中BD分别为3,a的记录,r中没有对应记录;以此类推,找出所有满足结果的记录。
结果:
可能比较难以理解,下面举一个通俗易懂的例子:
假设S表(id,账号,余额),R表(id,账户,姓名),求RS的自然连接就是求R表中的所有的用户的信息(该信息由id,账号,姓名,余额组成),怎么样?这样是不是比较容易理解!
3.
除法
直接进入例子吧
第一步,求属性的交集
第二步,R的列-有交集的列成为结果的列
第三,分组之后,包含S 的就是结果
r表中当DE满足条件(DE有一行是a,1,另外一行是b,1,并且此时ABC对应的两行完全相同的时候)有两个类(途中红色边框圈起来的两个长方形)如图:
所以结果的表的域有(ABC),如图:
一个班中选择课程号为2和4的同学学号,选课表(学号、课程号),将 学号2、4做为一个表格,然后从选课表中找出选了课程号2、4的同学,然后再将满足条件的学号重新 写入一个新表只有学号域
将结果赋值给一个新的表
1、数据模型
数据模型是对现实世界数据特征的抽象。实体-联系模型(E-R)主要涉及三方面的内容:1、实体。实体是具体的,如职工、学生、课程等都是实体。在E-R图中使用矩形表示
2、属性。例如学生的学号、姓名、性别等。在E-R图中与实体连接,使用圆角矩形表示。
3、联系。联系是数据之间的关联关系,在E-R图中用菱形框表示。并用连线将其关联的实体连接起来。两个实体之间的联系有如下3类:
关系代数
是关系
数据库
系统查询语言的理论基础。很有必要学习一下,有些是用代数表达式很方便的东西,用SQL写出来还是挺麻烦的,并不是想象当中那么直接。
一、
关系代数
的9种操作:
关系代数
中包括了:并、交、差、乘、选择、投影、联接、除、自然联接等操作。
五个基本操作:
并(∪)、差(-)、笛卡尔积(×)、投影(σ)[Where]、选择(π)[Select]
四个组合操作:
交(∩)、
联接(等值联接):等值连接表示(1)先做笛卡尔积(×)之后,(2)对相应列进行选择或等值关联后的结果(仅筛选行、不筛选列)
数据库
原理
(八)-
关系代数
前言传统的集合运算并(union)差(except)交(intersection)笛卡尔积(cartesian product)专门的集合运算选择(selection)投影(projection)连接(join)除运算(division)
传统的集合运算
并(union)
差(except)
交(intersection)
笛卡尔积(cartesian product)
专门的集合运算
选择(selection)
投影(projection)
连接(join)
除运算(di
关系代数
表达式的五个基本算子
1.选择(selection):即选择某些行。代码:select ··· from ··· where。表达式:σ<条件>(<表>)。
2.投影(projection):即选择某些列。代码:select ··· distinct from ··· (distinct有去重的功能)。表达式:Π<属性>(<表>)。
3.叉乘(cross product):笛卡尔
集合运算是典型的二目运算(除笛卡尔积外),交,并,差操作都需满足相容性
① 具有相同的度(即两个关系的属性名、属性数量必须一致);
② 关系R中第i个属性和关系S中第i个属性必须来自同一域。
并(Union)运算:
R∪S = { t | t∈...
Department(dNo,dName,officeRoom,homePage)
Student(sNo,sName,sex,age,dNo)
Course(cNo,cName,cPNo,credit,dNo)
SC(sNo,cNo,score,recorddate)
一、基本查询
1、查询所有年龄小于18岁的男生姓名
πsname(σage&lt;18⋀s...