软考学习笔记-数据库工程师第八章-关系数据库
第八章 关系数据库
1、关系数据库的基本概念
属性与域
第一范式条件1NF:在关系数据模型中,所有的域都应是原子数据。
笛卡尔积:设D1,D2,...,Dn为任意集合,则定义D1,D2,...,Dn的笛卡尔积为:
D1*D2*...*Dn = {(d1,d2,...,dn)|di属于Di, i=1,2,...,n}
其中每一个元素(d1,d2,...,dn)叫做一个n元组,元组的每一个值di叫做一个分量。笛卡尔积可用二维表来表示。
例如:D1={0,1}, D2={a,b}, D3={c,d}, 求D1*D2*D3。
D1*D2*D3 = {(0,a,c), (0,a,d), (0,b,c), (0,b,d), (1,a,c), (1,a,d), (1,b,c), (1,b,d)}
D1 D2 D3
0 a c
0 a d
0 b c
0 b d
1 a c
1 a d
1 b c
1 b d
笛卡尔积与关系:D1*D2*..*Dn的子集叫做在域D1,D2,..,Dn上的关系,记为R(D1,D2,..,Dn),称关系R为n元关系。关系中属性的个数称为元数,元组的个数称为基数。
术语对应: 属性---字段
关系模式-记录类型
元组---记录
关系的一些名词:
目或度--常用R表示关系的名字,用n表示关系的目或度
候选码--能够做主码的属性或属性组都是候选码
主码---候选码中的一个
主属性--包含在个选码中的属性
外码---对于关系R来讲,外码就是指它的某个属性或属性组,不是该关系的码,而是其它关系的码
全码---一个关系的全属性称为这个关系的全码
3种基本的关系类型:基本关系(即基本表或基表),查询表,视图表。
2、关系模式:关系的描述称之为关系模式,表示为R(U,D,dom,F)。通常简记为R(U)或R(A1,A2,..,An),Ai为属性名或域名,一般在主码属性下加下划线以标识。
其中,R表示关系名,U表示属性名集合,D是属性的域,dom是属性向域的映像的集合,F是属性间数据的依赖关系的集合。
3、关系的完整性分为3类:
实体完整性, 关系的主属性不能为空值;
参照完整性, 设F是关系R的外码,与关系S的主码相对应,则F或均取空值,或等于S中某个元组的主码值。
用户定义完整性,反映某一具体应用涉及的数据必须满足的语义要求。
4、关系运算:关系运算的特点是操作对象和操作结果都是集合。关系数据语言分为3类,关系代数语言、关系演算语言、和具有前二者特点的语言(如SQL)。关系演算语言又分为元组关系演算语言和域关系演算语言。
关系代数运算符有4类:集合运算符(并、差、交、笛卡尔积),专门的关系运算符(选择、投影、连接、除),算术比较符(大于、小于等),逻辑运算符(与、或、非)。
并
差
广义笛卡尔积,两个元数分别是n目和m目的关系R和S的广义笛卡尔积是一个(n+m)列的元组的集合。元组的前n列是关系R的一个元组,后m列是关系S的一个元组,记作R*S。
投影,从关系R中选择出若干属性列A组成新的关系,记作PaiA(R)。
选择,是从关系的水平方向进行运算,是从关系R中选择满足给定条件的诸元组,记作 。
扩展的关系运算符:
交,关系R与S具有相同的关系模式,关系R与S的交是由属于R同时属于S的元组构成的集合,记作 。
连接,是从两个关系R和S的笛卡尔积中选取满足条件的元组,可以认为笛卡尔积是无条件的连接。连接又可以分为3种: 连接、等值连接、自然连接。
连接:
可以由基本的关系运算符笛卡尔积和选择导出:
等值连接:
自然连接:是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果集中将重复属性列去掉。自然连接不仅要从关系的水平方向,而且还要从关系的垂直方向运算。
除,同时从关系的水平方向和垂直方向进行运算。给定关系R(X,Y)和S(Y,Z),X,Y,Z都是属性组。R除S应当满足元组在X上的分量值x的象集Yx包含关系S在属性组Y上投影的集合。
广义投影,就是带有条件的投影运算,记为 。
外连接, 连接的扩展,为了处理缺失的信息。分为3种左外、右外、全连接。以左外连接为例,取出左侧关系中所有与右侧关系中任一元组都不匹配的元组,用空值填充所有来自右侧关系的属性,构成新的元组,将其加入自然连接的结果中。
聚集函数,要注意一些聚集函数的表达方式。分组的表达方法。
5、元组演算
元组演算是非过程化查询语言。它只描述所需信息,而不给出获得该信息的具体过程。元组表达式中的变量是以元组为单位的,其一般形式为{t|P(t)}。t是元组变量,P(t)是元组关系演算公式,公式是由原子公式组成的。
原子公式,即原子命题函数。有3种形式。一种是R(t)。
全称量词和存在量词。
A=>B,表示若A为真则B为真。
6、域演算,在域演算中表达式中的变量是表示域的变量,可将关系的属性名视为域变量。一般表示为{t1,...,tk|P(t1,...,tk)},其中t1,..,tk是域变量。
原子公式,有3种形式。一种是R(t1,..,ti,...,tk)。
7、函数依赖
依赖的闭包,属性的闭包
8、优化查询
9、规范化
10、模式分解
无损连接,保持函数依赖
0 件のコメント:
コメントを投稿