SQL关系模型的基本概念

上传人:壹****1 文档编号:431401248 上传时间:2023-08-15 格式:DOCX 页数:4 大小:22.92KB
返回 下载 相关 举报
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|歹 U j属性 jABCD*表头*AlbicidJ 仃 1、JA2B2C2jfD2J仃2 J文件A3b,3C3J 仃 3 J J列值*关系模式 j文件元组1 Jf记录1兀组2卜关系(实例)记录2元组3 *记录3f 字段值属性值 j图 2-1 二维表、关系模型及数据库的对应术语在关系模型中,关系(Relatio n)就是一个二维表。表中的列称为属性(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)和参照关系(Refe

8、rencing Relation):设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)。关系模式的定义包括模式名、属性名、值 域名以及模式的主键。由于不涉及到物理存储方面的描述,因此关系模式仅仅是对数据特性 的描述。关系模式可以形式化

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

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

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

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

当前位置:首页 > 建筑/环境 > 建筑资料

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