02 关系数据库的基本理论

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

2.3.3 用户定义的完整性(User-defined Integrity)
实体完整性和参照完整性适用于任何关系 数据库系统。除此之外,不同的关系数据库系 统根据其应用环境的不同,往往还需要一些特 殊的约束条件,用户定义的完整性就是针对某 一具体关系数据库的约束条件,它反映某一具 体应用所涉及的数据必须满足的语义要求。关 系模型应提供定义和检验这类完整性的机制, 以便用统一的系统的方法处理它们,而不要由 应用程序承担这一功能。
R∪S={t∣t∈R∨t∈S} 结果由属于R和属于S的元组组成,仍为n元关系。
2.4 关系代数
(2)交(Intersection) 设R和S为n元关系,并且两者对应属性的数据类型也相同。 则R和S的交记为:
R∩S={t∣t∈R∧t∈S} 结果由既属于R又属于S的元组组成,仍为n元关系。
(3)差(Difference) 设R和S为n元关系,并且两者对应属性的数据类型也相同。 则R和S的差记为:
R-S={t∣t∈R∧t ∈S} 结果由属于R而不属于S的元组组成,仍为n元关系。
2.4 关系代数
(4)笛卡尔积(Product) 设R为n元关系,S为m元关系,R和S的笛卡尔积 是一个n+m列的元组的集合。其中,任意一个元组的 前n列是关系R的一个元组,后m列是关系S的一个元 组。并且,若R中由k1个元组组成,S由k2个元组组成, 则R和S的笛卡尔积由k1×k2 个元组组成。R和S的笛 卡尔积记为: R×S={(r1,…,rn ,s1,…,sm)∣((r1,…,rn)∈R∧(s1,…,sm)
2.4 关系代数
(7)连接(Join) 连接运算是从关系R和S的笛卡尔积中选取 属性间满足一定条件的元组。记为:
2.2.4 关系系统
【准则2-6】视图更新准则。 【准则2-7】高级的插入、修改和删除操作。 【准则2-8】数据物理独立性。 【准则2-9】数据逻辑独立性。 【准则2-10】数据完整性的独立性。 【准则2-11】分布独立性。 【准则2-12】无破坏准则。
2.3 关系的完整性
关系模型的完整性规则是对关系的某种约束条件。关系模 型中可以有三类完整性约束:实体完整性、参照完整性和用户 定义的完整性。 2.3.1 实体完整性(Entity Integrity)
第2章 关系数据库的基本理论
学习要点
1、关系数据结构、关系操作和完整性约束 2、关系数据结构的数学定义 3、关系的性质、关系系统 4、实体完整性、参照完整性 5、用户定义的完整性 6、关系代数
第2章 关系数据库的基本理论
2.1 关系模型概述 2.2 关系数据结构 2.3 关系的完整性 2.4 关系代数
其中,姓名、职称、X称为域名,姓名域和职称域各有4个值, X域有2个值,一般称它们的基数分别为4、4、2。
2.2.1 数学定义
【 定 义 2-2】 给 定 一 组 域 D1,D2,…,Dn , 则 D1×D2×…×Dn = { (d1,d2,…,dn) | d1∈Di , i = 1,2,…,n } 称 为 D1,D2,…,Dn 的 笛卡尔积。其中每个(d1,d2,…,dn)叫做一个n元组,元组中的 每个di是Di域中的一个值,称为一个分量。
一个基本关系通常对应现实世界的一个实体集。例如学生 关系对应于学生的集合。现实世界中的实体是可区分的,即它 们具有某种惟一性标识。相应地,关系模型中以主键作为惟一 性标识。主键中的属性即主属性不能取空值。
【规则2-1】实体完整性规则:若属性A是基本关系R的主 属性,则属性A不能取空值。
2.3.2 参照完整性(Referential Integrity)
2.1.3 完整性约束
关系模型提供了丰富的完整性控制机制, 允许定义三类完整性:实体完整性、参照完整 性和用户定义的完整性。其中实体完整性和参 照完整性是关系模型必须满足的完整性约束条 件,应该由关系系统自动支持。
2.2 关系数据结构
因为关系模型是建立在集合代数的基础上 的,所以本节从集合论角度给出关系数据结构 的形式化定义。 2.2.1 数学定义
σF (R)={t|t∈R∧F(t)=true} 选择的结果为关系R中满足条件F的元组。
2.4 关系代数
(6)投影(Projection) 投影操作是选取关系的某些列做垂直投影,
并可重新安排列的顺序。设关系R为n元关系, R的投影操作记为: ,… ,(R)={(r,…r,)|( r1,…, ,…, ,…,rn)∈R} 3列组例成如新1的,3(关R)系表。示另选外取,关列系号R的中位的置第也1列可和用对第 应的属性名代替。
∈S)
2.4 关系代数
(5)选择(Selection) 选择操作的含义是在关系上选择满足某种 条件的元组。设关系R为n元关系,用F来表示 选 ≠、择>条、件<,、F≤形、如≥r 或iθ逻C(辑其运中算θ符为∧算、术∨运、算(、符┐=)、, F的取值为逻辑值“true”或“false”。R关系 的选择操作记为:
2.4 关系代数
关系运算是用来表达查询的语言,根据所依据的理论基础 的不同分为两类,分别称为关系代数语言和关系演算语言。关 系代数语言是以集合运算为基础的语言,关系演算语言是以谓 词演算为基础的语言。
(1)并(Union) 设R和S为n元关系(“n元”指关系模式中属性的数目为 n),并且两者对应属性的数据类型也相同。则R和S的并记为:
2.2.4 关系系统
2.关系系统的分类 按照E.F.Codd的思想,可以把关系系统分 类如下: (1)最小关系系统 (2)关系上完备的系统 (3)全关系系统
2.2.4 关系系统
3.全关系系统的12条基本准则 【准则2-0】一个关系型的DBMS必须能完全通过 它的关系能力来管理数据库。 【准则2-1】信息准则。 【准则2-2】保证访问准则。 【准则2-3】空值的系统化处理。 【准则2-4】基于关系模型的动态的联机数据字典。 【准则2-5】统一的数据子语言准则。
2.2.3 单一的数据结构——关系
在关系模型中,无论是实体还是实体之间的联系 均由单一的结构类型即关系来表示。前面已经给出了 域的数学定义,介绍了n目关系、元组、属性等概念, 下面介绍键、关系模式、关系数据库等基本概念。
1.键 关系中的某一属性组,若它的值惟一地标识一个 元组,则称该属性组为候选键(Candidate Key)。 若一个关系有多个候选键,则选定其中一个为主 键(Primary Key)。主键的诸属性称为主属性。
关系的理论基础是集合代数理论。关系通 常用二维表来表示,现用集合代数给出关系的 定义。
2.2.百度文库 数学定义
【定义2-1】域(Domain)是值的集合。 例如,整数、实数、{A,B,C}、长度小于15个字节的字
符的集合、大于0且小于100的正整数等等都可以是域。 在关系数据库中,域可以命名。例如: 姓名={张力,李红,王芳,刘吉} 职称={高工,工程师,助工,技术员} X={男,女}
2.2.3 单一的数据结构——关系
2.关系模式 关系的描述称为关系模式,它包括关系名、 组成该关系的诸属性名、属性向域的映像、属 性间的数据依赖关系等。本节讨论的关系模式 仅由关系名、诸属性名和属性向域的映像三部 分 组 成 。 通 常 记 为 R(D1,D2,…,Dn) 。 R 为 关 系 名,D1,D2,…,Dn为属性名。属性向域的映像常 用属性的类型、长度来说明。
2.2.2 关系的性质
数据库中的关系具有下列性质: (1)任意两个元组(即两行)不能完全相同。 (2)关系中元组(行)的次序是不重要的,可以 任意交换。 (3)属性(列)的次序也是不重要的,可以任意 交换。 (4)同一列中的分量必须来自同一个域,是同类 型的数据。 (5)属性必须有不同的名称,但不同的属性可以 出自相同的域,即它们的分量可以取值于同一个域。
2.2.3 单一的数据结构——关系
3.关系数据库 对于关系数据库要分清型和值的概念。关系数据 库的型即数据库描述,它包括若干域的定义以及在这 些域上定义的若干关系模式;数据库的值是这些关系 模式在某一时刻对应的关系的集合。数据库的型亦称 为数据库的内涵(Intention),数据库的值亦称为 数据库的外延(Extention)。 关系模式是稳定的,而关系是随时间不断变化的, 因为数据库中的数据在不断更新。
若Di (i=1,2,…,n)为有限集,其基数(Cardinal Number) 为m i (i=1,2,…,n),则D1×D2×…×Dn 的基数为:
m=∏ mi 其中,m=笛卡尔积的基数;
mi=第i个域的基数; n=域的个数。
2.2.1 数学定义
【 定 义 2-3】 给 定 一 组 域 D1,D2,…,Dn , 则 D1×D2×D3 的 子 集 称 为 在 D1×D2×…×Dn 上 的关系(Relation),记做R(D1,D2,…,Dn), 其中,R为关系名,n为关系R的度(Degree) 或目。
关系模型的数据结构非常单一,在用户看来,关 系模型中数据的逻辑结构是一张二维表。但关系模型 的这种简单的数据结构能够表达丰富的语义,描述出 现实世界的实体以及实体间的各种联系。
2.1.2 关系操作
关系操作采用集合操作方式,即操作的对 象和结果都是集合。这种操作方式也称为一次 一个集合的方式。
关系模型中常用的关系操作有两类,一是 查询操作,包括选择、投影、连接、除、并、 交、差等;二是增、删、改操作。
2.2.4 关系系统
关系系统和关系模型是两个密切相关而又 不同的概念。支持关系模型的数据库管理系统 称为关系系统。但是关系模型中并非每一部分 都是同等重要的,所以不苛求完全支持关系模 型的系统才能称为关系系统。因此,下面给出 一个关系系统的最小要求以及分类的定义。
2.2.4 关系系统
1.关系系统的定义 一个系统可定义为关系系统,当且仅当它满足以 下两个条件: (1)支持关系数据库(关系数据结构)。 (2)支持选择、投影和(自然)连接运算,对这 些运算不必要求定义任何物理存取路径,不要求关系 系统的选择、投影、连接运算和关系代数的相应运算 完全一样,而只要求有等价的这三种运算功能。
第2章 关系数据库的基本理论
关系数据库系统具有独特的风格,概括起 来有以下五个特点。
(1)简单明了的数据模型。 (2)具有严谨的理论基础。 (3)实体表示方法和实体之间联系的表示 方法一致。 (4)处理多对多的联系方便。 (5)使用的关系数据语言功能强大。
2.1 关系模型概述
关系模型是关系数据库的基础。关系模型由数据 结构、关系操作集合和完整性约束三部分组成。 2.1.1 关系数据结构
现实世界中的实体之间往往存在某种联系,在关系模型中 实体与实体间的联系都是用关系来描述的。这样就自然存在着 关系与关系间的引用。 【定义2-4】设F是基本关系R的一个或一组属性,但不是关系R 的键,如果F与基本关系S的主键KS相对应,则称F是基本关系 R 的 外 键 ( Foreign Key ) , 并 称 基 本 关 系 R 为 参 照 关 系 ( Referencing Relation ) , 基 本 关 系 S 为 被 参 照 关 系 (Referenced Relation)或目标关系(Target Relation)。 关系R和S不一定是不同的关系。
表达(或描述)关系操作的关系数据语言 可以分为三类,具体分类情况如下:
2.1.2 关系操作
(1)关系代数 关系代数是用对关系的运算来表达查询要
求的方式。 (2)关系演算
关系演算是用谓词来表达查询要求的方式。 (3)介于关系代数和关系演算之间的语言SQL
(Standard Query Language)
参照完整性规则就是定义外键与主键之间的引用规则。
2.3.2 参照完整性(Referential Integrity)
【规则2-2】参照完整性规则:若属性(或 属性组)F是基本关系R的外键,它与基本关系 S的主键KS相对应(基本关系R和S不一定是不 同的关系),则对于R中每个元组在F上的值必 须为:或者取空值(F的每个属性值均为空值), 或者等于S中某个元组的主键值。
相关文档
最新文档