二、关系数据库
一、关系数据库概述
——定义:支持关系模型的数据库系统
——三要素:关系数据结构(二维表)
关系操作(选择、投影、链接、除、并、交、差等查、增、删、改)
完整性约束(实体、参照、自定义)
——关系数据语言:关系代数语言(ISBL)
关系演算语言(元组关系(ALPHA,QUEL)域关系(QBE))
具有关系代数和关系演算双重特点的语言(SQL)
二、关系数据结构
(一)、关系
——域:一组具有相同数据类型的值的集合,值的个数成为域的基数
——笛卡尔乘积(d1, d2, d3,..,dn)
——关系:笛卡尔乘积的任意子集称作集合上的关系
(二)、关系模式
——关系的描述称为关系模式,一般表示为R(U,D,DOM,F),其中,R是关系名,U是组成该关系的属性集合,D为属性组U中属性所来自的域,DOM是属性向域的映像集合,F是属性间数据的依赖关系集合。
(三)、关系数据库
——关系数据库的值(关系模式在某一时刻对应的关系集合)与关系数据库模式(关系数据库的型,对关系数据库的描述,包括域的定义等)通称为关系数据库。
三、关系的完整性
——实体完整性、参照完整性、自定义完整性
四、关系代数
-
关系代数由一组关系运算组成,是对于关系的操作集。
-
关系代数运算符
-
集合运算符:交、并、差、笛卡尔积
-
专门运算符:σ选择、Π投影、▷◁链接、除
-
比较运算符:>、≥、<、≤ 、=、≠
-
逻辑运算符:非、与、或
-
-
常用的关系运算
-
交、并、差、笛卡尔积、投影、选择、链接、除
-
-
基本关系运算
-
并、差、笛卡尔积、投影、选择
-
-
同类选择:具有相同的度,且两个关系每个属性属同一个域
(一)、传统集合运算(easy)
(二)、专门的关系运算
引入以下记号:
-
关系模式R(A1, A2, A3,...,An),它的一个关系为R1, t∈R1表示t是R1的元组,t[Ai]则表示元组t中相应于Ai的一个分量
-
A1, A2, A3,...,An的一部分成为属性列(组)或域列t[A] = ∑ t[Ai]
-
R为n元关系,S为m元关系。m+n列元组,前几个分量为R中的一个n元组,后m个分量为S中的一个m元组
1.投影
—关系R上的投影是从R中选择出若干属性、 并且去掉重复元组组成一个新关系。
2.选择
——又称限制,在给定的关系R中,抽出满足条件的元组,组成一个新关系,新关系与原关系同类,是原关系的一个子集
3.链接
——从两个关系的笛卡尔乘积中选取属性满足一定条件的元组,组成新的关系。
-
等值链接:θ为"="是称为等值连接
-
自然连接:两个关系中具有相同的属性,并且在相同的属性上做等值链接。自然链接需要取消重复列,而等值链接不需要
4.除法
——给定关系R(X,Y)和S(Y,Z),R中的Y和S中的Y必须有相同的域,记R÷S。令P(x)=R÷S,则P是R中满足以下条件的元组在X属性列上的投影:元组在X上的分量值x的像集Yx包含S在Y上投影的集合。
5.其他
-
外链接:自然连接时,该舍弃的元组未舍弃,如果R中该舍弃保留称左链接,如果S中该舍弃保留称右链接,新增属性值添NULL
-
外部并:R和S不同类,属性由R和S属性组成,新关系的元组由R或S元组构成、新增的属性添NULL
-
半链接:R和S的自然链接在关系R的属性集上的投影
(三)、关系代数式的等价原则
1.链接、笛卡尔积交换律
2.链接、笛卡尔积结合律
3.投影的串接定律
4.选择的串接定律
5.选择和投影的交换律
6.选择对笛卡尔积的分配律
7.选择对并的分配率
8.选择对差的分配律
9.投影对笛卡尔积的分配律
10.投影对并的分配律
11.选择对自然链接的分配律
12.选择与链接操作的结合律
—————————————基于语法树优化———————————