数据库基础 关系数据模型(二)
|
< |
小于 |
≤ |
小于等于 |
= |
等于 |
≠ |
不等于 |
比较操作符 |
¬ |
非 |
∧ |
与 |
∨ |
或 |
关系代数操作经过有限次复合的式子称为关系代数操作表达式(关系代数表达式),可使用表达式表示所需要执行的各种数据查询和修改处理,所有关系代数是一种抽象的查询语言,通过对关系的操作来表达查询。
按运算符分类,关系代数操作可分为:传统的集合运算和专门的关系运算
集合运算
传统集合运算是二目运算,将关系看成元组集合,运算从行的角度来进行,具有 并、差、交、迪卡尔积四种运算。 example:
表 T1
0001 |
张三 |
男 |
N101 |
0002 |
王二 |
男 |
N101 |
0003 |
李梅 |
女 |
C101 |
表 T2
0004 |
刘八 |
男 |
D101 |
0005 |
赵二 |
男 |
B201 |
0003 |
李梅 |
女 |
C101 |
并(UNION)
表T1 和 表T2 使用并运算产生一个新表T3,(T3 = T1 ∪ T2)它是由T1和T2所有不同元组所组成,且 T1和T2属性个数、值域相同。下表为 T1 ∪ T2的结果 表 T3
0001 |
张三 |
男 |
N101 |
0002 |
王二 |
男 |
N101 |
0003 |
李梅 |
女 |
C101 |
0004 |
刘八 |
男 |
D101 |
0005 |
赵二 |
男 |
B201 |
差(DIFFERENCE)
表T1 和 表T2 使用差运算产生一个新表T4,(T4 = T1 - T2)它有T1的所有元组但不包含T2的元组,且 T1和T2属性个数、值域必须相同。下表为 T1 - T2的结果
表 T4
0001 |
张三 |
男 |
N101 |
0002 |
王二 |
男 |
N101 |
交(INTERSECTION)
表T1 和 表T2 使用交运算产生一个新表T5,(T5 = T1 ∩ T2)它同时包含T1和T2相同的所有元组,且 T1和T2属性个数、值域必须相同,交运算可由差运算表示(T1∩T2 = T1-(T1-T2))。下表为 T1 ∩ T2的结果
表 T5
笛卡尔积(CARTESIAN PRODUCT)
表T6 和 表T7 使用笛卡尔积运算产生一个新表T8,(T8 = T6 × T7)它是T6和T7的所有元组连接而成,即将两张表的元关系合并,且T6的每一元组都对应T7所有的元组 下表为 T6 × T7的结果
表 T6
表 T7
表 T8
0001 |
张三 |
1 |
数据库 |
C-101 |
0001 |
张三 |
2 |
操作系统 |
C-102 |
0002 |
王二 |
1 |
数据库 |
C-101 |
0002 |
王二 |
2 |
操作系统 |
C-102 |
专门的关系运算
此运算即涉及行,又涉及列,分为一元专门关系操作和二元专门关系操作
- 一元关系操作:对单个关系进行垂直分解的投影运算和进行水平分解选择运算
- 二元关系操作:对两个关系进行操作,包括连运算和除运算
选择(SELECT)
选择运算( $σ_F(R)$ ),F为条件表达式,R为指定的被运算关系名。 从指定关系中选取满足条件的若干元组组成一个新关系
SELECT 关系名 WHERE 条件语句(表达式)
条件语句:由常数、属性名或列名、比较操作符及逻辑操作符组成
example:
SELECT T8 WHERE 姓名 = "张三"
表 T9
0001 |
张三 |
1 |
数据库 |
C-101 |
0001 |
张三 |
2 |
操作系统 |
C-102 |
投影(PROJECTION)
投影运算( $π_A(R)$ ), R为被运算关系,A为属性序列,从指定关系中选取指定的若干属性值组成新关系
PROJECTION 关系名 ( 属性名1, 属性名2 ,... )
组成的新关系自动去重
example:
PROJECTION T8 (课程号,课程名)
表 T10
θ连接(JOIN)
连接运算($R\cfrac{?}{xθy}S$),其中,R和S 代表两个不同的关系;x 和 y 分别表示R中的第x列和S中的第y列属性;θ表示比较运算符,从笛卡尔积R×S中选取R的第x列属性值与S的第y列属性值满足θ的那些元组组成一个新关系。
JOIN 关系1 AND 关系2 WHERE 条件语句
条件语句:由比较操作符和属性名或列名组成的表达式
- 等值连接:θ值为 "=",从R和S的笛卡尔积中选取 x、y 属性值相等的元组
example:
表 T11
表 T12
JOIN T11 AND T12 WHERE A = A
T11 × T12
a |
b |
c |
g |
h |
a |
a |
b |
c |
b |
c |
d |
d |
e |
f |
g |
h |
a |
d |
e |
f |
b |
c |
d |
等值结果为:
表 T13
- 自然连接:是一种特殊的等值连接,要求两个关系中比较的分量必须是
表 T14
自然连接是构造新关系的有效方法,投影和选择是分解关系的有效方法,自然连接中如果两个关系没有公共属性则变成笛卡尔积
除(DIVISION)
待续。。。
Owen 的个人博客 博客园
|