(
课件网) 关系数据库 第2章 目录 01 关系模型 02 关系的码 03 关系的完整性 04 关系代数 本章主要内容 本章主要介绍关系模型及其关系数据库的基本概念,研究关系数据库的一些理论问题,包括关系的完整性与关系运算问题。 关系模型 第2章 01 2.1 关系模型 关系模型是目前最常用的一种数据模型。关系数据库系统采用关系模型作为数据的组织方式。 1970年,美国IBM公司的研究员E.F.Codd首次提出了数据系统的关系数据模型,开创了数据库关系方法和关系数据理论的研究,为数据库技术奠定了理论基础。 关系模型的概念简单、清晰,并且具有严格的数据基础,形成了关系数据理论,操作也直观、容易,因此易学易用。 2.1.1 关系数据结构 数据结构是计算机存储、组织数据的一种方式。 关系模型的数据结构简称“关系”,即一个“二维表”。它由表名、表头和表体三部分构成,表名为二维表的名称,表头为二维表的结构,表体为二维表中的数据,如图就是一个二维表,即学生关系。 学号 姓名 性别 年龄 院系编号 S01 韩耀飞 男 20 08 S02 苏致远 男 22 08 S03 崔岩坚 男 21 08 S04 黄海冰 男 20 08 S05 杨影 女 19 07 S06 敬云飞 男 20 07 相关概念 关系(relation):一个关系对应一张二维表,表名和关系名相对应。 属性(attribute):二维表中的一列为一个属性(或字段),每个属性都有一个名字,称为属性名。二维表中对应某列的值为属性值,例如,上表中学生关系有学号、姓名、性别、年龄、院系编号五个属性。 域(domain):二维表中属性的取值范围。例如,Sex的域为(男,女)。 元组(tuple):二维表中的一行即为一个元组,有的系统中也称为一条记录,例如,上表中(S01,韩耀飞,男,20,08)就是一个元组。 2.1.2 关系模型的形式化定义 笛卡尔积:给定一组域D1,D2,…,Dn(它们可以包含相同的元素,即可以完全不同,也可以部分或全部相同)。 D1,D2,…,Dn的笛卡尔积为D1×D2×……×Dn={(d1,d2,…,dn)|di∈Di, i=1,2,…,n}。其中,每一个元素(d1,d2,…,dn)称为一个元组,元组中的di为一个分量,如元组(d1,d2,…,dn)中包含n个分量,称为n元组。 笛卡尔积的特点和举例 笛卡儿积D1×D2×……×Dn的基数M(即元祖( d1,d2,…,dn )的个数)为所有域的基数的累乘之积,即 例如:D1 ={苏致远,黄海冰,杨影}、 D2 ={男,女},则D1、D2的笛卡儿积为: D1×D2 ={ (苏致远,男),(苏致远,女) (黄海冰,男),(黄海冰,女) (杨影,男),(杨影,女) } 笛卡尔积的表现形式 如果将上例这些元组按列放置,再加上表头,可形成一个二维表,如表所示,由此可知,笛卡儿积的运算结果是一个二维表。 姓名 性别 苏致远 男 苏致远 女 黄海冰 男 黄海冰 女 杨影 男 杨影 女 关系的相关概念 定义:域D1,D2,D3,…,Dn上的关系R是笛卡儿积D1×D2×…×Dn的子集,表示为R( D1,D2,…,Dn )。 R是关系的名称,n是关系的目或度(Degree),当n=1时,关系R为一元关系;当n=2时,关系R为二元关系。 关系是笛卡儿积的有限子集,因此关系也是一个二维表,每一行对应一个元组,每一列对应一个属性。 关系的相关概念 上表中包含了一些没有意义的元组,对于学生苏致远来说,只能有一个性别,且只能属于一个院系。因此,在一系列域D1,D2, …,Dn的笛卡儿积中,会出现没有现实意义的元组,而在笛卡儿积中,只有有意义的子集才能形成关系。 姓名 性别 苏致远 男 黄海冰 男 杨影 女 关系的相关概念 在关系数据库中,将关系划分为三种类型:基本表(又称基本关系)、查询表、视图表。 (1)基本表:物理存在的表,是实际存储数据的逻辑表示。 (2)查询表:执行查询操作的结果表,是根据查 ... ...