对关系数据库进行查询时,需要找到用户感兴趣的数据,这就需要对关系进行一定运算。关系的基本运算有两类:一类是传统的集合运算,另一类是专门的关系运算。
1.传统的集合运算
进行传统集合运算的两个关系必须具有相同的关系模式,即元组具有相同的结构
(1)并运算
两个相同结构关系的并是由属于这两个关系的元组组成的集合。
例如.有两个结构相同的课程关系R1和R2分别存放两个班的学生信息,将两个班学生信息合并需要使用关系的并运算。
(2)差运算
设有两个相同结构的关系R和s,R与s的差是由属于R但不属于s的元组组成的集合。
(3)交运算
两个具有相同结构的关系R和s,它们的交是由属于R又属于s的元组组成的集合。
2.专门的关系运算
对于关系数据库,已经有了结构化查询语言(Structured Query Language,SQL),它对表具有很强的操纵能力。在多数关系数据库管理系统中除了支持sQL语言外,自身也提供了许多操作表的功能,不同关系数据库管理系统提供的功能可能有些差异,但它们检索数据的操作都是以投影、选择和联接3种关系基本操作为核心。
(1)投影操作
投影是从表中选取若干列进行操作。选取列时不受表中列顺序的约束,可按实际需要安排各列顺序。通常在命令中加上要选取的各个列名称来完成投影操作。
(2)选择操作
选择操作是从表中选取满足某种条件的元组(记录)进行操作。通常在命令中加上条件子句和逻辑表达式来完成选择操作。
(3)联接操作
联接操作是对两张表进行联接,同时生成一张新表,新表中所含的列是被联接的两张表中列的并集或是该并集的子集,新表中包含的元组(记录)是满足联接条件的所有元组(记录)集合。
联接运算有等值联接和自然联接两种。联接条件中的运算符为比较运算符,当此运算符取“=”时为等值联接。而自然联接是去掉重复属性的等值联接。
