系分资料:关系模型的数据结构和基本术语

系统分析师 责任编辑:aiyostar 2013-12-16

添加老师微信

备考咨询

加我微信

摘要:在关系数据模型(RelationModel)中,数据结构用单一的二维表结构来表示实体及实体间的联系

9.1.1.2关系模型的数据结构和基本术语

在关系数据模型(RelationModel)中,数据结构用单一的二维表结构来表示实体及实体间的联系,如图9.2所示。

(1)关系(relation):一个关系对应一个二维表,二维表的名称就是关系的名称。

例如,图9.2包含两个表,也即两个关系:学生登记表关系和系信息表关系。 

(2)属性(attribute)和值域(domain):在二维表中的列(字段)称为属性。属性的个数称为关系的元数。

列的值称为属性值;属性值的取值范围称为值域。

例如,图9.2中学生登记表关系的属性有学号、姓名、性别、年龄、系号、原单位共6个属性,所以元数是6.年龄属性的值域是大于等于15岁,小于等于40岁。系信息表关系的属性有系号、系名、办公室、主任、电话共5个属性,所以元数是5.

(3)关系模式(relationschema):在二维表中的行定义(记录的型),即对关系的描述称为关系模式。一般表示为:关系名(属性1,属性2,…,属性n)

例如,图9.2中有两个关系模式,分别表示为:

学生登记表(学号,姓名,性别,年龄,系号,原单位)系信息表(系号,系名,办公室,主任,电话)

(4)元组(tuple):在二维表中的一行(记录的值),称为一个元组。关系模式和元组的集合通称为关系。例如,在学生登记表关系中的元组有(010101,张力,女,22,01;数学所),(010302,林宏业,男,23,02,物理所),(011008,王朝,男,24,04,化学所)等。

(5)分量(component):元组中的一个属性值。

例如,在学生登记表关系中元组(010101,张力,女,22,01,数学所)的每一个属性值010101,张力,女,22,01,数学所,都是它的分量。

(6)候选码(candidatekey)或候选键:如果在一个关系中,存在多个属性(或属性组合)都能用来惟一标识该关系的元组,这些属性(或属性组合)都称为该关系的候选码或候选键。

例如,在学生登记表关系中,如果姓名不允许重名时,学号和姓名都是候选码。

(7)主码(primarykey)或主键:在一个关系的若干个候选码中指定一个用来惟一标识该关系的元组,这个被指定的候选码称为该关系的主码或主键。

例如,在学生登记表关系中,学号一般都是惟一的,如果姓名不允许重名时,存在两个候选码:学号和姓名,若选中学号作为惟一标识,那么,学号就是学生登记表关系的主码或主键。

(8)主属性(primaryattribute)和非主属性(nonprimaryattribute):关系中包含在任何一个候选码

中的属性称为主属性或码属性,不包含在任何一个候选码中的属性称为非主属性或非码属性。

例如,在学生登记表关系中,如果姓名不允许重名时,学号和姓名是主属性,其他属性是非主属性。

(9)外码(foreignkey)或外键:当关系中的某个属性(或属性组)虽然不是该关系的主码或只是主码的一部分,但却是另一个关系的主码时,称该属性(或属性组)为这个关系的外码。例如,如果图9.2中的系信息表关系的主码是系号,那么,在学生登记表关系中的系号就是外码,因为它是另一个关系系信息表的主码。

(10)参照关系(referencingrelation)与被参照关系(referencedrelation):参照关系也称从关系,被参照关系也称主关系,它们是指以外码相关联的两个关系。以外码作为主码的关系称为被参照关系;外码所在的关系称为参照关系。由此可见,被参照关系与参照关系是通过外码相联系的,这种联系通常是1:n的联系。例如,图9.2中的系信息表关系是被参照关系,而学生登记表关系是参照关系。它们通过外码"系号"相联系。

(11)关系的形式定义:从数学的观点定义关系称为关系的形式定义。有两种定义方法。

·用集合论的观点定义关系:关系是一个元数为K的元组集合,即这个关系有若干个元组,每个元组有K个属性值(把关系看成一个集合,集合中的元素是元组)。

·用值域的概念来定义关系:关系是属性值域笛卡儿积的一个子集。设一个关系的属性是A1,…,An,

其对应的值域为D1,…,Dn(也可以有相同的),定义D1,…,Dn的笛卡儿积D=D1×…×Dn={(d1,…,dn)|di

∈Di,1≤i≤n}.D中的每一个子集D′称为关系。这里D的元素(d1,…,dn)就是一个n元元组(n-tuple),元素中的每一个值di称为元组的一个分量。

若Di(i=1,2,…,n)为有限集,其基数(cardinalnumber)为。mi(i=1,2,…,n),则D1×D2×…n×Dn的基数M为:



笛卡儿积可表示为一个二维表。表中的每行对应一个元组,表中的每列对应一个域。例如,我们给出3个域:

D1=教师集合={李鸣,王立刚}

D2=课程集合={数据库技术,信息系统}

D3=学生集合={陈列,刘红,张明娩}

则D1、D2、D3的笛卡儿积为:

D1×D2×D3={(李鸣,数据库技术,陈列),(王立刚,数据库技术,陈列),

(李鸣,数据库技术,张明娩),(王立刚,数据库技术,张明娩),

(李鸣,数据库技术,刘红),(王立刚,数据库技术,刘红),

(李鸣,信息系统,刘红),(王立刚,信息系统,刘红),

(李鸣,信息系统,陈列),(王立刚,信息系统,陈列),

(李鸣,信息系统,张明娩),(王立刚,信息系统,张明娩)}

其中(李鸣,数据库技术,陈列),(王立刚,信息系统,张明娩)等等都是元组。李鸣、数据库技术、张明娩、陈列等等都是分量。

该笛卡儿积的基数为2×2×3=12,这也就是说,D1×D2×D3一共有2×2×3=12个元组。这12个元组可列成一张如表9.1所示的二维表。

 

应当注意::

·元组不是di的集合,元组的分量是按序排列的,而集合中的元素是不排序的。例如,在关系中有(a,b,c)≠(b,a,c)≠(c,b,a),但在集合中{a,b,c}={b,a,c}={c,b,a}.

·无限关系和有限关系:若一个关系的元组个数是无限的,则称这个关系为无限关系;否则称为有限关系。关系数据库系统考虑的是有限关系。

·关系数据库也存在型和值之分,关系数据库的型也称为关系数据库模式,是对关系数据库的描述,它包括若干域的定义以及在这些域上定义的若干关系模式。关系数据库的值是这些关系模式在某一时刻对应的关系的集合,通常就为关系数据库。

(12)数据库对关系的限定:关系模型的数据结构表示为二维表,但不是任意的一个二维表都能表示一个关系。关系数据库对关系的限定有:

·每一个属性是不可分解的。这是关系数据库对关系的最基本的一条限定,要求关系的每一个分量必须是一个不可分的数据项,也就是说,不允许表中还有表,例如图9.3中的两个关系就不符合要求。因为,在学生基本情况表关系中,属性成绩被分为英语、数学、数据库等多项,这相当于大表中还有一张小表(关于成绩的表)。在职工工资表关系中,属性工资和扣除都是可以再分解的。

 

·每一个关系模式中属性的数据类型以及属性的个数是固定的,并且每个属性必须命名,在同一个关系模式中,属性名必须是不同的。

·每一个关系仅仅有一种记录类型,即一种关系模式。·在关系中元组的顺序(即行序)是无关紧要的。

·在关系中属性的顺序可任意交换,交换时应连同属性名一起交换才行。·同一个关系中不允许出现完全相同的元组。

章节目录:系统分析师考试教材第9章数据库与数据仓库 

返回全书目录:系统分析师章节辅导教程


软考不知道考啥科目?扫码测最适合你的报考科目

企业微信截图_1770345743610.png

通关资源:软考各科历年真题各科学习资料汇总  |  在线试题库【点击刷题】

免费课程:系统集成项目管理工程师免费课 |  2026年高项备考指导课及精讲试听  

热门活动: 报名享现金补贴hotgif.gif

更多资料
更多课程
更多真题
温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!

软考备考资料免费领取

去领取

!
咨询在线老师!