关系代数
被考次数: 67次
被考频率: 高频率
答错率:    40%
知识难度:
考试要求: 掌握     
知识路径:  > 计算机系统基础知识  > 计算机软件知识  > 数据库知识


本知识点历年真题试卷分布
>> 试题列表    
 

 
       关系数据库的基本概念
          属性和域
          在现实世界中,要描述一个事物,常常取其若干特征来表示。这些特征称为属性。每个属性的取值范围的集合,称为该属性的域。
          一般在关系数据库模型中,对域还加了一个限制,所有的域都应是原子数据的集合。关系数据模型的这种限制称为第一范式(1NF)条件。如果关系数据模型突破了1NF的限制,则称为非1NF的。
          笛卡儿积与关系
          【定义9-1】设D1D2,…,Dn为任意集合,定义D1D2,…,Dn的笛卡儿积为
          D1×D2×…×Dn={(d1,d2,…,dn)|diDi,i=1,2,…,n}
          其中,每一个元素(d1d2,…,dn)叫做一个n元组,元组的每一个值di叫做元组的一个分量,若Di(i=l,2,…,n)为有限集,其基数为mi(i=1,2,…,n),则D1×D2×…×Dn的基数M
          
          笛卡儿积可以用二维表来表示。
          【定义9-2】D1×D2×…×Dn的子集叫做在域D1D2,…,Dn上的关系,记为
          R(D1,D2,…,Dn)
          称关系Rn元关系。
          由定义7-2可以得出,一个关系也可以用二维表来表示。关系中属性的个数称为元数,元组的个数称为基数。
          关系的相关名词
          下面介绍关系的相关名词。
          (1)目或度。常用R表示关系的名字,n表示关系的目或度。
          (2)候选码。若关系中的某一属性或属性组的值能唯一标识一个元组,则称该属性或属性组为候选码。
          (3)主码。若一个关系有多个候选码,则选定其中一个为主码。
          (4)主属性。包含在任何候选码中的诸属性称为主属性。不包含在任何候选码中的属性称为非码属性。
          (5)外码。如果关系模式R中的属性或属性组非该关系的码,但它是其他关系的码,那么该属性集对关系模式R而言是外码。
          (6)全码。关系模式的所有属性组是这个关系模式的候选码,称为全码。
          关系的3种类型
          下面介绍关系的3种类型。
          (1)基本关系(通常又称为基本表、基表)。这是实际存在的表,它是实际存储数据的逻辑表示。
          (2)查询表。查询结果对应的表。
          (3)视图表。这是由基本表或其他视图表导出的表。由于它本身不独立存储在数据库中,数据库中只存放它的定义,所以常称为虚表。
          关系数据库模式
          在数据库中要区分型和值。关系数据库中的型也称为关系数据库模式,是关系数据库结构的描述,它包括若干域的定义以及在这些域上定义的若干关系模式。关系数据库的值是这些关系模式在某一时刻对应的关系的集合,通常称之为关系数据库。
          【定义9-3】关系的描述称为关系模式。可以形式化地表示为
          R(U,D,dom,F)
          式中:R为关系名;U为组成该关系的属性名集合;D为属性的域;dom为属性向域的映像集合;F为属性间数据的依赖关系集合。
          通常将关系模式简记为
          R(U)或R(A1,A2,…,An)
          式中:R为关系名;A1A2,…,An为属性名或域名,属性向域的映像常常直接说明属性的类型、长度。通常在关系模式主属性上加下划线表示该属性为主码属性。
          完整性约束
          完整性规则提供了一种手段来保证当授权用户对数据库作修改时不会破坏数据的一致性,因此,完整性规则防止的是对数据的意外破坏。关系模型的完整性规则是对关系的某种约束条件。完整性共分为3类,即实体完整性、参照完整性(也称引用完整性)和用户自定义完整性。
          (1)实体完整性。规定基本关系R的主属性A不能取空值。
          (2)参照完整性。现实世界中的实体之间往往存在某种联系,在关系模型中实体与实体之间的联系是用关系来描述的,这样自然就存在着关系与关系间的引用。参照完整性规定,若F是基本关系R的外码,它与基本关系S的主码相对应(基本关系RS不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值),或者等于S中某个元组的主码值。
          (3)用户自定义完整性。就是针对某一具体的关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求,由应用的环境决定。
          关系运算
          关系操作的特点是操作对象和操作结果都是集合,而非关系数据模型的数据操作方式则为一次一个记录的方式。关系数据语言分为3类,即关系代数语言、关系演算语言和具有关系代数和关系演算双重特点的语言(如SQL)。关系演算语言包括元组关系演算语言和域关系演算语言。
          关系代数语言、元组关系演算和域关系演算是抽象查询语言,它与具体的DBMS中实现的实际语言并不一样,但是可以用它作为评估实际系统中的查询语言能力的标准。
          关系运算符有4类,即集合运算符、专门的关系运算符、比较算术符和逻辑运算符。关系运算符如下表所示。
          
          关系运算符
       5种基本的关系代数运算
       5种基本的关系代数运算包括并、差、笛卡儿积、投影、选择,其他运算可以通过基本的关系运算导出。
          并
          关系RS具有相同的关系模式,即RS的元数相同(结构相同)。关系R和关系S的并(Union)由属于R或属于S的元组构成的集合组成,记作
          RS={t|tRtS}
          式中,t为元组变量。
          差
          关系RS具有相同的关系模式。关系RS的差(Difference)由属于R但不属于S的元组构成的集合组成,记作
          R-S={t|tRt?S}
          广义笛卡儿积
          两个元数分别为n目和m目的关系RS的广义笛卡儿积(Extended Cartesian Product)是一个n+m列的元组的集合。元组的前n列是关系R的一个元组,后m列是关系S的一个元组。若Rk1个元组,Sk2个元组,则关系RS的广义笛卡儿积有k1×k2个元组。记作
          R×S={t|t=﹤tn,tm﹥∧tnRtmS}
          投影
          投影(Projection)运算是从关系的垂直方向进行运算,在关系R中选择出若干属性列A组成新的关系。记作
          πA(R)={t[A]|tR}
          选择
          选择(Selection)运算是从关系的水平方向进行运算,是从关系R中选择满足给定条件的诸元素,记作
          σF(R)={t|tRF(t)=true}
          式中,F中的运算对象是属性名(或列的序号)或常数,运算符是算术比较符和逻辑运算符。
       扩展的关系代数运算
       扩展的关系代数运算可以从基本的关系运算中导出,主要包括以下几种。
          交
          关系RS具有相同的关系模式。关系RS的交由属于R同时又属于S的元组构成的集合组成。关系RS的交记作
          RS={t|tRtS}
          显然,RS=R-(R-S)或者RS=S-(S-R)。
          连接
          连接(Join)分为连接、等值连接和自然连接3种。连接运算是从两个关系的笛卡儿积中选取满足条件的元组。
          (1)θ连接。从关系R和S的笛卡儿积中选取属性间满足一定条件的元组。记作
          
          (2)等值连接。当θ为"="时称为等值连接。可以表示为
          
          (3)自然连接。是一种比较特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果集中把重复属性列去掉。
          除
          除(Division)运算是同时从关系的水平方向和垂直方向进行运算。给定关系R(X,Y)和S(Y,Z),XYZ为属性组。R÷S应当满足元组在X上的分量值x的象集Yx包含关系S在属性组Y上投影的集合。其形式定义为
          R÷S={tn[X]|tnRπy(S)?Yx}
          式中,YxxR中的象集,x=tn[X],且R÷S的结果集的属性组为X
          广义投影
          广义投影(Generalized Projection)运算允许在投影列表中使用算术运算,实现了对投影运算的扩充。
          若有关系R,条件F1F2,…,Fn中的每一个都是涉及R中常量和属性的算术表达式,那么广义投影运算的形式定义为
          πF1,F2,…,Fn(R)
          外连接
          外连接(Outer Join)运算是连接运算的扩展,可以处理缺失的信息。外连接运算有3种,即左外连接、右外连接和全外连接。
          (1)左外连接。取出左侧关系中所有与右侧关系中任一元组都不匹配的元组,用空值NULL来填充所有来自右侧关系的属性,构成新的元组,将其加入自然连接的结果中。
          (2)右外连接。取出右侧关系中所有与左侧关系中任一元组都不匹配的元组,用空值NULL来填充所有来自左侧关系的属性,构成新的元组,将其加入自然连接的结果中。
          (3)全外连接。完成左外连接和右外连接的操作。即填充左侧关系中所有与右侧关系中任一元组都不匹配的元组,填充右侧关系中所有与左侧关系中任一元组都不匹配的元组,将产生的新元组加入自然连接的结果中。
 

更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2025 All Rights Reserved
软考在线版权所有