数据库实用技术教程教学课件作者基于Oracle系统电子教案第2章课件.pptVIP

  • 3
  • 0
  • 约 79页
  • 2016-12-26 发布于广东
  • 举报

数据库实用技术教程教学课件作者基于Oracle系统电子教案第2章课件.ppt

数据库原理与应用 学习目标 第2章 关系数据库的理论基础 2.1 关系数据结构 2.1.1 关系的数学定义 1. 域 作用 域(domain)是数学中的一个概念,在表示实际数据时,可以用域来明确指出数据取值的可选范围。 定义 定义2.1 域是具有相同数据类型的一组值的集合,一般用D表示。 例子 (1)如果规定年龄域必须是0-100之间的整数值的集合,用D年龄={0,1,2,…,100}表示,那么在表示年龄数据时,年龄可以取此年龄域中的任何值,非年龄域中的值可视为不合法数据。 (2) 性别域可以用D性别={男,女}表示,那么在表示性别数据时,性别值必须是“男”或“女”,非性别域中的值都是不合法数据。 2.1.1 关系的数学定义 2、笛卡儿积 作用 笛卡儿积(cartesian product)是一个纯粹的数学算法,但在实际的数据查询中会经常用到,通常用于两个表的连接查询。 定义 定义2.2 给定一组域D1,D2,…,Dn,这些域可以完全不同,也可以部分相同或全部相同,那么D1,D2,…,Dn的笛卡儿积为 D1×D2×…×Dn={(d1,d2,…,dn)|di∈Dj,j=1,2,…,n} 元组概念:其中每一个元素(d1,d2,…,dn)称作一个n元组,或简称元组。 分量概念:元组中的每一个值di叫做一个分量。 2.1.1 关系的数学定义 若Di为有限集,有限集中的元素个数称为基数,用mi 表示,则D1×D2×…×Dn的基数可用m表示为 笛卡儿积可表示成一个二维表。表中的每一行对应于一个元组,表中的每一列对应于一个域。 2.1.1 关系的数学定义 【例2.1】假设在学生选课系统中有3个域D1、D2、D3,分别表示学生姓名集合、班级名称集合和课程名称集合,其数据域为D1={赵明,杨仪,马力}、D2={计061班,软061班}、D3={计算机语言,数据结构,数据库},求:D1×D2×D3的值,并计算其基数,将结果用二维表表示出来。 2.1.1 关系的数学定义 解:根据笛卡儿积的定义可得 D1×D2×D3= { (赵明,计061班,计算机语言),(赵明,计061班,数据结构),(赵明,计061班,数据库), (赵明,软061班,计算机语言),(赵明,软061班,数据结构),(赵明,软061班,数据库), (杨仪,计061班,计算机语言),(杨仪,计061班,数据结构),(杨仪,计061班,数据库), (杨仪,软061班,计算机语言),(杨仪,软061班,数据结构),(杨仪,软061班,数据库), (马力,计061班,计算机语言),(马力,计061班,数据结构),(马力,计061班,数据库), (马力,软061班,计算机语言),(马力,软061班,数据结构),(马力,软061班,数据库) } 此笛卡儿积的基数:3×2×3=18,即共有18个元组,各元组有3个分量,共有54个分量。 2.1.1 关系的数学定义 表2.1 例2.1笛卡儿积的二维表 2.1.1 关系的数学定义 3. 关系 作用 关系(relation)是数学中的一个概念,在实际应用中,关系把来自多个域的数据集中在一起,以表示一个完整的意义,其常见形式是一张二维表。 定义 定义2.3 D1×D2×…×Dn的子集称为域D1×D2×…×Dn上的关系,用R(D1,D2,…,Dn)表示。 其中,R表示关系的名称,n称为关系的目,又称为关系的度或关系的元数。 关系中的每一列称为属性,列名是属性名。 如果一个关系是n目关系,那么这个关系必定有n个属性。n值为1的关系称为单元关系。n值为2的关系称为二元关系,……,以此类推。 2.1.1 关系的数学定义 例子 从表2.1中抽取一个有意义的子集,组成一个具有实际意义的关系,如表2.2所示。 2.1.1 关系的数学定义 关系的码 关系的码就是可以唯一确定关系中各元组的一个属性或一组属性。 候选码 在实际应用中,一个关系可以有多个候选码(即多组属性可分别作为关系的码),此时,可以选定其中一个为主码(Primary Key)。 主属性与非主属性 候选码所涉及的诸属性称为主属性,不包含在任何候选码中的属性称为非主属性。 全码 在最简单的情况下,候选码只包含一个属性。在最极端的情况下,关系中的所有属性都是这个关系的候选码,称为全码(All-key)。 2.1.1 关系的数学定义 例子 (1)在学生( 学号,姓名,性别,出生日期,入学成绩,附加分,班级号)关系模式中,候选码只有“学号”,关系“学生”的主码就只

文档评论(0)

1亿VIP精品文档

相关文档