SQL关系模型的基本概念

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

关系模型的基本概念

关系模型创始人:IBM的E.F.Codd,1970年。

目前所有厂商推出的DBMS都支持RDB,非关系系统的产品也都加上了关系接口,数据库领域当前的研究工作也都是以关系方法为基础。

2.1.1关系模型的结构、操作和完整性约束的基本概念

(1)关系模型的数据结构

关系模型是建立在严格的数学概念的基础上的。关系模型中数据的逻辑模型是一张二维表,它由行和列组成。在关系模型中,实体以及实体间的联系都是用关系来表示。

必须满足一定的规范条件,其中最基本的一条就是,关系的每一个分量必须是一个不可分的数据项,也就是不允许表中还有表。

(2)关系模型的存储结构

在关系模型中,实体及实体间的联系都用“表”来表示。在数据库的物理组织中,“表”以“文件”形式存储。

(3)关系模型的操作

关系模型的操作主要包括查找、插入、删除和修改数据。关系模型中的数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合。

(4)关系模型的完整性约束

关系模型的操作必须满足关系的完整性约束条件。关系的完整性约束条件包括3大类:实体完整性、参照完整性和用户定义完整性。

2.1.2关系模型的基本术语

(1)关系与二维表

表2-1是一张学生登记表,这是一张二维表。

可用图2-1的表格表示。

二维表的术语关系模型的术语数据库的术语

列←---------→属性←-----------→字段

←-----→关系模式←-------→记录类型

1 ←-----→元组1 ←-------→记录1

2 文件元组2 关系(实例) 记录2 文件

3 ←-----→元组3 ←-------→记录3

列值←-------→属性值←----------→字段值

图2-1 二维表、关系模型及数据库的对应术语

在关系模型中,关系(Relation)就是一个二维表。

表中的列称为属性(Attribute)。属性具有型和值两层含义:属性的型指属性名和属性取值域;属性值指属性具体的取值。同一关系中的属性名(即列名)不能相同。属性用于表示实体的特征,一个关系中往往有多个属性。例如表2-1中有4个属性,分别为学号、姓名、性

别和年龄。

表中的行称为元组(Tuple),组成元组的元素称为分量(Component)。数据库中的一个实体或实体间的一个联系均使用一个元组表示。例如表2-1中有3个元组,它们分别描述3个学生的学号、姓名、性别和年龄。(S0201,李兰,女,17)是一个元组,它由4个分量构成。

元组的集合即为关系(relation),或称为实例(instance)。关系中属性个数称为元数(arity),元组个数称为基数(cardinality)。图2-1中,关系R的元数为4,基数为3。

实际上我们常常直接称呼关系为表,元组为行,属性为列。

关系中每1个属性都有一个取值范围,称为属性的值域。域(Domain)是一组具有相同数据类型的值的集合。例如,整数、{0,1}、{男,女}、{计算机专业,物理专业,外语专业}等,都可以作为域。属性A的值域用DOM(A)表示。每个属性对应一个值域,不同的属性可对应于同一值域。

(2)关系的定义

可以用集合的观点定义关系:关系是一个元数为K(K>1)的元组的集合,是其各属性的值域的笛卡尔积的一个子集。集合中的元素是元组,每个元组的元数相同。

(3)键(码)

键(码)由1个或几个属性构成,在实际使用中,有下列几种键:

①超键(Super Key):在关系中能惟一标识元组的属性集称为关系模式的超键。

②候选键(Candidate Key):不含有多余属性的超键称为候选键。也就是在候选键中,若要再删除属性,就不是键了。一般而言,如不加说明,则键是指候选键。

③主键(Primary Key):用户选作标识元组的一个候选键称为主键,也称为关键字。如果关系中只有一个候选键,这个惟一的候选键就是主键。

表2-1中,(学号,姓名)是关系模式的超键,但不是候选键,而(学号)是候选键。在实际使用中,如果选择(学号)作为插人、删除或查找的操作变量,那么就称(学号)是主键。

④全码(All-Key):若关系的候选键中只包含一个属性,则称它为单属性码;若候选键由多个属性构成,则称它为多属性码。若关系中只有一个候选键,且这个候选键中包括全部属性,则称该候选键为全码。全码是候选键的特例,它说明该关系中不存在属性之间相互决定情况。

例如,设有以下关系:

学生(学号,姓名,性别,出生日期);

课程(课程号,课程名,学分);

学生选课(学号,课程号)。

其中,学生关系的主键为学号,是单属性码;课程关系中课程号是主键;学生选课关系中的学号和课程号相互独立,属性间无依赖关系,该关系的主键是全码。

⑤主属性(Prime Attribute)与非主属性(Non-Key Attribute):关系中,候选码中的属性称为主属性,不包含在任何候选码中的属性称为非主属性。

⑥外键(Foreign Key)和参照关系(Referencing Relation):设F R是关系R的一个或一组属

性,但不是关系R的候选键,如果F R与关系S的主键K S相对应,则称F R是关系R的外键,关系R为参照关系,关系S为被参照关系(Referenced Relation)或目标关系(Target Relation)。

需要指出的是,外键并不一定要与相应的主键同名。但在实际应用中,为便于识别,当外键与相应的主键属于不同关系时,往往给它们取相同的名字。

例如,在学生库中有学生、课程和成绩3个表,其关系模式如下(其中主键用下划线标

相关文档
最新文档