1、第第1章章数据库概论数据库概论第第1章章数据库概论数据库概论本章是以数据库技术的基础为主要内容,它本章是以数据库技术的基础为主要内容,它介绍了数据库系统的组成、数据模型、数据库模介绍了数据库系统的组成、数据模型、数据库模式结构、数据库技术的产生与发展及数据库的体式结构、数据库技术的产生与发展及数据库的体系结构以及几个方面的知识。通过学习本章的知系结构以及几个方面的知识。通过学习本章的知识,可以对数据库技术基础知识有一个基本的了识,可以对数据库技术基础知识有一个基本的了解,认识解数据库的结构及组成等相关部分,为解,认识解数据库的结构及组成等相关部分,为进一步学习后边的相关知识打下基础。进一步学习
2、后边的相关知识打下基础。本章内容本章内容:1.1数据库系统数据库系统1.2数据库数据库管理管理系统系统1.3数据模型数据模型1.4数据库系统的模式结构数据库系统的模式结构1.5数据库技术的产生与发展数据库技术的产生与发展1.6数据库系统的体系结构数据库系统的体系结构第第1章章数据库概论数据库概论第第1章章数据库概论数据库概论11数据库系统数据库系统1.1.1数据库系统组成数据库系统组成1.数据库数据库(DataBase,简称为,简称为DB)物理数据库,数据库的主体物理数据库,数据库的主体描述数据库,数据字典系统管理描述数据库,数据字典系统管理2.硬件环境硬件环境3.软件环境软件环境4.数据库管
3、理员数据库管理员(DatabaseAdministrator,简记为简记为DBA)系统分析员系统分析员、数据库管理员数据库管理员、应用程序员应用程序员、用户用户DBA主要职责主要职责第第1章章数据库概论数据库概论1.1数据库系统数据库系统1.1.2数据库系统的效益数据库系统的效益(1)简易性。简易性。(2)灵活性。灵活性。(3)集中性。集中性。(4)高效性。高效性。(5)实用性。实用性。(6)标准化。标准化。第第1章章数据库概论数据库概论1.2数据库管理系统数据库管理系统1.2.1DBMS的主要功能的主要功能1数据库的定义功能数据库的定义功能2.数据库操纵功能数据库操纵功能4种基本操作:增删改
4、查种基本操作:增删改查3.数据库运行控制功能数据库运行控制功能4大基本功能:大基本功能:安全性、完整性、并发安全性、完整性、并发、恢复恢复4.数据库的维护功能数据库的维护功能5.数据字典数据字典数据库的数据库数据库的数据库1.2.2DBMS的组成的组成1.数据描述语言数据描述语言(DDL)(1)外模式外模式DDL(2)模式模式DDL(3)内模式内模式DDL2.数据操纵语言数据操纵语言(DML)(1)存储语句存储语句(2)控制语句控制语句(3)检索语句检索语句(4)更新语句更新语句3.数据库管理的例行程序数据库管理的例行程序(1)语言翻译处理程序。语言翻译处理程序。(2)公用程序。公用程序。(3
5、)系统运行控制程序。系统运行控制程序。第第1章章数据库概论数据库概论1.2.3DBMS的工作过程的工作过程第第1章章数据库概论数据库概论13数据模型数据模型1.3.1信息和数据信息和数据信息是对现实世界各种事物的存在特征、运信息是对现实世界各种事物的存在特征、运动形态以及不同事物间的相互联系等在人脑动形态以及不同事物间的相互联系等在人脑中的抽象反映,进而形成概念。数据是对信中的抽象反映,进而形成概念。数据是对信息的符号化表示,即用一定的符号表示信息。息的符号化表示,即用一定的符号表示信息。数据是信息的载体,而信息是数据的内涵。数据是信息的载体,而信息是数据的内涵。第第1章章数据库概论数据库概论
6、1.3.2数据模型的三个层次数据模型的三个层次(1)概念数据模型又称概念模型,是现概念数据模型又称概念模型,是现实世界到概念世界的抽象。实世界到概念世界的抽象。实体联系模实体联系模型型(Entity-RelationshipModel,简称简称E-R模模型型)。(2)逻辑数据模型又称数据模型,是概逻辑数据模型又称数据模型,是概念世界的抽象描述到信息世界的转换。念世界的抽象描述到信息世界的转换。层次模型、网状模型、关系模型。层次模型、网状模型、关系模型。3个要素:个要素:数据结构数据结构 数据操作数据操作 数据数据完整性约束完整性约束(3)物理数据模型又称物理模型物理数据模型又称物理模型,是信息
7、世是信息世界模型在机器世界的实现。界模型在机器世界的实现。第第1章章数据库概论数据库概论1.3.3信息世界中的基本概念信息世界中的基本概念1.实体实体(entity)客观存在并可互相区别的事物称为实客观存在并可互相区别的事物称为实体。体。2.属性属性(attribute)实体所具有的某一特性称为属性。实体所具有的某一特性称为属性。3.码码(key)唯一标识实体的属性或属性集称为码。唯一标识实体的属性或属性集称为码。4.域域(domain)属性的取值范围称为该属性的域。属性的取值范围称为该属性的域。5.实体型实体型(entitytype)具有相同属性的实体必然具具有相同属性的实体必然具有共同的特
8、征和性质。有共同的特征和性质。6.实体集实体集(entityset)同型实体的集合称为实体集。同型实体的集合称为实体集。7.联系联系(relationship)在现实世界中事物间的关联称为在现实世界中事物间的关联称为联系联系。1:11:nm:n第第1章章数据库概论数据库概论1.3.4概念模型的概念模型的E-R模型表示方法模型表示方法E-R图提供了表示实体型、属性和联系的方法。图提供了表示实体型、属性和联系的方法。(1)实体型实体型(集集):用矩形表示,矩形框内写明实体集:用矩形表示,矩形框内写明实体集名。名。(2)属性:用椭圆形表示,并用无向边将其与相应的属性:用椭圆形表示,并用无向边将其与相
9、应的实体集连接起来。实体集连接起来。(3)联系:用菱形表示,菱形框内写明联系名,并用联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,并且在无向边旁无向边分别与有关实体连接起来,并且在无向边旁标上联系的类型标上联系的类型(1:1、1:N或或M:N)。第第1章章数据库概论数据库概论【例【例1.1】为某仓库的管理设计一个】为某仓库的管理设计一个E-R模型。模型。仓库主要管理零件的采购和供应等事项。仓仓库主要管理零件的采购和供应等事项。仓库根据需要向外面供应商订购零件,而许多库根据需要向外面供应商订购零件,而许多工程项目需要仓库提供零件。工程项目需要仓库提供零件。E-R图的建立
10、过图的建立过程如下:程如下:(1)首先确定实体型。首先确定实体型。(2)确定实体集联系。确定实体集联系。(3)把实体型和联系组合成把实体型和联系组合成E-R图。图。(4)确定实体型和联系的属性。确定实体型和联系的属性。(5)确定实体型的码。确定实体型的码。第第1章章数据库概论数据库概论第第1章章数据库概论数据库概论【例【例1.1】为某仓库的管理设计一个】为某仓库的管理设计一个E-R模型。模型。仓库主要管理零件的采购和供应等事项。仓仓库主要管理零件的采购和供应等事项。仓库根据需要向外面供应商订购零件,而许多库根据需要向外面供应商订购零件,而许多工程项目需要仓库提供零件。工程项目需要仓库提供零件。
11、三元联系三元联系:例如上例中,如果规定某个工程项目指定例如上例中,如果规定某个工程项目指定需要某个供应商的零件需要某个供应商的零件一元联系:一元联系:例如零件之间有组合关系,一种零件可以例如零件之间有组合关系,一种零件可以是其他部件的子零件,也可以由其他零件组合而成。是其他部件的子零件,也可以由其他零件组合而成。第第1章章数据库概论数据库概论将实体及其属性与实体及其联系分别用两张将实体及其属性与实体及其联系分别用两张E-R图表示图表示第第1章章数据库概论数据库概论合并合并E-R图图表示表示第第1章章数据库概论数据库概论1.3.5数据库层次的数据模型数据库层次的数据模型数据库是根据数据模型划分的
12、,任何一个数据库是根据数据模型划分的,任何一个DBMS都是针对不都是针对不同的数据模型设计出来的。同的数据模型设计出来的。1.层次数据模型层次数据模型层次数据模型是数据库系统中最早出现的数据模型。它是用层次数据模型是数据库系统中最早出现的数据模型。它是用树型树型(层次层次)结构表示实体类型及实体间联系的数据模型称为结构表示实体类型及实体间联系的数据模型称为层次数据模型。层次数据模型。定义:定义:(1)只有一个结点没有双亲结点,称之为根结点;只有一个结点没有双亲结点,称之为根结点;(2)根以外的其他结点有且只有一个双亲结点。根以外的其他结点有且只有一个双亲结点。层次模型的特点是记录联系层次分明,
13、最适合表现客观世界层次模型的特点是记录联系层次分明,最适合表现客观世界中有严格层次关系的事物;缺点是不能直接表示事物间多对中有严格层次关系的事物;缺点是不能直接表示事物间多对多联系。多联系。第第1章章数据库概论数据库概论1.3.5数据库层次的数据模型数据库层次的数据模型2.网状数据模型网状数据模型用有向图结构表示实体类型及实体间联系的数据模型称为网状模用有向图结构表示实体类型及实体间联系的数据模型称为网状模型。型。网状数据模型的基本结构是以记录为结点的网络结构网状数据模型的基本结构是以记录为结点的网络结构。定义:定义:(1)有一个以上的结点没有双亲结点;有一个以上的结点没有双亲结点;(2)至少
14、有一个结点有多于一个的双亲结点。至少有一个结点有多于一个的双亲结点。网状数据模型数据库系统的操纵主要包括查询、插入、删除和更网状数据模型数据库系统的操纵主要包括查询、插入、删除和更新数据,无论是数据表示还是数据操纵方面已明显优于层次模型。新数据,无论是数据表示还是数据操纵方面已明显优于层次模型。20世纪世纪70年代,网状模型有许多成功的年代,网状模型有许多成功的DBMS产品,例如产品,例如Honeywell公司的公司的IDS/II,HP公司的公司的IMAGE/3000,Burroughs公公司的司的DMSII,Univac公司的公司的DMS1100,Cullinet公司的公司的IDMS,CIN
15、COM公司的公司的TOTAL等。等。第第1章章数据库概论数据库概论1.3.5数据库层次的数据模型数据库层次的数据模型3.关系数据模型关系数据模型关系模型是目前最重要的一种模型。在用户看来,一个关系模型关系模型是目前最重要的一种模型。在用户看来,一个关系模型的逻辑结构是一张二维表,它由行和列组成。的逻辑结构是一张二维表,它由行和列组成。表表1.1第第1章章数据库概论数据库概论学号姓名性别学院年龄籍贯20190111 王强男计信学院23北京市20190112 李明男软件学院22上海市20190123 张芳女理学院24天津市1.3.5数据库层次的数据模型数据库层次的数据模型3.关系数据模型关系数据模
16、型相关概念相关概念(1)关系:对应通常说的表关系:对应通常说的表(2)元组:表中的一行即为一个元组元组:表中的一行即为一个元组(3)属性:表中的一例即为一个属性属性:表中的一例即为一个属性(4)主键主键(Key):表中的某个属性组,它可以唯一确定一个元:表中的某个属性组,它可以唯一确定一个元组,组,(5)域域(Domain):属性的取值范围:属性的取值范围(6)分量:元组中的一个属性值;分量:元组中的一个属性值;(7)关系模式:对关系的描述,一般表示为:关系名关系模式:对关系的描述,一般表示为:关系名(属性属性1,属性属性2,属性,属性n)第第1章章数据库概论数据库概论1.3.5数据库层次的数
17、据模型数据库层次的数据模型3.关系数据模型关系数据模型表表1.2非二维表非二维表第第1章章数据库概论数据库概论学号姓名成绩英语数学数据库180001李明696886190007张三788073190008王五8563701.3.5数据库层次的数据模型数据库层次的数据模型4.面向对象的数据模型面向对象的数据模型面向对象数据库是面向对象的概念与数据库技术结合的产物。面向对象数据库是面向对象的概念与数据库技术结合的产物。第第1章章数据库概论数据库概论1.3.6物理模型物理模型机器世界是计算机硬件和操作系统的总称。信息世界表达的数据机器世界是计算机硬件和操作系统的总称。信息世界表达的数据模型及其上的数
18、据操纵最终要用计算机世界提供的手段和方法实模型及其上的数据操纵最终要用计算机世界提供的手段和方法实现,计算机世界对应的是物理模型表示。现,计算机世界对应的是物理模型表示。存储数据时数据描述术语:存储数据时数据描述术语:(1)位位(bit):一个二进制数。:一个二进制数。(2)字节字节(B,byte):8bit为一个字节,可以存放一个为一个字节,可以存放一个ASCII字符。字符。(3)字字(word):若干字节组成一个字。:若干字节组成一个字。(4)块块(block):是内外存交换数据的基本单位,:是内外存交换数据的基本单位,(5)桶桶(bucket):外存的逻辑单位,一个桶可以包含一个物理块或
19、:外存的逻辑单位,一个桶可以包含一个物理块或多个在空间上不一定连续的物理块。多个在空间上不一定连续的物理块。(6)卷卷(volume):一台输入输出设备所能装载的全部有用的信息,:一台输入输出设备所能装载的全部有用的信息,称为称为“卷卷”。第第1章章数据库概论数据库概论14数据库系统的模式结构数据库系统的模式结构1.4.1数据库系统的三级模式结构数据库系统的三级模式结构模式模式内模式内模式外模式外模式第第1章章数据库概论数据库概论1.4.2数据库的二级映象功能与数据独立性数据库的二级映象功能与数据独立性数据库系统在这三级模式之间提供了两层映数据库系统在这三级模式之间提供了两层映象:外模式象:外
20、模式/模式映象和模式模式映象和模式/内模式映象。正内模式映象。正是这两层映象保证了数据库系统中的数据能是这两层映象保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。够具有较高的逻辑独立性和物理独立性。第第1章章数据库概论数据库概论1.5数据库技术的产生与发展数据库技术的产生与发展1.5.1人工管理阶段人工管理阶段(20世纪世纪50年代中期以前年代中期以前)(1)数据不保存。数据不保存。(2)数据的独立性差。数据的独立性差。(3)只有程序只有程序(Program)的概念、没有文件的概念、没有文件(File)的概念。的概念。(4)数据面向应用。数据面向应用。第第1章章数据库概论数据库概
21、论第第1章章数据库概论数据库概论1.5数据库技术的产生与发展数据库技术的产生与发展1.5.2文件系统管理阶段文件系统管理阶段(20世纪世纪50年代后期年代后期-60年年代中后期代中后期)(1)可长期保存可长期保存(2)功能较简单。功能较简单。(3)文件的形式多样化文件的形式多样化(4)数据独立于程序。数据独立于程序。(5)对数据的存取以对数据的存取以记录为单位。记录为单位。1.5数据库技术的产生与发展数据库技术的产生与发展1.5.3数据库管理阶段数据库管理阶段(20世纪世纪60年代年代今今)(1)数据的结构化数据的结构化(2)数据共享数据共享(3)减少了数据的减少了数据的冗余和不一致性冗余和不
22、一致性(4)有较高的有较高的数据独立性数据独立性 (5)方便的用户接口方便的用户接口(6)数据控制功能数据控制功能第第1章章数据库概论数据库概论16数据库系统的体系结构数据库系统的体系结构1.6.1单用户数据库系统单用户数据库系统早期的最简单的数据库系统。在单用户系统中,整个数早期的最简单的数据库系统。在单用户系统中,整个数据库系统,包括应用程序、据库系统,包括应用程序、DBMS、数据,都装在一台、数据,都装在一台计算机上,由一个用户独占,不同机器之间不能共享数计算机上,由一个用户独占,不同机器之间不能共享数据。据。第第1章章数据库概论数据库概论16数据库系统的体系结构数据库系统的体系结构1.
23、6.2主从式结构的数据库系统主从式结构的数据库系统主从式结构是指一个主机带多个终端的多主从式结构是指一个主机带多个终端的多用户结构。在这种结构中,数据库系统,用户结构。在这种结构中,数据库系统,包括应用程序、包括应用程序、DBMS、数据,都集中存、数据,都集中存放在主机上,所有处理任务都由主机来完放在主机上,所有处理任务都由主机来完成,各个用户通过主机的终端并发地存储成,各个用户通过主机的终端并发地存储数据库,共享数据资源。数据库,共享数据资源。第第1章章数据库概论数据库概论16数据库系统的体系结构数据库系统的体系结构1.6.3分布式结构的数据库系统分布式结构的数据库系统分布式结构的数据库系统
24、是指数据库中的数据在逻辑上是分布式结构的数据库系统是指数据库中的数据在逻辑上是一个整体,但物理地分布在计算机网络的不同结点上。一个整体,但物理地分布在计算机网络的不同结点上。16数据库系统的体系结构数据库系统的体系结构1.6.4客户客户/服务器结构的数据库系统服务器结构的数据库系统把把DBMS功能和应用分开,网络中某个结点上的计算机专门功能和应用分开,网络中某个结点上的计算机专门用于执行用于执行DBMS功能,称为数据库服务器,简称服务器,其功能,称为数据库服务器,简称服务器,其他结点上的计算机安装他结点上的计算机安装DBMS的外围应用开发工具,支持用的外围应用开发工具,支持用户的应用,称为客户
25、机,这就是客户户的应用,称为客户机,这就是客户/服务器机构的数据库系服务器机构的数据库系统。统。第第1章章数据库概论数据库概论本章小结本章小结本章从数据库的产生与发展出发,介绍了数据库本章从数据库的产生与发展出发,介绍了数据库发展经历的三个过程,然后详细分析了数据库、发展经历的三个过程,然后详细分析了数据库、数据库管理系统、数据库系统的构成及相互关系,数据库管理系统、数据库系统的构成及相互关系,概括数据模型的分类以及特点,并从市场主流数概括数据模型的分类以及特点,并从市场主流数据库应用的角度上归纳了目前数据库的几种体系据库应用的角度上归纳了目前数据库的几种体系结构。结构。本章重点:数据模型,特
26、别是本章重点:数据模型,特别是ER模型的设计,模型的设计,这是数据库设计的基础,是联系数据库设计人员这是数据库设计的基础,是联系数据库设计人员与用户的纽带,弄清与用户的纽带,弄清ER模型的对应关系即一对模型的对应关系即一对一、一对多、多对多三种对应关系,这是一、一对多、多对多三种对应关系,这是ER模模型的关键。型的关键。第第1章章数据库概论数据库概论第第2章章关系数据库关系数据库本章内容本章内容:2.1关系数据概述关系数据概述2.2关系数据结构关系数据结构2.3关系代数关系代数2.4关系演算关系演算2.5查询优化查询优化2.6函数依赖函数依赖2.7关系的规范化关系的规范化第第2章章关系数据库关
27、系数据库关系数据库系统是目前使用最广泛的数据库关系数据库系统是目前使用最广泛的数据库系统。系统。关系数据理论是本书的难点,也是数关系数据理论是本书的难点,也是数据库技术的重要组成部分,其中涉及到了关据库技术的重要组成部分,其中涉及到了关系代数、关系演算、函数依赖、范式定理等系代数、关系演算、函数依赖、范式定理等内容,这是数据库设计以及数据库优化处理内容,这是数据库设计以及数据库优化处理的理论基础,也为如何构建数据库体系提供的理论基础,也为如何构建数据库体系提供了理论依据。了理论依据。第第2章章关系数据库关系数据库2.1.1数据结构数据结构关系模型的数据结构非常单一,只有关系,关系模型的数据结构
28、非常单一,只有关系,实体及实体之间的联系都用关系来表示。即实体及实体之间的联系都用关系来表示。即关系模型中数据的逻辑结构是一张二维表。关系模型中数据的逻辑结构是一张二维表。2.1关系数据概述关系数据概述2.1.2关系操作关系操作关系操作是高度非过程化的,用户不必指出存取关系操作是高度非过程化的,用户不必指出存取路径,也不必求助于循环、递归等来完成。关系路径,也不必求助于循环、递归等来完成。关系操作是由数据库管理系统操作是由数据库管理系统(DBMS)来完成的。来完成的。关系数据库的数据操纵语言关系数据库的数据操纵语言(DML)的语句分成查的语句分成查询语句和更新语句两大类。询语句和更新语句两大类
29、。关系查询语言根据其理论基础的不同分为两大类,关系查询语言根据其理论基础的不同分为两大类,一是关系代数语言一是关系代数语言(查询操作是以集合操作为基查询操作是以集合操作为基础的运算础的运算);另一是关系演算语言;另一是关系演算语言(查询操作是以查询操作是以谓词演算为基础的运算谓词演算为基础的运算)。关系操作方式的特点是集合操作,即操作的对象关系操作方式的特点是集合操作,即操作的对象和结果都是集合。和结果都是集合。2.1关系数据概述关系数据概述2.1.3完整性完整性1.实体完整性规则实体完整性规则实体完整性规则是指若属性实体完整性规则是指若属性A是基本关系是基本关系R的主属性,则的主属性,则属性
30、属性A不能取空值;即关系中的主码不允许取空值。不能取空值;即关系中的主码不允许取空值。一个关系数据库中实际存在的表通常对应现实世界的一个一个关系数据库中实际存在的表通常对应现实世界的一个实体集。实体集。2.参照完整性规则参照完整性规则参照完整性规则是指任一时刻,关系参照完整性规则是指任一时刻,关系R1中外部码属性中外部码属性A的的每个值,必须或者为空,或者等于另一关系每个值,必须或者为空,或者等于另一关系R2(R2和和R1可可以是相同的以是相同的)中某一元组的主码值。中某一元组的主码值。R1中的属性中的属性A和和R2中中的主码是定义在一个共同的基本域上的。即限制引用不存的主码是定义在一个共同的
31、基本域上的。即限制引用不存在的元组。在的元组。3.用户定义的完整性规则用户定义的完整性规则用户定义的完整性规则是针对某一具体应用环境给出的数用户定义的完整性规则是针对某一具体应用环境给出的数据库的约束条件。它反映某一个具体的应用所处理的数据据库的约束条件。它反映某一个具体的应用所处理的数据必须满足的语义要求。必须满足的语义要求。2.1关系数据概述关系数据概述前后目目目目录录2.2.1关系的定义及性质关系的定义及性质1.域域(Domain)域是一组具有相同数据类型的值的集合,是域是一组具有相同数据类型的值的集合,是关系中的一列取值的范围。关系中的一列取值的范围。例如:整数的集合是一个域,实数的集
32、合是例如:整数的集合是一个域,实数的集合是一个域,一个域,-1,0,1、长度大于、长度大于10个字节的字符个字节的字符串集合也是一个域。串集合也是一个域。2.2关系数据结构关系数据结构2.笛卡尔积笛卡尔积(CartesianProduct)设设D1,D2,Dn(它们可以是相同的它们可以是相同的)为任意集合,为任意集合,定义定义D1,D2,Dn的笛卡尔积为:的笛卡尔积为:D1D2n(d1,d2,dn)di Di,i=1,2,n其其中每一个元素中每一个元素(d1,d2,dn)叫做一个叫做一个n元组元组(Tuple),di叫做一个分量叫做一个分量(Component)。例如,例如,D1=0,1,D2
33、=a,b,c,则,则D1和和D2的笛卡的笛卡儿积为:儿积为:D1D2=(0,a),(0,b),(0,c),(1,a),(1,b),(1,c)注意:笛卡尔积中元组分量是有序的。注意:笛卡尔积中元组分量是有序的。2.2关系数据结构关系数据结构【例例】设域设域D1=a,b,D2=0,1,求,求D1D2。D1D2=(a,0),(a,1),(b,0),(b,1)将将D1D2用二维表表示,如下表所示。用二维表表示,如下表所示。2.2关系数据结构关系数据结构D1D2a0a1b0b1D1D2的基数为的基数为,即,即D1D2有有4个元个元组。组。【例例】设学生域设学生域D1=刘玉,张雯刘玉,张雯,班级域,班级域
34、D2=一班,二班一班,二班,班长域,班长域D3=张浩,杨洋张浩,杨洋,求,求D1D2D3的二维表表示。的二维表表示。D1D2D3的二维表表示如表的二维表表示如表2.2所示。所示。2.2关系数据结构关系数据结构D1D2D3刘玉一班张浩刘玉一班杨洋刘玉二班张浩刘玉二班杨洋张雯一班张浩张雯一班杨洋张雯二班张浩张雯二班杨洋D1D2D3的基数为的基数为,即,即D1D2D3有有8个元组。个元组。注笛卡尔积的运算规则注笛卡尔积的运算规则(1)对任意集合)对任意集合A,根据定义有,根据定义有A=,A=(表示空集)表示空集)(2)一般地说,笛卡尔积运算不满足交换律,即)一般地说,笛卡尔积运算不满足交换律,即AB
35、BA(当(当A,B,AB时)时)(3)笛卡尔积运算不满足结合律,即)笛卡尔积运算不满足结合律,即(AB)CA(BC)(当(当A,B,C时时)(4)笛卡尔积运算对并和)笛卡尔积运算对并和交运算交运算满足满足分配律分配律,即,即A(BC)=(AB)(AC)(BC)A=(BA)(CA)A(BC)=(AB)(AC)(BC)A=(BA)(CA)2.2关系数据结构关系数据结构3.关系关系(Relation)D1D2n的子集叫做域的子集叫做域D1,D2,Dn,上的关系,表示为:上的关系,表示为:R(D1,D2,Dn)这里这里R表示关系的名字,表示关系的名字,n是关系的目或度是关系的目或度(Degree)。关
36、系是笛卡尔积的任意子集,但在实际应用关系是笛卡尔积的任意子集,但在实际应用中,有一些子集是没有实际意义的。中,有一些子集是没有实际意义的。2.2关系数据结构关系数据结构4.码、主码、外部码、主属性码、主码、外部码、主属性码是关系中的某一属性或属性组(注有的码码是关系中的某一属性或属性组(注有的码是由几个属性共同决定的),若它的值唯一是由几个属性共同决定的),若它的值唯一地标识了一个元组,则称该属性或属性组为地标识了一个元组,则称该属性或属性组为候选码候选码(Candidatekey);若一个关系有多个;若一个关系有多个候选码,则选定其中一个为主码候选码,则选定其中一个为主码(Primaryke
37、y)。包含在任意一个候选码中的属性都称。包含在任意一个候选码中的属性都称为主属性;外部码为主属性;外部码(Foreignkey)是某个关系是某个关系中的一个属性中的一个属性(可以是一个普通的属性,也可可以是一个普通的属性,也可以是主码,也可以是主码的一部分以是主码,也可以是主码的一部分),这个属,这个属性在另一个关系中是主码。性在另一个关系中是主码。2.2关系数据结构关系数据结构5.关系的性质关系的性质(1)列是同质的,即每一列中的分量是同类型的列是同质的,即每一列中的分量是同类型的数据,来自同一个域。数据,来自同一个域。(2)不同的列可以出自同一个域,每一列称为属不同的列可以出自同一个域,每
38、一列称为属性,需给予不同的名称。性,需给予不同的名称。(3)列的顺序无所谓,即列的次序可以任意交换。列的顺序无所谓,即列的次序可以任意交换。(4)关系中的各个元组是不同的,即不允许有重关系中的各个元组是不同的,即不允许有重复的元组。复的元组。(5)行的顺序无所谓,即行的次序可以任意交换。行的顺序无所谓,即行的次序可以任意交换。(6)每一分量必须是不可分的数据项。每一分量必须是不可分的数据项。2.2关系数据结构关系数据结构2.2.2关系模式与关系数据库关系模式与关系数据库1.关系模式关系模式对关系的描述称为关系模式,它包括关系名、组成该关系的各个属性、对关系的描述称为关系模式,它包括关系名、组成
39、该关系的各个属性、属性域的映像、属性间的数据依赖关系等。属性域的映像常常直接说明属性域的映像、属性间的数据依赖关系等。属性域的映像常常直接说明为属性的类型、长度。为属性的类型、长度。2.关系子模式关系子模式关系子模式是用户所用到的那部分数据的描述。它除了指出用户的数据关系子模式是用户所用到的那部分数据的描述。它除了指出用户的数据外,还应指出模式与子模式之间的对应性。外,还应指出模式与子模式之间的对应性。3.存储模式存储模式关系存储时的基本组织方式是文件,由于关系模式有码,存储一个关系关系存储时的基本组织方式是文件,由于关系模式有码,存储一个关系可以用散列方法或索引方法实现。如果关系中记录数目较
40、少可以用散列方法或索引方法实现。如果关系中记录数目较少(100以内以内),也可以用堆文件方式实现。另外,还可对任意的属性集建立辅助索引。也可以用堆文件方式实现。另外,还可对任意的属性集建立辅助索引。4.关系数据库关系数据库对于关系数据库也有型和值的概念。关系数据库的型是对数据库描述,对于关系数据库也有型和值的概念。关系数据库的型是对数据库描述,包括若干域的定义以及在这些域上定义的若干关系模式。关系数据库的包括若干域的定义以及在这些域上定义的若干关系模式。关系数据库的值是这些关系模式在某一时刻对应的关系的集合。数据库的型也称为数值是这些关系模式在某一时刻对应的关系的集合。数据库的型也称为数据库的
41、内含据库的内含(Intention),数据库的值也称为数据库的外延,数据库的值也称为数据库的外延(Extension)。数据库的型是稳定的,数据库的值是随时间不断变化的,因为数据库的数据库的型是稳定的,数据库的值是随时间不断变化的,因为数据库的数据在不断变化。数据在不断变化。2.2关系数据结构关系数据结构关系代数用到的运算符号有四类:集合运算关系代数用到的运算符号有四类:集合运算符、专门的关系运算符、算术比较符和逻辑符、专门的关系运算符、算术比较符和逻辑运算符。运算符。(1)集合运算符:集合运算符:U(并并)、(交交)、(差差)、(笛卡儿积笛卡儿积)。(2)专门的关系运算符:专门的关系运算符:
42、(选择选择)、(投影投影)、IXI(连连接接)、(除除)。(3)算术比较符:算术比较符:(小于小于),(小于等于小于等于),(大于大于),(大于等于大于等于),(不等于不等于),(等等于于)。(4)逻辑运算符:逻辑运算符:(与与),(或或),(非非)。2.3关系代数关系代数2.3.1传统的集合运算传统的集合运算1.并并(Union)设关系设关系R和关系和关系S具有相同的目具有相同的目n(即两个关系都有即两个关系都有n个个属性属性),且相应的属性取自同一个域,则关系,且相应的属性取自同一个域,则关系R与关系与关系S的并由属于的并由属于R或属于或属于S的元组组成。其结果关系仍为的元组组成。其结果关
43、系仍为n目关系。记作:目关系。记作:RUS=t|tRtS2.差差(Difference)设关系设关系R和关系和关系S具有相同的目具有相同的目n,且相应的属性取自,且相应的属性取自同一个域,则关系同一个域,则关系R和和S差由属于差由属于R而不属于而不属于S的所有的所有元组组成。其结果仍为元组组成。其结果仍为n目的关系,记为目的关系,记为RS,形式,形式定义如下:定义如下:RS=t|tRtS,t是元组变量,是元组变量,R和和S的目数相同。的目数相同。2.3关系代数关系代数3.交交(Intersection)设关系设关系R和关系和关系S具有相同的目具有相同的目n,且相应的属性取自同一,且相应的属性取
44、自同一个域,则关系个域,则关系R与关系与关系S的交由既属于的交由既属于R又属于又属于S的元组组成的元组组成,其结果关系仍为其结果关系仍为n目关目关系。记作:系。记作:RS=t|tRtS;关系的交也可以由关系的差来表示,即关系的交也可以由关系的差来表示,即RS=R-(R-S)。4.广义笛卡尔积广义笛卡尔积(ExtendedCartesianproduct)设关系设关系R为为n目关系,关系目关系,关系S为为m目关系,广义笛卡目关系,广义笛卡尔积尔积RS是一个是一个(n+m)元组的集合。元组的前元组的集合。元组的前n个分个分量是量是R的一个元组,后的一个元组,后m个分量是个分量是S的一个元组。若的一
45、个元组。若R有有k1个元组,个元组,S有有k2个元组,则个元组,则RS有有k1k2个元个元组。记作:组。记作:RS=|trRtsS2.3关系代数关系代数2.3.2专门的关系运算专门的关系运算1.选择选择(Select),亦称为限制,亦称为限制(Restriction)根据某些条件对关系做水平分解,选择符合根据某些条件对关系做水平分解,选择符合条件的元组条件的元组。关系关系R关于公式关于公式F的选择运算用的选择运算用F(R)表示,表示,定义如下:定义如下:F(R)=t|tRF(t)=真真其中,其中,为选择运算符,为选择运算符,F(R)表示从表示从R中挑中挑选满足公式选满足公式F的元组所构成的关系
46、。的元组所构成的关系。2.3关系代数关系代数【例【例2.5】已知学生表】已知学生表S如如左左表所示,对学生表进行表所示,对学生表进行选择操作:列出所有女同学的基本情况。选择的条选择操作:列出所有女同学的基本情况。选择的条件是:件是:SEX=女女。用关系代数表示为:。用关系代数表示为:SEX=女女(S),也可以用属性序号表示属性名:,也可以用属性序号表示属性名:4=女女(S),结果如,结果如右右表所示。表所示。2.3关系代数关系代数SNOSNAMEAGESEXDEPTS3刘莎莎18女理学院S9王莉21女计信院S4李志鸣19男计信院S5吴康20男理学院SNOSNAMEAGESEXDEPTS3刘莎莎
47、18女理学院S9王莉21女计信院2.投影投影(Projection)投影操作是对一个关系做垂直分解,消去关系中投影操作是对一个关系做垂直分解,消去关系中某些列,并重新排列次序,删去重复元组。某些列,并重新排列次序,删去重复元组。设关系设关系R是是k元关系,元关系,R在其分量在其分量,(mk,i1,im为为1到到k之间互不相同的整数之间互不相同的整数)上的投影,上的投影,用用,.(R)表示,它是从表示,它是从R中选择若干属性列组中选择若干属性列组成的一个成的一个m元组的集合。形式定义如下:元组的集合。形式定义如下:,.,(R)=t|t=R投影之后不仅取消了某些列,而且还可能取消某投影之后不仅取消
48、了某些列,而且还可能取消某些元组。些元组。2.3关系代数关系代数【例【例2.6】对职工表如】对职工表如左左表所示进行投影操作。表所示进行投影操作。列出职工表中的所有部门,关系代数表示为:列出职工表中的所有部门,关系代数表示为:3(职工职工)或或部门部门(职工职工),结果如,结果如右右表所示。表所示。2.3关系代数关系代数职工工编号号姓名姓名部部门2113程晓清销售部2116刘红英财务部2136李小刚管理部2138蒋民采购部2141王国洋销售部部部门销售部财务部管理部采购部3连接连接连接运算是从两个关系的广义笛卡儿积中选取满足一定条连接运算是从两个关系的广义笛卡儿积中选取满足一定条件的元组。记作
49、:件的元组。记作:其中,其中,是比较运算符。是比较运算符。A和和B,分别为,分别为R和和S上度数相等且可比的属性组。上度数相等且可比的属性组。连接运算是从关系连接运算是从关系R和和S的笛卡尔积(的笛卡尔积(RS)中选取()中选取(R关关系)在系)在A属性组上的值与(属性组上的值与(S关系)在关系)在B属性组上的值满足属性组上的值满足比较关系比较关系的的元元组组。根据根据条件不同,连接运算又分为多种类型,这里只条件不同,连接运算又分为多种类型,这里只讨论常用的连接运算有:等值连接、讨论常用的连接运算有:等值连接、自然自然连连接接、外外连连接接。2.3关系代数关系代数(1)等值连接)等值连接为为“
50、=”的连接运算称为等值连接。它是从关系的连接运算称为等值连接。它是从关系R与与S的笛卡尔积中的笛卡尔积中选取选取A、B属性值相等的那些元组。属性值相等的那些元组。【例【例2.7】如】如下下表表所示所示,分别分别为关系为关系R、S、条件条件连接结果,等值连接结果,等值连接连接结果结果 RI X I SRI X I S RSBEB=E2.3关系代数关系代数AB12345623CDE123234345ABCDE123121242312534345342342323534ABCDE3442323312(2)自然连接)自然连接自然自然连连接接是一种特殊的等值连接,它要求两个关系中进行比是一种特殊的等值连