2008年12月28日日曜日

软考学习笔记-数据库工程师第八章-关系数据库

软考学习笔记-数据库工程师第八章-关系数据库
第八章 关系数据库

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 件のコメント: