选择和投影运算都是属于一目运算,它们的操作对象只是一个关系。联接运算是二目运算,需要两个关系作为操作对象。
1、联接 联接是将两个
关系模式通过公共的属性名拼接成一个更宽的关系模式,生成的新关系中包含满足联接条件的元组。运算过程是通过联接条件来控制的,联接条件中将出现两个关系中的公共属性名,或者具有相同语义、可比的属性。联接是对关系的结合。在FOXPRO中有单独一条命令JOIN实现两个关系的联接运算。如:
SELE 1
USE 定单
SELE 2
USE 商品
JOIN WITH A TO XGX FOR A->货号=货
关系运算
号 AND 库存量>=A->定购量
设关系R和S分别有m和n个元组,则R与S的联接过程要访问m×n个元组。由此可见,涉及到联接的查询应当考虑优化,以便提高查询效率。
2、自然联接 自然联接是去掉重复属性的等值联接。它属于联接运算的一个特例,是最常用的联接运算,在关系运算中起着重要作用。
如果需要两个以上的关系进行联接,应当两两进行。利用关系的这三种专门运算可以方便地构造新的关系。
如果一个关系中的属性或属性组并非该关系的关键字,但它们是另外一个关系的关键字,则称为该关系的
外关键字。
综上所述,关系数据库系统有如下特点:
(1)数据库中的全部数据及其相互联系都被组织成关系,即
二维表的形式。
(2)关系数据库系统提供一种完备的高级关系运算,支持对数据库的各种操作。
(3)
关系模型有严格的数学理论,使数据库的研究建立在比较坚实的数学基础上。