SQL关系模型的基本概念

上传人:博****1 文档编号:512869639 上传时间:2023-08-20 格式:DOC 页数:4 大小:33.50KB
返回 下载 相关 举报
SQL关系模型的基本概念_第1页
第1页 / 共4页
SQL关系模型的基本概念_第2页
第2页 / 共4页
SQL关系模型的基本概念_第3页
第3页 / 共4页
SQL关系模型的基本概念_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《SQL关系模型的基本概念》由会员分享,可在线阅读,更多相关《SQL关系模型的基本概念(4页珍藏版)》请在金锄头文库上搜索。

1、文档供参考,可复制、编制,期待您的好评与关注! 关系模型的基本概念关系模型创始人:IBM的E.F.Codd,1970年。目前所有厂商推出的DBMS都支持RDB,非关系系统的产品也都加上了关系接口,数据库领域当前的研究工作也都是以关系方法为基础。2.1.1关系模型的结构、操作和完整性约束的基本概念(1)关系模型的数据结构关系模型是建立在严格的数学概念的基础上的。关系模型中数据的逻辑模型是一张二维表,它由行和列组成。在关系模型中,实体以及实体间的联系都是用关系来表示。必须满足一定的规范条件,其中最基本的一条就是,关系的每一个分量必须是一个不可分的数据项,也就是不允许表中还有表。(2)关系模型的存储

2、结构在关系模型中,实体及实体间的联系都用“表”来表示。在数据库的物理组织中,“表”以“文件”形式存储。(3)关系模型的操作关系模型的操作主要包括查找、插入、删除和修改数据。关系模型中的数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合。(4)关系模型的完整性约束关系模型的操作必须满足关系的完整性约束条件。关系的完整性约束条件包括3大类:实体完整性、参照完整性和用户定义完整性。2.1.2关系模型的基本术语(1)关系与二维表表2-1是一张学生登记表,这是一张二维表。表2-1 学生记表学号姓名性别年龄S0201李兰女17S0202张娜女18S0203张伟男17为简单起见,对表2-1数学

3、化,用字母表示表格的内容,则表2-1可用图2-1的表格表示。 二维表的术语 关系模型的术语 数据库的术语 R 列 - 属性 - 字段ABCDa1b1c1d1a2b2c2d2a3b3c3d3表头 - 关系模式 - 记录类型行1 - 元组1 - 记录1行2 文件 元组2 关系(实例) 记录2 文件行3 - 元组3 - 记录3 列值 - 属性值 - 字段值图2-1 二维表、关系模型及数据库的对应术语在关系模型中,关系(Relation)就是一个二维表。表中的列称为属性(Attribute)。属性具有型和值两层含义:属性的型指属性名和属性取值域;属性值指属性具体的取值。同一关系中的属性名(即列名)不能

4、相同。属性用于表示实体的特征,一个关系中往往有多个属性。例如表2-1中有4个属性,分别为学号、姓名、性别和年龄。表中的行称为元组(Tuple),组成元组的元素称为分量(Component)。数据库中的一个实体或实体间的一个联系均使用一个元组表示。例如表2-1中有3个元组,它们分别描述3个学生的学号、姓名、性别和年龄。(S0201,李兰,女,17)是一个元组,它由4个分量构成。元组的集合即为关系(relation),或称为实例(instance)。关系中属性个数称为元数(arity),元组个数称为基数(cardinality)。图2-1中,关系R的元数为4,基数为3。实际上我们常常直接称呼关系为

5、表,元组为行,属性为列。关系中每1个属性都有一个取值范围,称为属性的值域。域(Domain)是一组具有相同数据类型的值的集合。例如,整数、0,1、男,女、计算机专业,物理专业,外语专业等,都可以作为域。属性A的值域用DOM(A)表示。每个属性对应一个值域,不同的属性可对应于同一值域。(2)关系的定义可以用集合的观点定义关系:关系是一个元数为K(K1)的元组的集合,是其各属性的值域的笛卡尔积的一个子集。集合中的元素是元组,每个元组的元数相同。(3)键(码)键(码)由1个或几个属性构成,在实际使用中,有下列几种键:超键(Super Key):在关系中能惟一标识元组的属性集称为关系模式的超键。候选键

6、(Candidate Key):不含有多余属性的超键称为候选键。也就是在候选键中,若要再删除属性,就不是键了。一般而言,如不加说明,则键是指候选键。主键(Primary Key):用户选作标识元组的一个候选键称为主键,也称为关键字。如果关系中只有一个候选键,这个惟一的候选键就是主键。表2-1中,(学号,姓名)是关系模式的超键,但不是候选键,而(学号)是候选键。在实际使用中,如果选择(学号)作为插人、删除或查找的操作变量,那么就称(学号)是主键。全码(All-Key):若关系的候选键中只包含一个属性,则称它为单属性码;若候选键由多个属性构成,则称它为多属性码。若关系中只有一个候选键,且这个候选键

7、中包括全部属性,则称该候选键为全码。全码是候选键的特例,它说明该关系中不存在属性之间相互决定情况。例如,设有以下关系: 学生(学号,姓名,性别,出生日期); 课程(课程号,课程名,学分); 学生选课(学号,课程号)。其中,学生关系的主键为学号,是单属性码;课程关系中课程号是主键;学生选课关系中的学号和课程号相互独立,属性间无依赖关系,该关系的主键是全码。主属性(Prime Attribute)与非主属性(Non-Key Attribute):关系中,候选码中的属性称为主属性,不包含在任何候选码中的属性称为非主属性。外键(Foreign Key)和参照关系(Referencing Relatio

8、n):设FR是关系R的一个或一组属性,但不是关系R的候选键,如果FR与关系S的主键KS相对应,则称FR是关系R的外键,关系R为参照关系,关系S为被参照关系(Referenced Relation)或目标关系(Target Relation)。需要指出的是,外键并不一定要与相应的主键同名。但在实际应用中,为便于识别,当外键与相应的主键属于不同关系时,往往给它们取相同的名字。例如,在学生库中有学生、课程和成绩3个表,其关系模式如下(其中主键用下划线标识): 学生(学号,姓名,性别,专业号,出生日期) 课程(课程号,课程名,学分) 选修成绩(学号,课程号,成绩)。在学生表中,学号是主键;在课程表中,

9、课程号是主键;在选修成绩表中,学号和课程号一起为主键。单独的学号或课程号仅为选修成绩表的主属性,而不是选修成绩表的主键。学号和课程号为选修成绩表中的外键,选修成绩表是参照关系,学生表、课程表为被参照关系,它们之间要满足参照完整性规则。(4)数据库中基本关系的性质关系数据库中的基本表具有以下6个性质。同一属性的数据具有同质性:即同一列中的分量是同一类型的数据,它们来自同一个域。同一关系的属性名具有不能重复性:指同一关系中不同属性的数据可出自同一个域,但不同的属性要给予不同的属性名。关系中的列位置具有顺序无关性,许多关系数据库产品提供的增加新属性的操作只提供插至最后一列的功能。关系具有元组无冗余性

10、:指关系中的任意两个元组不能完全相同。关系中的元组位置具有顺序无关性。关系中的分量具有原子性:指关系中每一个分量都必须是不可分的数据项。2.1.2 关系模式、关系子模式和存储模式关系模型基本上遵循数据库的三级体系结构。在关系模型中,概念模式是关系模式的集合,外模式是关系子模式的集合,内模式是存储模式的集合。(1)关系模式的概念和表示关系的描述称为关系模式(Relation Schema)。关系模式的定义包括模式名、属性名、值域名以及模式的主键。由于不涉及到物理存储方面的描述,因此关系模式仅仅是对数据特性的描述。关系模式可以形式化地表示为: R(U,D,Dom,F)其中:R为关系名,是关系的形式

11、化表示;U为组成该关系的属性集合;D为属性组U中属性所来自的域的域名;Dom为属性向域的映像的集合;F为属性间数据的依赖关系集合。关系模式通常可以简单记为: R(U,F) 或 R(U) 或 R(A1,A2,An)其中:R为关系名;F为数据依赖集合;A1,A2,An为属性名。例如:在图2-1中,表格上方的R是关系模式名,该关系模式可描述为: R(A,B,C,D)一般而言,关系模式是静态的,关系数据库一旦定义后其结构不能随意改动;而关系的数据是动态的,关系数据库中的数据根据需要而不断增加、修改或删除。(2)关系子模式子模式是用户所用到的那部分数据的描述。除了指出用户的数据外,还应指出模式与子模式之

12、间的对应性。(3)存储模式关系存储时的基本组织方式是文件,元组是文件中的记录。由于关系模式有键,因此存储一个关系可以用散列方法或索引方法实现。如果关系中元组数目较少(100个以内),那么也可以用堆文件方式实现。此外,还可以对任意的属性集建立辅助索引。2.1.3 关系模型的3类完整性规则关系模型的完整性规则是对关系的某种约束条件。关系模型中有3类完整性约束:实体完整性(Entity Integrity)、参照完整性和用户定义的完整性。(1)实体完整性约束关系的实体完整性规则为:若属性A是基本关系R的主属性,则属性A的值不能为空值。注意:该规则规定基本表的所有主属性都不能取空值(空值不是空格值,它

13、是无输入的属性值,用“Null”表示,说明“不知道”或“无意义”),而不仅是主键不能取空值。(2)参照完整性约束关系的参照完整性规则为:若属性(或属性组)FR是基本关系R的外键,它与基本关系S的主键KS相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在FR上的值必须等于S中某个KS值或者取空值。这条规则要求“不引用不存在的实体”。在使用时,有3点应注意:外键FR和相应的主键KS可以不同名,但数据类型和值域要相同;关系R和关系S也可以是同一个关系模型,表示属性之间的联系;外键值是否允许为空,应视具体问题而定。例如:学生实体和专业实体用下面的关系表示,其中主键用下划线标识: 学生(学号,姓名,性别,专业号,年龄) 专业(专业号,专业名)这两个关系之间存在着属性的引用,学生表中各元组的专业号值必须是专业表中存在的专业号值,或者为空值。(3)域完整性约束域完整性是针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求。DBMS应提供定义和检验这类完整性的机制,而不是由应用程序承担这一功能。例如,百分制下,考试成绩必须在0100之间。(4)用户自定义约束 /

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 国内外标准规范

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号