机械类 网站源码市场营销
关系数据库系统是支持关系模型的数据库系统。
关系模型是一种逻辑模型,在【数据库原理】学习笔记01——概述中有描述。
一、关系模型的数据结构
关系模型是建立在集合代数的基础上的,可以从集合论的角度给出关系数据结构的形式化定义。
1.域
域是一组具有相同数据类型的值的集合。在关系中用域来表示属性的取值范围,域中包含的值的个数称为域的基数(用m表示)。
2.笛卡尔积
笛卡尔积可表示为一张二维表。表中的每行对应一个元组,表中每一列的值来自于一个域。笛卡尔积的基数M=m1m2m3*…mn。(mi为域的基数)。
3.关系
关系是笛卡尔积的有限子集。D1×D2×…×Dn的有意义的子集称为在域D1,D2,…,Dn上的关系,记为 R(D1,D2,…,Dn) 。
其中:R为关系的名,n为关系的目(度),关系的子集元素是关系中的元组,关系中元组的个数是关系的基数。
将关系看作一个二维表:每行对应一个元组,表中的每一列对应一个域,每一个域的名字称为属性。
4.关系中的术语
候选码:值能唯一标识一个元组的属性组,且不含多余属性。
主属性:构成候选码的属性。
主码:有多个候选码时,选定其中一个为主码。
外码:关系R中的某一属性不是R的码。但是是其它某一关系的码,称为外部码。
5.关系的性质
1)每一列的数值来自同一个域
2)不同的列可对应同一个域,但有不同的属性名
3)任意两个元组的候选码不能取相同的值
4)行的顺序可以任意交换
5)列的顺序可以任意交换
6)每一个分量都不可分割
6.关系模式
关系是关系模式在某一时刻的状态或内容。关系模式是关系的框架,是对关系的描述。
关系模式记为R(U,D,DOM,F) 其中,R为关系名,U为属性集,D为U对应域的集合,DOM为属性向域的映像集合,F为属性间数据依赖关系的集合。
通常可以简记为R(U)或R(A1,A2,A3…)R为关系名,A1、A2、…为属性名。
子模式是基于其它基本表或视图建立的视图。
7.关系数据库
关系数据库模式是对关系数据库的描述,包括若干域的定义,以及在这些域上定义的若干关系模式。关系数据库的值是关系模式在某一时刻对应的关系的集合,通常称为关系数据库。
二、关系模型的完整性
1.实体完整性
若一个属性是关系上的主属性,则该属性不能取空值。
2.参照完整性
参照关系:某一属性S1是关系R1的外码,S2是关系R2的主码,S1与S2相对应,则R1是参照关系,R2是被参照关系或目标关系。
参照完整性:对于R1上S1的取值,要么取空值,要么等于R2中S2的值。
3.用户定义完整性
根据某具体数据库的应用环境,针对数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求。
三、关系代数
运算符 | 含义 |
---|---|
∪ | 并 |
- | 差 |
∩ | 交 |
× | 笛卡尔积 |
σ | 选择 |
π | 投影 |
⋈ | 连接 |
÷ | 除 |
传统的集合运算:交并差笛卡尔积
关系R和关系S具有相同的目n(都有n个属性),且相同的属性取自相同的域。
广义笛卡尔积:这里笛卡尔积的元素是元组。若R1有k1个元组,R2有k2个元组,那么笛卡尔积有k1*k2个元组。
专门的关系运算:选择投影连接除
1)选择
从关系R中选择使逻辑表达式为真F的元组,是从行角度的运算。
F的基本形式为:XθY,θ表示比较运算符,X和Y是属性名。
选择运算表达式的形式为:σ F (S)
比较运算符有:
运算符 | 含义 |
---|---|
> | 大于 |
< | 小于 |
≥ | 大于等于 |
≤ | 小于等于 |
= | 等于 |
<> | 不等于 |
┐ | 非 |
∧ | 与 |
∨ | 或 |
2)投影
从R中选择若干属性列组成新的关系。投影之后可能减少某些元组,这是因为可能出现重复行,应取消相同的行。
表达式为:πF (S)
3)连接
连接是从笛卡尔积R×S的元组中选择满足条件的元组。有等值连接、自然连接、半连接、左外连接、右外连接、全外连接。
等值连接:从广义笛卡尔积中选取等式属性值相等的元组。
自然连接:是一种特殊的等值连接,要求两个关系中进行比较的分量是相同的属性组,并且在结果中把重复的属性去掉。
半连接:R、S自然连接后仅保留对R的属性的投影。
左外连接:R、S连接时对不匹配的元组,S用空值来匹配。(补左)
右外连接:R、S连接时对不匹配的元组,R用空值来匹配。(补右)
全外连接:只要有不匹配的元组,就用空来匹配,使S、R的信息全部保留。
4)除
对给定关系R(X,Y)和S(Y,Z),两个Y出自统一域集,除运算得到的结果为:元组在X上分量值x的象集Yx包含S在Y上投影的集合。即,同行元素对应y在S上具有相同值时的x的集合。