第二章关系数据库系统理论基础.ppt
文本预览下载声明
; 关系模型是建立在数学概念上的,与层次模型、网状模型相比,关系模型是一种最重要的数据模型。它主要由关系数据结构、关系操作集合、关系完整性约束三部分组成。实际上,关系模型可以理解为用二维表格结构来表示实体及实体之间联系的模型,表格的列表示关系的属性,表格的行表示关系中的元组。
关系数据模型的常用操作有选择(select)、投影(project)、连接(join)、除(divide)、并(union)、交(intersection)、差(difference)等查询(query)操作,另外还有增加(insert)、删除(delete)、修改(update)操作。关系操作的特点是集合操作方式,即操作的对象和结果都是集合。; 关系数据语言是一种高度的非过程化的语言,用户不必知道具体的操作路径,存取路径的选择由DBMS的优化机制完成。主要包括关系代数语言、关系演算语言和SQL语言(关系数据库的标准语言)。
关系模型允许定义三类完整性约束:实体完整性、参照完整性和用户定义的完整性。实体完整性和参照完整性是关系模型必须满足的完整性约束条件。用户定义的完整性是应用领域需要遵循的约束条件。;2.2关系数据结构及形式化定义;D1′D2′…′Di′…′Dn = {(d1,d2,…,di,…,dn)∣di∈Di,i = 1,2,…,n}
D1′D2 = {(王丽丽,英语系),(王丽丽,中文系),(张亭,英语系),(张亭,中文系),(李中,英语系),(李中,中文系)}
其中每个(d1,d2,…,di,…,dn)叫做元组,元组中的每一个值di叫做分量,di必须是Di中的一个值。
显然,笛卡尔积的基数就是构成该积所有域的基数累乘积,若Di(i = 1,2,…,n)为有限集合,其基数为mi(i = 1,2,…,n),则D1′D2′…′Di′…′Dn笛卡尔积的基数M为:
该笛卡尔积的基数是M = m1′m2 = 3′2 = 6,即该笛卡尔积共有6个元组,它可组成一张二维表,如表2-1所示。;表2-1 D1,D2的笛卡尔积
(3)关系(Relation)
定义2.3 笛卡尔积D1′D2′…′Di′…′Dn的子集R称作在域D1,D2,…,Dn上的关系,记作:R(D1,D2,…,Di,…,Dn)
其中:R为关系名,n为关系的度或目(Degree),Di是域组中的第i个域名。
当n=1 时,称该关系为单元关系;
;
当n=2 时,称该关系为二元关系;
以此类推,关系中有n个域,称该关系为n元关系。
下面是关系中涉及到的一些相关概念:
(1)属性(Attribute):列的名字。
(2)候选码:若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码(Candidate Key)。
(3)主码:若一个关系有多个候选码,则选定其中的一个为主码(Primary Key)。
(4)主属性:主码的诸属性为主属性(Prime Attribute)。
(5)非码属性:不包含在任何候选码中的属性称为非码属性。
(6)全码:关系模式的所有属性组是这个关系模式的候选码,称为全码(All-key)。
; 一般来说,一个关系取自笛卡尔积的子集才有意义。例如表2-2所示:
表2-2 D1,D2的笛卡尔积中构造的关系
(4)关系的三种类型
① 基本关系(基本表或基表):实际存在的表,它是实际存储数据的逻辑表示。
②查询表:查询结果对应的表。
③视图表:有基本表或其他视图导出的表,是虚表,不对应实际存储的数据。 ;2.2.2 关系的性质
关系是一种规范化了的二维表中行的集合。为了使相应的数据操作简化,在关系模型中对关系进行了限制,因此关系具有以下六条性质:
(1)列是同质的,即每一列中的分量是同一类型的数据,来自同一个域。
(2)关系中的任意两个元组不能相同。
(3)关系中不同的列来自相同的域,每一列中有不同的属性名。
(4)关系中列的顺序可以任意互换,不会改变关系的意义。
(5)行的次序和列的次序一样,也可以任意交换。
(6)关系中每一个分量都必须是不可分的数据项,元组分量具有原子性。;2.2.3关系模式
定义2.4 对关系结构的描述称为关系模式。关系模式可以形式化地表示为:R(U, D, dom, F),其中:
R:关系名。
U:组成该关系的属性名集合。
D:属性的域。
dom:属性向域的映象集合。属性向域的映象常常直接说明为属性的类型、长度。
dom(教师)=dom
显示全部