数据库系统原理与应用(第3章 关系数据库)

更新时间:2023-05-21 15:05:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

书名:数据库系统原理与应用作者:刘先锋出版社:华中科技大学出版社

第三章 关系数据库湖南师范大学数学与计算机学院 刘先锋

书名:数据库系统原理与应用作者:刘先锋出版社:华中科技大学出版社

第三章 关系数据库[学习目的与要求] 关系数据库是目前应用最为广泛的数据库系统。关系数 据库模型特点是:具有严格的数学理论基础,用户接口比较简 单,可用于并行式数据库、分布式数据库和数据库机等多个领 域。本章首先介绍关系模型的基本概念及术语,然后讨论关系 模型的数据结构和完整性约束条件,最后详细讨论关系代数与 关系演算的操作。 3.1关系模型的基本概念 3.2关系模式 3.3 关系模型的完整性 3.4 关系代数 3.5 关系演算

书名:数据库系统原理与应用作者:刘先锋出版社:华中科技大学出版社

3.1关系模型的基本概念

关系模型使我们能以单一的方式来表示数据,即以 称为“关系”二维表格来表示数据。对用户而言,现 实世界的实体和实体间的各种联系均用关系来表示

表中的第一行为关系的基本属性结构;每一行描述 了一个学生的具体情况;每一列的一个值为一个学生 在某一属性的具体值。

书名:数据库系统原理与应用作者:刘先锋出版社:华中科技大学出版社

关系及基本术语

在关系模型中,将表格的头一行称为关系框架:是属性的有限集合。每个属 性对应一个值域,值域可以是任意的非空有限集合或可数无限集合。 每一张表称为该关系框架上的一个具体关系:关系框架R上的一个关系r[R] 是它的属性的对应的域构成的笛卡尔空间中的一个子集。 表中的每一行称为关系的一个元组;每一列称为属性,它在某个值域上的取 值,不同的属性可以在相同的值域上取值。 当某些域为无穷集合时,乘积空间也是一个无穷集合。因而子集可以是有穷 集合,也可以是无穷集合。把乘积空间中的有限集合称为有限关系,无限集合称 为无限关系。在后续讨论中如无特殊声明,关系总是指有限关系。 关系中的属性个数称为“元数”(arity),元组个数称为“基数” (cardinaliity)。例如课本上例题的关系元数为6,基数为4。

书名:数据库系统原理与应用作者:刘先锋出版社:华中科技大学出版社

关键字(码)超关键字(super key):在关系中能惟一标识元组的属性集合称为超关键字,显然,一个关系所有的属性的集合为该关系本身的超关键字。 候选关键字(candidate key):如某一属性集合是超关键字,但去掉其 中任一属性后就不再是超关键字了,这样的属性称为候选关键字。 候选关键字的诸属性称为主属性。不包含在任何侯选关键字中的属性称为非主 属性(非码属性) 主关键字(primary key):如果关系中存在多个候选关键字,用户选作元 组标识的一个候选关键字为主关键字。通常在关系操作时,选用一个主关键字作 为插入、删除、检索元组的操作变量。 合成关键字(composite key):当某个候选关键字包含多个属性时,则称 该候选关键字为合成关键字。 外部关键字(foreign key)

:如果关系R的某一(些)属性K不是R的候选 关键字,而是另一关系S的候选关键字,则称K为R的外部关键字。它是两个关系 联系的一种非常重要的方法。

书名:数据库系统原理与应用作者:刘先锋出版社:华中科技大学出版社

关系模型的完整性(1)域完整性(Domain integrity)约束域完整性约束主要规定属性值必须取自值域;一个属性能否为空值由其语 义决定。域完整性约束是最基本的约束,一般关系DBMS都提供此项检查 功能。

(2)实体完整(Entity integrity)约束

若属性A是关系R的主属性,则属性A不能取空值。 实体完整性规则规定基本关系的所有主属性都不能取空值,而不仅是主属 性整体不能取空值。例如在关系“学生成绩关系SC(学号、课程号、成 绩)”中,“学号”和“课程号”为主属性则都不能取空值。

书名:数据库系统原理与应用作者:刘先锋出版社:华中科技大学出版社

(3)参照完整(Referential integrity)约束这条规则要求“不引用不存在的实体”,考虑的是不同关系之间或同一关系 的不同元组之间的制约。参照完整性的形式定义如下: 如果属性集K是关系模式R的主关键字,K也是关系模式S的外关键字(关系R 和S不一定是不同的关系),那么在S的关系中,K的取值只允许两种可能, 或者为空值,或者等于R关系中某个主关键字的值。 在上述形式定义中,关系模式R称为“参照关系”模式,关系模式S称为“依 赖关系”模式。

(4)用户定义完整(User-defined integrity)约束不同的关系数据库系统根据其应用环境的不同,往往还需要一些特殊的约束 条件,用户定义的完整性就是针对某一具体关系数据库的约束条件。例如学 生的年龄定义为两位整数,还可以写一条规则,如把年龄限制为16-20岁之 间

小结:其中域完整性、实体完整性和参照完整性是关系模型必须满足的约束条件,由关系系统自动支持。

书名:数据库系统原理与应用作者:刘先锋出版社:华中科技大学出版社

关系代数关系数据库的数据操作分为查询和更新两类。更新语句 用于插入、删除和修改等操作,查询语句用于各种检索操 作。关系查询语言根据其理论基础的不同分为两大类: 关系代数语言:查询操作是以集合操作为基础运算的DML 语言。 关系演算语言:查询操作是以谓词演算为基础运算的DML 语言。 关系代数是一种抽象的查询语言,是关系数据操纵语言 的一种传统表达方式,它是用对关系的运算来表达查询的。 关系代数的运算对象是关系,运算结果亦为关系。运算的三大要素:运算对象、运算符、运算结果。

书名:数据库系统原理与应用作者:刘先锋出版社:华中科技大学出版社

关系代数的五种基本操作关系代数的一部分运算是集合运算(如并、差、交、笛卡尔积),另一部 分是关系代数所特有的投影,选择,连接和除等运算。

关系代数中五种基本的操作:并、差、笛卡尔积、投影和选择。首先定义关系的相等。设有同类关系r1

和r2,若r1的任何一个元组都 是r2的一个元组,则称关系r2包含关系r1,记为 r2 r1 , 或 r1 r2 。如 果 r1 r2 且 r r ,则称r1等于r2,记为r1=r2。1 2

关系代数用到的运算符包括四类:集合运算符(并、差、交)、专门 的关系运算符(广义笛卡尔积、选择、投影、连接、除)、算术比较符 (大于、大于等于、小于、小于等于、等于、不等于)和逻辑运算符(非、 与、或)。

书名:数据库系统原理与应用作者:刘先锋出版社:华中科技大学出版社

传统的集合运算关系代数的运算按运算符的不同可分为传统的集合运算和专门的关系 运算符两大类。传统的集合运算是二目运算,包括并、差、交、笛卡尔积四种运算。

并 差

交笛卡尔积

书名:数据库系统原理与应用作者:刘先锋出版社:华中科技大学出版社

专门的关系运算选择(selection) 投影(projection) -连接( -join)

等值连接(F-join) 自然连接(natural join) 除(division)

本文来源:https://www.bwwdw.com/article/r4m4.html

Top