核心!DB关系代数理论分析和用SQL语句实现

关系代数6种常见的基本操作:

select: σ

∧ and 、∨ or、┐not 

核心!DB关系代数理论分析和用SQL语句实现

核心!DB关系代数理论分析和用SQL语句实现

举个例子:

用 核心!DB关系代数理论分析和用SQL语句实现选择下表记录:

核心!DB关系代数理论分析和用SQL语句实现

选择结果如下:

核心!DB关系代数理论分析和用SQL语句实现

SQL语句实现方法:

select A,B,C,D from r where A=B and D>5;

 

project(投影):  ∏ 

注:Duplicate rows removed from result, since relations are sets集合

核心!DB关系代数理论分析和用SQL语句实现

核心!DB关系代数理论分析和用SQL语句实现

举个例子:

核心!DB关系代数理论分析和用SQL语句实现投影下表:

核心!DB关系代数理论分析和用SQL语句实现

投影结果如下(要去除重复):

核心!DB关系代数理论分析和用SQL语句实现

用SQL语句实现此功能:

select A,C from r;

 

union :  ∪

two tables must have the same arity 参数数量

The attribute domains must be compatible能共处的 [kəm'pætəbl]

核心!DB关系代数理论分析和用SQL语句实现

 to find all courses taught in the Fall 2009 semester, or in the Spring 2010 semester, or in both

核心!DB关系代数理论分析和用SQL语句实现

举个例子:

核心!DB关系代数理论分析和用SQL语句实现实现下表合并:

核心!DB关系代数理论分析和用SQL语句实现

结果如下:

核心!DB关系代数理论分析和用SQL语句实现

用SQL语句实现此功能:

(select A,B from r)union (select A,B from s);

 

set difference : -

核心!DB关系代数理论分析和用SQL语句实现

核心!DB关系代数理论分析和用SQL语句实现

举个例子:

核心!DB关系代数理论分析和用SQL语句实现操作下表:

核心!DB关系代数理论分析和用SQL语句实现

结果如下:

核心!DB关系代数理论分析和用SQL语句实现

(select A,B from r) except (select A,B from s);

 

Cartesian product:  x

Assume that attributes of two tables are disjoint不相交的

If attributes of r and s are not disjoint, then renaming must be used.

核心!DB关系代数理论分析和用SQL语句实现操作下表:

核心!DB关系代数理论分析和用SQL语句实现

结果如下:

核心!DB关系代数理论分析和用SQL语句实现

用SQL语句实现如下:

select * from r,s;

 

rename : p

核心!DB关系代数理论分析和用SQL语句实现

核心!DB关系代数理论分析和用SQL语句实现

 

 Additional operators:

Set intersection

Natural join

Assignment

Outer Join

 

Extended relational algebra operatiors:

Generalized Projection

Aggregate Functions