目录
一、关系模型研究什么
二、关系模型的三要素
三、关系模型与关系数据库语言的关系
一、关系模型研究什么
一个关系(relation)就是一个表(Table),关系模型就是处理Table的,它由三个部分组成:
- 描述DB各种数据的基本结构(Table/Relation)
- 描述Table与Table之间所可能发生的各种操作(关系运算)
- 描述这些操作应遵循的约束条件(完整性约束)
- 总而言之,就是要学习: Table如何描述,有哪些操作、结果是什么、有哪些约束等?
二、关系模型的三要素
基本结构:Relation/Table
基本操作:Relation Operator
基本的:U(并, UNION)、 -(差, DIFFERENCE) 、×(广义积,基本的:PRODUCT)、(选择, SELECTION)、Π(投影,PROJECTION)、
扩展的:.(交,INTERSECTION)、(连接, JOIN)、
÷(除,DIVISION)运算
完整性约束:实体完整性、参照完整性、用户自定义的完整性
三、关系模型与关系数据库语言的关系
关系运算:关系代数和关系演算
关系演算:元组演算和域演算
(一)关系代数示例
1、基于集合的运算
操作的对象及结果都是集合,是一次一集合(Set-at-a-time)的操作。而非关系型的数据操作通常是一次一记录(Record-at-a-time)的操作
2、基于关系代数设计的数据库语言(ISBL)
用计算机可识别的符号表征关系代数的运算符号
((R*S):课程号=c2)%姓名,课程名
R:F表示选择运算,R%表示投影运算
(二)元组演算示例
1、基于逻辑的运算
2、基于元组演算设计的数据库语言(Ingres系统的QUEL)
用计算机可识别的符号表征元组演算的运算符号
range of t is R
range of u is W
retrieve t
where t.sage < u.sage
(三)域演算示例
1、基于示例的运算
{ t1,t2,t3 | S(t1,t2,t3) ^ R(t1,t2,t3 ) ^ t1<20 ^ t2>50 }