第2章关系数据库基本理论

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.关系模式
关系模式是对关系的描述,是一个关系的具体结构,即关 系模式是型。它通常被形式化定义为R(U,D,DOM,F,I)。其中R 是关系名,U为该关系中的所有属性集合;D为该关系的所有 定义域的集合;DOM是属性向域映射的集合,它给出属性和域 之间的对应关系;F是该关系中各属性之间的数据依赖的集合; I为该关系中所定义的第完2章整关系性数规据库则基的本理集论合。
在数据库系统中定义一个关系模式时,主要是给出关系 名和所有属性名,其他都是辅助特性。例如属性的域被作 为属性的类型和长度来定义,其中自然包含了属性向域的 映射,属性之间的数据依赖的分析主要是找出关系的主键 属性,关系的完整性规则的建立是为了保证数据库数据的 正确性和一致性。
因此,一个关系模式可以简化表示了 R(A1,A2,..A .n ,)., 其中R为关系名,A1,A2,...A,n 为各属性名。 2.键
表达(或描述)关系操作的关系数据语言可以分为三类:
第2章关系数据库基本理论
来自百度文库 (1)关系代数语言(简称关系代数)
关系代数是用对关系的运算来表达查询要求的方式,如 ISBL(Information System Base Language)语言。
(2)关系演算语言(简称关系演算)
关系演算是用谓词来表达查询要求的方式。关系演算又 可按谓词变元的基本对象是元组变量还是域变量分为元组关 系演算和域关系演算。元组演算语言的典型代表是QUEL语言, 域关系演算语言的典型代表是QBE(Query By Example)语言。 关系代数、元组关系演算和域关系演算三种语言在表达能力 上是完全等价的。
为 n 关系的度。当 n 1 时,关系仅含一个域,称单
元关系;
当 n2 时,称二元关系,如此类推。
在关系对应的二维表中,行对应元组,列对应域。而实 际中更多地把列称为属性,将元组称为记录。
第2章关系数据库基本理论
2.2.2 关系的性质
关系与二维表及传统的数据文件有类似之处,但也有区别。 关系是一种规范化的二维表,作为关系的二维表必须满足下列 性质:
叫做一个分量,d i 必是 D i 域中的一个值。
显然,若 Di(i1,2,,n) 为有限集,则笛卡尔积的基数等 于 构成该积所有域的基数的连乘积,即
M
n
mi
i 1
其中表示笛卡尔积基数,表示第个域基数,表示域的个数。 3.关系
当且仅当是 D1D2Dn 的一个子集,则称 R 是 D1D2Dn
上的一个关系,记为 R(D 1,D 2,,D n。) 其中 R是关系名,
关系中的一个属性或属性的集合能唯一地标识了一个元 组,则称该属性或属性的组合称为候选键。若一个关系有 多个候选键,则选定其中一个为主键,这个属性称为主属
第二章 关系数据库的基本理论
2.1 关系模型概述 2.2 关系数据结构 2.3 关系的完整性 2.4 2.5
第2章关系数据库基本理论
2.1 关系模型概述
关系模型是关系数据库的基础。关系模型有三个 组成部分:数据结构、数据操作、完整性规则。
(1)数据库中全部数据及其相互联系都被组织成关 系(即二维表格)的形式。关系模型的基本的数据结 构是关系。
( 3 ) 具 有 关 系 代 数 和 关 系 演 算 双 重 特 点 的 语 言 , 如 SQL (Standard Query Language)
关系数据库系统实际提供给用户的关系数据语言是更加 高级、更加方便的实际语言,除了提供上述语言的功能外, 还提供了许多附加功能,如SQL不仅具有丰富的查询功能, 而且具有数据定义和数据控制功能,是集查询、数据定义 (DDL)、数据操纵(DML)和数据控制(DCL)于一体的关 系数据语言。
2.1.2 关系操作 关系模型中常用的关系操作有两类,一类是查询操作,包括选择
(Select)、 投影(Project)、连接(Join)、除(Divide)、并(Union) 、交(Intersection)、差(Difference)等;另一类是更新操作,是对数 据库中的数据作增添新记录,删除和作废错误记录,修改变化了的记录 等数据维护操作,简称为增、删、改操作。
2.笛卡尔积
给定一组域 ,则 D1,D2,,Dn D1,D2,,Dn的笛卡尔积定义为
D 1 D 2 D 第n 2章 关{ 系d 数1 据, d 库2 基, ( 本 , 理d 论n ) |d i D i , i 1 , 2 , , n }
其中 (d1,d2,,dn) 每个叫做一个n 元组,元组中的每个d i
第2章关系数据库基本理论
2.1.3 完整性约束 关系模型可定义三类完整性规则,分别是实体完
整性、参照完整性和用户定义完整性。其中实体完整 性和参照完整性是关系模型必须满足的规则,应该由 系统自动支持,而用户定义的完整性由应用环境所决 定。
第2章关系数据库基本理论
2.2 关系数据结构
关系模型是建立在集合代数基础上的,所以这里将 从集合的角度给出关系数据结构的形式化定义。 2.2.1 数学定义
1.域
域(Domain)是一组具有相同数据类型的值的集合。 例如{男,女}、{A,B,C}、{2,4,6,8,10}等 都可以是域。
域要命名,例如:性别={男,女},姓名={张力, 阿法,胡爱军},D={2,4,6,8,10}其中性别、姓 名、D称为域名。域中数据个数叫做域的基数,故性 别的基数为2,姓名的基数为3,D的基数为5。
(2)关系模型提供一组完备的高级关系运算,以支 持对数据库存量的各种操作。
(3)关系模型的三类完整性规则。
2.1.1 关系数据结构
关系模型的结构非常简单,在用户看来,一个关 系模型的逻辑结构是一张二维表,它由行和列组成。
表2.1是一张职工工资基本信息表,它是一张二维 表格。
第2章关系数据库基本理论
表2.1 职工基本信息
(1)同一属性(列)中的分量是相同类型的数据,即取自同一 个域;
(2)属性(列)的顺序可以是任意的;
(3)元组(行)的顺序可以是任意的;
(4)任意两个元组(即两行)不能完全相同;
(5)属性必须有不同的名称,但不同的属性可以取自相同的域;
(6)所有属性必须都是不可分解的,即表中不允许有子表。
2.2.3 单一的数据结构——关系
相关文档
最新文档