数据库原理与应用之关系数据理论.pptVIP

  • 3
  • 0
  • 约1.19万字
  • 约 92页
  • 2017-10-02 发布于广东
  • 举报
数据库原理与应用之关系数据理论

第2章 关系数据理论 主讲教师 毛一梅 2010.01 主要内容 2.1 关系的数学定义 2.2 关系代数 2.3 关系演算 2.4 关系的完整性 2.5 关系操作 2.6 关系的规范化 2.1 关系的数学定义 关系型数据库是目前最常用的数据库 所谓关系型数据库通常指的就是采用了关系模型的数据库管理系统 关系模型是建立在严格的数学概念的基础上的 这里从集合论角度来讨论关系数据结构的形式化定义。 2.1.1 基本概念 1. 域(Domain) 2. 笛卡尔积(Cartesian Product) 3. 关系(Relation) 1. 域(Domain) 定义2.1 域是一组具有相同数据类型的值的集合。 例: 整数 实数 介于某个取值范围的整数 长度指定长度的字符串集合 {‘男’,‘女’} 介于某个取值范围的日期 2. 笛卡尔积(Cartesian Product) 定义2.2 给定一组域D1,D2,…,Dn,这些域中可以有相同的。D1,D2,…,Dn的笛卡尔积为: D1×D2×…×Dn={(d1,d2,…,dn)|di∈Di,i=1,2,…,n} 其中,每一个元素( d1,d2,…,dn )叫做一个n元组(n-tuple),或简称为元组(Tuple)。  元素中的每一个值di叫做一个分量(Component)。 【例2-1】 设给出两个域: 姓名集:D1={谭丁,王静,张默} 性别集:D2={男,女} 笛卡尔积: 则D1×D2={(谭丁,男),(谭丁,女),(王静,男),(王静,女),(张默,男),(张默,女)。笛卡儿积产生的这6个元组可构成一张二维表。 3. 关系(Relation) 定义2.3 D1,D2,…,Dn的子集叫做在域D1,D2,…,Dn上的关系,用R (D1,D2,…,Dn) 表示。 这里R表示关系的名字,n是关系的目或度(Degree)。关系中的每个元素是关系中的元组,通常用t表示。 若Di(i=1,2,…,n)为有限集,其基数(Cardinal number)为mi(i=1,2,…,n),则D1,D2,…,Dn的基数为: m= 【例2-2】 设: D1为教师集合T={t1,t2}, D2为学生集合S={s1,s2,s3} D3为课程集合C={c1,c2} 则D1×D2×D3是一个三元关系,该关系的元组个数即基数为:2×3×2=12,是教师、学生、课程集合中元素构成的所有元组的集合。 关系是笛卡积的有限子集,所以关系也是一个二维表,表中行被称为元组或记录(Record),列称为属性(Attribute)或字段(Field),表的第一行是字段名的集合,被称为关系框架(或表结构),列中的元素为该字段(属性)的值,且值总是限定在某个值域(domain)内。n目关系必有n个属性。 关系与二维表 关系的基本数据结构是二维表。每一张表称为一个具体的关系或简称为关系。二维表的表头也称为关系的型,二维表中的值(元组)也称为关系的值。 候选码: 若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码(Candidate key)。 主码: 若一个关系有多个候选码,则选定其中一个为主码(Primary key)。 主属性与非为主属性:主码的诸属性称为主属性(Prime attribute)。不包含在任何侯选码中的属性称为非主属性(Non-key attribute)。 全码: 在最极端的情况下,关系模式的所有属性组是这个关系模式的侯选码,称为全码(All-key)。 关系的性质 ① 列的同质性。 ② 列名唯一性。 ③ 列序无关性。 ④ 元组相异性。 ⑤ 行序无关性。 ⑥ 分量原子性。 关系的三种类型 基本关系(通常又称为基本表或基表) :是实际存在的表,它是实际存储数据的逻辑表示。 查询表:查询表是查询结果对应的表。 视图表:视图表是由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据。 2.1.2 关系模式与关系数据库 定义2.4关系的描述称为关系模式(Relation Schema)。它可以形式化地表示为: R(U,D,DOM,F) 其中, R为关系名, U为组成该关系的属性名集合, D为属性组U中属性所来自的域, DOM为属性向域的映像集合, F为属性间数据的依赖关系集合。 关系数据库是对应于一个关系模型的某个应用领域所有关系的集合。 关系数据库也有型和值之分。关系数据库的型也称为关系数据库模式(它遵循定义2.4),是对关系数据库的描述,是关系模式的集合。关系数据库的值也称为关系数据库,是关系的集合。 关系数据库模式与关系数据库通常统称为关系数据库。 2.2 关系代数 关系代数是一种抽象的查询语言,用对关系的运算来表达查询,作为研究关系数据语言的数学

文档评论(0)

1亿VIP精品文档

相关文档