《数据库系统教程-课后答案(施伯乐)(第三版).pdf》由会员分享,可在线阅读,更多相关《数据库系统教程-课后答案(施伯乐)(第三版).pdf(135页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-第 1 章 数据库概论1.基本内容分析11 本章的重要概念(1)DB、DBMS 和B的定义(2)数据管理技术的发展阶段人工管理阶段、文件系统阶段、数据库系统阶段和高级数据库技术阶段等各阶段的特点。()数据描述概念设计、逻辑设计和物理设计等各阶段中数据描述的术语,概念设计中实体间二元联系的描述(:,1:N,M:N)。(4)数据模型数据模型的定义,两类数据模型,逻辑模型的形式定义,ER 模型,层次模型、网状模型、关系模型和面向对象模型的数据结构以及联系的实现方式。()DB 的体系结构三级结构,两级映像,两级数据独立性,体系结构各个层次中记录的联系。()DBMSDS 的工作模式、主要功能和模块组成
2、。(7)DBSDBS 的组成,BA,DBS 的全局结构,BS 结构的分类。1.本章的重点篇幅()教材 P23 的图 124(四种逻辑数据模型的比较)。(2)教材5 的图.27(D的体系结构)。(3)教材 P28 的图 129(DBS 的工作模式)。(4)教材 P33 的图 1.3(DBS 的全局结构)。12 教材中习题的解答1.1 名词解释逻辑数据:指程序员或用户用以操作的数据形式。物理数据:指存储设备上存储的数据。联系的元数:与一个联系有关的实体集个数,称为联系的元数。1:1 联系:如果实体集 E1 中每个实体至多和实体集 E2 中的一个实体有联系,反之亦然,那么1 和 E的联系称为“1:联
3、系”。1:联系:如果实体集1 中每个实体可以与实体集 E2 中任意个(零个或多个)实体有联系,而2 中每个实体至多和 E1 中一个实体有联系,那么1 和 E的联系是“:N 联系”。M:N 联系:如果实体集 E1 中每个实体可以与实体集 E2 中任意个(零个或多个)实体有联系,反之亦然,那么1 和 E2 的联系称为“M:N 联系”。数据模型:能表示实体类型及实体间联系的模型称为“数据模型”。概念数据模型:独立于计算机系统、完全不涉及信息在计算机中的表示、反映企业组织所关心的信息结构的数据模型。结构数据模型(或逻辑数据模型):与 DBMS 有关的,直接面向 DB 的逻辑结构、从计算机观点对数据建模
4、的数据模型。层次模型:用树型(层次)结构表示实体类型及实体间联系的数据模型称为层次模型。网状模型:用有向图结构表示实体类型及实体间联系的数据模型称为网状模型。关系模型:用二维表格表达实体集的数据模型。外模式:是用户用到的那部分数据的描述。概念模式:数据库中全部数据的整体逻辑结构的描述。内模式:在物理存储方面的描述。外模式/模式映象:用于定义外模式和概念模式之间数据结构的对应性。-模式/内模式映象:用于定义概念模式和内模式之间数据结构的对应性。数据独立性:应用程序和 DB 的数据结构之间相互独立,不受影响。物理数据独立性:在 DB 的物理结构改变时,尽量不影响应用程序。逻辑数据独立性:在 DB
5、的逻辑结构改变时,尽量不影响应用程序。主语言:编写应用程序的语言(如 C 一类高级程序设计语言),称为主语言。DL:定义B 三级结构的语言,称为DL。DL:对 DB 进行查询和更新操作的语言,称为 DML。过程性语言:用户编程时,不仅需要指出“做什么”,还需要指出“怎么做”的语言。非过程性语言:用户编程时,只需指出“做什么”,不需要指出“怎么做”的语言。DD(数据字典):存放三级结构定义的 DB,称为D。D 系统:管理的软件系统,称为 DD 系统。1.2 试解释 DB、DBM和B三个概念。答:B 是长期存储在计算机内、有组织的、统一管理的相关数据的集合。DBS 是位于用户与之间的一层数据管理软
6、件,它为用户或应用程序提供访问 DB的方法。D是实现有组织地、动态地存储大量关联数据、方便多用户访问的计算机硬件、软件和数据资源组成的系统,即采用数据库技术的计算机系统。1.人工管理阶段和文件系统阶段的数据管理各有哪些特点?答:人工管理阶段主要有四个特点:数据不保存在计算机内;没有专用的软件对数据进行管理;只有程序的概念,没有文件的概念;数据面向程序。文件系统阶段主要有五个特点:数据以“文件”形式长期保存;数据的逻辑结构与物理结构有了区别;文件组织已多样化;数据面向应用;对数据的操作以记录为单位。4 文件系统阶段的数据管理有些什么缺陷?试举例说明。答:主要有三个缺陷:数据冗余;数据不一致性;数
7、据联系弱。例如学校里教务处、财务处、保健处建立的文件中都有学生详细资料,譬如联系电话,家庭住址等。这就是“数据”冗余;如果某个学生搬家,就要修改三个部门文件中的数据,否则会引起同一数据在三个部门中不一致;产生上述问题的原因是这三个部门的文件中数据没有联系。1.数据管理的数据库阶段产生的标志是哪三件事情?答:进入数据库阶段的标志是 20 世纪 60 年代末发生的三件事件:968 年 IM 公司研制的 IM系统是一个典型的层次BS;199 年美国 COASYL 组织 DBT报告,提出网状 DB的概念;1970 年美国 IB公司的.F.Codd发表论文,提出关系模型的思想。1.6数据库阶段的数据管理
8、有哪些特点?答:主要有五个特点:采用数据模型表示复杂的数据结构;有较高的数据独立性;为用户提供了方便的用户接口;提供了四个方面的数据控制功能;对数据的操作以数据项为单位,增加了系统的灵活性。7.与“文件”结构相比,“数据库”结构有些什么不同?答:与文件结构相比,数据库结构主要有下面三点不同:数据的结构化。文件由记录组成,但各文件之间缺乏联系。数据库中数据在磁盘中仍以文件形式组织,但这些文件之间有着广泛的联系。数据库的逻辑结构用数据模型来描述,整体结构化。数据模型不仅描述数据本身的特点,还要描述数据之间的联系。数据独立性。文件只有设备独立性,而数据库还具有逻辑独立性和物理独立性。访问数据的单位。
9、访问文件中的数据,以记录为单位。访问数据库中的数据,以数据项(字段)为单位,增加了系统的灵活性。1.什么是数据独立性?在数据库中有哪两级独立性?答:数据独立性是指应用程序与 DB 的数据结构之间相互独立。在物理结构改变时,尽量不-影响应用程序,称为物理数据独立性;在逻辑结构改变时,尽量不影响应用程序,称为逻辑数据独立性。1.9 分布式数据库系统和面向对象数据库系统各有哪些特点?答:DB主要有三个特点:数据物理上分布在各地,但逻辑上是一个整体;每个场地既可以执行局部应用,也可以执行全局应用;各地的计算机由数据通信网络相连接。面向对象数据系统主要有两个特点:面向对象数据模型能完整地描述现实世界的数
10、据结构,能表达数据间嵌套、递归的联系。具有面向对象技术的封装性和继承性的特点,提高了软件的可重用性。1.1逻辑记录与物理记录,逻辑文件与物理文件有些什么联系和区别?答:逻辑数据是用户用以操作的数据形式,是抽象的概念化数据。物理数据是实际存放在存储设备上的数据。逻辑数据与物理数据在结构上可以差别很大,需通过两级映象来进行数据传输和格式转换。从以上的解释可以看出,逻辑记录和逻辑文件是用户在程序中使用的记录和文件,而物理记录和物理文件是指磁盘上的记录和文件。逻辑记录、文件与物理记录、文件在结构、组成上有很大的差异,而数据管理软件就是通过三级结构两级映象来实现逻辑数据与物理数据之间的转换。11 试述R
11、 模型、层次模型、网状模型、关系模型和面向对象模型的主要特点。答:R 模型直接表示实体类型及实体间联系,与计算机系统无关,充分反映用户的需求,用户容易理解。层次模型的数据结构为树结构,记录之间联系通过指针实现,查询较快,但L 属于过程化的,操作复杂。网状模型的数据结构为有向图,记录之间联系通过指针实现,查询较快,并且容易实现 M:N联系,但 DM属于过程化的语言,编程较复杂。关系模型的数据结构为二维表格,容易为初学者理解。记录之间联系通过关键码实现。DML属于非过程化语言,编程较简单。面向对象模型能完整描述现实世界的数据结构,具有丰富的表达能力,能表达嵌套、递归的数据结构。但涉及的知识面较广,
12、用户较难理解,这种模型尚未普及。.12数据之间联系在各种结构数据模型中是怎么实现的?答:在层次、网状模型中,数据之间的联系通过指针实现的;在关系模型中,数据之间联系通过外键和主键间联系实现的;在面向对象模型中,数据之间嵌套、递归联系通过对象标识符(OID)实现的(见第 8 章)。1.13 的三级模式结构描述了什么问题?试详细解释。答:DB 的三级模式结构是对数据的三个抽象级别,分别从外部(用户)级、概念级和内部级去观察数据库。外部级是用户使用的局部数据库的逻辑结构,其描述称为外模式。概念级是B 的整体逻辑结构,其描述称为概念模式。内部级是 DB 的物理结构,其描述称为内模式。1.14 试述概念
13、模式在数据库结构中的重要地位。答:数据按外模式的描述提供给用户,按内模式的描述存储在磁盘中,而概念模式提供了连接这两级的相对稳定的中间观点,并使得两级的任何一级的改变都不受另一级的牵制。15试叙述用户、B 的三级模式结构、磁盘上的物理文件之间有些什么联系和不同?答:用户、外模式、概念模式、内模式和物理文件中的记录分别称为用户记录、外部记录、概念记录、内部记录和物理记录。-用户记录与外部记录的结构是一致的,它们之间只是数据传输问题。而外部记录、概念记录和内部记录之间的结构可能是不一致的,除了数据传输问题,还有格式转换问题。内部记录与物理记录的结构是一致的,它们之间只是数据传输问题。1.16数据独
14、立性与数据联系这两个概念有什么区别?答:数据独立性是指应用程序和B 的数据之间相互独立,不受影响,对系统的要求是“数据独立性要高”,而数据联系是指记录之间的联系,对系统的要求是“数据联系密切”。1.7 试述MS 的工作模式和主要功能。答:BM的工作模式有六点:接受应用程序的数据请求和处理请求;将用户的数据请求转换成低层指令;实现对 DB 的操作;从对 DB 的操作中接受查询结果;对查询结构进行处理;将处理结果返回给用户。DBMS 的主要功能有 DB 的定义、操纵、保护、维护和数据字典等五个功能。1.8 试叙述 DBMS 对数据库的维护功能。答:包括 DB 的数据载入、转换、转储、DB 的改组以
15、及性能监控等功能。这些功能分别由各个实用程序完成。119 从模块结构观察,DBMS 由哪些部分组成?答:BMS 由两大部分组成:查询处理器和存储管理器。(解释略)12 D有哪几部分组成?其中 DD 有什么作用?答:DS 由 DB、硬件、软件和 DBA 等四个部分组成。(解释略)在BS 中,D 是存储三级结构描述(即元数据)的 D。DB的所有工作都要以 DD中的元数据为依据,也就是所有工作都要通过 D访问 DB。1.21“元数据”与“数据”之间有些什么联系与区别?答:元数据(meada)是指“数据的数据”,即数据的描述。B 中的元数据是指三级模式结构的详细描述。数据(daa),一般是指用户使用的
16、具体值。1.22 什么是 DA?DBA 应具有什么素质?D的职责是什么?答:B是控制数据整体结构的一组人员,负责 DBS 的正常运行,承担创建、监控和维护B 结构的责任。DBA 必须具备下列 4 条素质:熟悉企业全部数据的性质和用途;对所有用户的需求有充分的了解;对系统的性能非常熟悉;兼有系统分析员和运筹学专家的品质和知识。D的主要职责有 6 点:定义模式;定义内模式;与用户的联络;定义安全性规则;定义完整性规则;B 的转储与恢复。1.23试对 DBS 的全局结构作详细解释。答:从四个方面解释:数据库用户有四类:BA,专业用户,应用程序员,终端用户。MS 的查询处理器有四个模块:ML 编译器,
17、嵌入型L 预编译器,DDL 编译器,查询运行核心程序。DB的存储管理器有四个模块:授权和完整性管理器,事务管理器,文件管理器,缓冲区管理器。磁盘存储器中有五种数据结构:数据文件,数据字典,索引文件,统计数据组织和日志。1.24使用 D的用户有哪几类?答:(略,见习题.23)-1.25DMS 的查询处理器和存储管理器各有哪些功能?答:(略,见习题 123)126磁盘存储器中有哪五类主要的数据结构?答:(略,见习题.3)1.2 根据计算机的系统结构,DBS 可分成哪四种?各有什么特点?答:根据计算机的系统结构,DBS 可分成集中式、S 式、并行式和分布式等四种集中式BS 的特点是单点数据(DB 集
18、中在一个场地)单地处理(单个 CPU)。CS 式S 的特点是计算机的功能分放在客户机和服务器上(即功能的分布)。客户机上专门实现前端处理和用户界面。服务器上完成事务处理和数据访问控制。并行式B的特点是使用多个 CPU 和多个磁盘进行并行操作。分布式 DBS 的特点是多点数据(DB 分布在多个场地)多点处理(多个 CPU)。数据具有物理分布性和逻辑整体性特点。系统中事务有本地事务(访问本地 DB)和全局事务(访问至少两个场地的 DB)之分。128 BS 能产生哪些效益?答:DBS 的应用,使计算机应用深入到社会的每个角落。其效益有以下个方面:灵活性,简易性,面向用户,有效的数据控制,加快应用开发
19、速度,维护方便,标准化。1.3 自测题1.31填空题1数据管理技术的发展,与_、_和_有密切的联系。.文件系统中的数据独立性是指_独立性。文件系统的缺陷是:_、_和_。4.就信息处理的方式而言,在文件系统阶段,_处于主导地位,_只起着服从程序设计需要的作用;而在数据库方式下,_占据了中心位置。对现实世界进行第一层抽象的模型,称为 _模型;对现实世界进行第二层抽象的模型,称为_模型。6层次模型的数据结构是_结构;网状模型的数据结构是_结构;关系模型的数据结构是_结构;面向对象模型的数据结构之间可以_。7在层次、网状模型中,用_导航数据;而在关系模型中,用_导航数据。8.数据库的三级模式结构是对_
20、的三个抽象级别。9 BM为应用程序运行时开辟的D系统缓冲区,主要用于_和_。10在数据库技术中,编写应用程序的语言仍然是 C 一类高级语言,这些语言被称为_语言。11在 DB 的三级模式结构中,数据按_的描述提供给用户,按_的描述存储在磁盘中,而_提供了连接这两级的相对稳定的中间观点,并使得两级中的任何一级的改变都不受另一级的牵制。12层次、网状的 DM属于_语言,而关系型 DL 属于_语言。13D中存放三级结构定义的 DB 称为_。14从模块结构考察,DBMS 由两大部分组成:_和_。15DA 有两个很重要的工具:_和_。16DB是_、_、_和_的集合体。17DB的全局结构体现了其_结构。1
21、8在BS 中,B 在磁盘上的基本组织形式是 _,这样可以充分利用OS _的功能。-1.根据计算机的系统结构,DS 可分成四种类型:_、_、_和_。.数据独立性使得修改 DB 结构时尽量不影响已有的_。1.32单项选择题(在备选答案中选出一个正确答案)1.在 D中,S 和 OS 之间关系是A.并发运行B相互调用CO调用S D.BMS 调用 OS2在数据库方式下,信息处理中占据中心位置的是A.磁盘B程序C数据.内存.B 的三级体系结构是对_抽象的三个级别。A.存储器B.数据C程序D.外存4.B 的三级模式结构中最接近外部存储器的是 A.子模式B.外模式 C.概念模式.内模式5DBS 具有“数据独立
22、性”特点的原因是因为在 DBS 中A.采用磁盘作为外存B.采用三级模式结构C.使用S 来访问数据D用宿主语言编写应用程序在 DS 中,“数据独立性”和“数据联系”这两个概念之间联系是 A没有必然的联系B.同时成立或不成立前者蕴涵后者D后者蕴涵前者.数据独立性是指 A.数据之间相互独立B应用程序与 DB 的结构之间相互独立C数据的逻辑结构与物理结构相互独立D数据与磁盘之间相互独立D中数据导航是指.数据之间联系B.数据之间指针联系C.从已知数据找未知数据的过程D.数据的组合方式9.用户使用 DML 语句对数据进行操作,实际上操作的是.数据库的记录B.内模式的内部记录C外模式的外部记录D数据库的内部
23、记录值10对B 中数据的操作分成两大类:A查询和更新B检索和修改C.查询和修改D插入和修改1.问答题1.试对数据管理技术三个发展阶段作一详细的比较。2.在用户访问数据库中数据的过程中,DBMS 起着什么作用?3.什么是“DB 的系统缓冲区”?.DBS 中有哪些系统软件?1.4 自测题答案1.1 填空题答案.硬件软件计算机应用2.设备3.数据冗余 数据不一致数据联系弱 4程序设计数据数据概念结构(或逻辑)6树有向图二维表嵌套和递归7指针关键码(或外键与主键)8数据9数据的传输格式的转换10.宿主语言(或主语言,host angge)11.外模式内模式概念模式12过程性非过程性1.数据字典(DD)
24、1.查询处理器存储管理器15.一系列实用程序D 系统16.数据库硬件软件DBA-17模块功能18.文件管理外存(或文件系统).集中式/S 式并行式 分布式 20.应用程序1.4.2单项选择题答案1D.C3.BD.56.A.B8C9C1.A.4.3问答题答案.答:数据管理技术三个发展阶段的详细比较见图 1.。人工管理阶段文件系统阶段数据库阶段时 间2 世纪 50 年代60 年代7年代环 外存纸带、卡片、磁带磁盘大容量磁盘境软件汇编语言3G、ODBM计算机应用科学计算进入企业管理企业管理数据的管理者 用户(程序员)文件系统DB数据的针对者 面向某一应用程序 面向某一应用面向现实世界数据的共享程度无
25、共享共享性差、冗余度大共享性高、冗余度小数据独立性无独立性,独立性差,有高度的物理独立性,数据完全依赖于程序有设备独立性一定的逻辑独立性数据的结构化无结构记录内有结构,整体结构化,整体结构性差用数据模型描述图 112答:在用户访问数据的过程中,DBMS 起着核心的作用,实现“数据三级结构转换”的工作。3.答:在应用程序运行时,DBMS 在内存为其开辟一个程序工作区,称为“B 的系统缓冲区”。这个工作区主要用于“数据的传输和格式的转换”。4.答:DBS 应包括 DBS、OS、宿主语言和应用开发支撑软件等四部分系统软件。BM是管理 DB 的软件系统,但对硬盘的管理是由 OS 实现的,因此S 中应包
26、括 DMS 和 OS 这两个主要的系统软件。编写应用程序仍然是用 C 一类高级程序设计语言,这些语言在 DBS 中称为宿主语言。为提高应用程序开发效率,需要像 Dephi、Poweruiler 一类软件开发工具(即应用开发支撑软件)开发应用程序。这些软件属于4L 范畴,可使应用系统开发生产率提高 20100 倍。第 2 章 关系模型和关系运算理论2.基本内容分析.1.1 本章重要概念(1)基本概念-关系模型,关键码(主键和外键),关系的定义和性质,三类完整性规则,R 模型到关系模型的转换规则,过程性语言与非过程性语言。(2)关系代数五个基本操作,四个组合操作,七个扩充操作。(3)关系演算元组关
27、系演算和域关系演算的原子公式、公式的定义。关系演算的安全性和等价性。(4)关系代数表达式的优化关系代数表达式的等价及等价转换规则,启化式优化算法。(5)关系逻辑谓词、原子、规则和查询,规则的安全性,用规则模拟关系代数表达式。1.2本章的重点篇幅(1)教材中56 的例 27(关系代数表达式的应用实例)。(2)教材中63 的例 2.19(元组表达式的应用实例)。()教材中 P81 的例 2.36(关系逻辑的规则表示)。2.1.3 重要内容分析1关系代数表达式的运用技巧(1)一般规则对于只涉及到选择、投影、联接的查询可用下列表达式表示:(())或者((S))对于否定的操作,一般要用差操作表示,例如“
28、检索不学2 课的学生姓名”。对于检索具有“全部”特征的操作,一般要用除法操作表示,例如“检索学习全部课程的学生姓名”。(2)“检索不学 C2 课的学生姓名”,决不能用下式表示:SNAM,AG(C#C2(SS))一定要用“差”的形式:SNME,AGE(S)-AME,E(=C2(SC))(3)“检索学习全部课程的学生学号”,要用,C#(S)#()表示,而不能写成 S(SCC#()形式。这是因为一个学生学的课程的成绩可能是不一样的。(4)对于教材 P56 的例 2.7 的个查询语句的关系代数表达式,考生一定要掌握,这是基础。2非过程性语言与过程性语言的区别编程时必须指出“干什么”及“怎么干”的语言,
29、称为过程性语言;编程时只须指出“干什么”,不必指出“怎么干”的语言,称为非过程性语言。两种语言的主要区别见图 21。过程性语言非过程性语言编程时,必须指出“怎么干”编程时,不必指出“怎么干”由用户进行数据导航由系统进行数据导航单记录处理方式集合处理方式-属于 3GL 范畴属于L 范畴C 语言,层次、网状 DM等关系 DML,软件开发工具等图 2.122 教材中习题的解答21 名词解释关系模型:用二维表格表示实体集,外键和主键表示实体间联系的数据模型,称为关系模型。关系模式:是对关系的描述,包括模式名、诸属性名、值域名和模式的主键。关系实例:关系模式具体的值,称为关系实例。属性:即字段或数据项,
30、与二维表中的列对应。属性个数,称为元数(ait)。域:属性的取值范围,称为域。元组:即记录,与二维表中的行对应。元组个数,称为基数(cadnality)。超键:能惟一标识元组的属性或属性集,称为关系的超键。候选键:不含有多余属性的超键,称为候选键。主键:正在使用的、用于标识元组的候选键,称为主键。外键:属性集是模式的主键,在模式 R 中也出现,那么称 F 是模式 R 的外键。实体完整性规则:实体的主键值不允许是空值。参照完整性规则:依赖关系中的外键值或者为空值,或者是相应参照关系中某个主键码。过程性语言:编程时必须给出获得结果的操作步骤,即指出“干什么”及“怎么干”的语言。非过程性语言:编程时
31、,只需指出需要什么信息,不必给出具体的操作步骤,即只要指出“干什么”,不必指出“怎么干”的语言。无限关系:指元组个数为无穷多个的关系。无穷验证:验证公式真假时需要进行无限次验证。2.2 在关系模型中,对关系作了哪些规范性限制?答:对关系作了一下四个限制:属性值不可分解;没有重复元组;没有行序;使用时有列序。2.3 为什么关系中的元组没有先后顺序,且不允许有重复元组?答:由于关系定义为元组的集合,而集合中的元素是没有顺序的,因此关系中的元组也就没有先后的顺序(对用户而言)。这样既能减少逻辑排序,又便于在关系数据库中引进集合论的理论。每个关系模式都有一个主键,在关系中主键值是不允许重复的。如果关系
32、中有重复元组,那么其主键值肯定相等,起不了惟一标识作用,因此关系中不允许有重复元组。24 外键值何时允许空?何时不允许空?答:在依赖表中,当外键是主键的组成部分时,外键值不允许空;否则外键值允许空。2.笛卡儿积、等值联接、自然联接三者之间有什么区别?答:笛卡尔积是一个基本操作,而等值联接和自然联接是组合操作。设关系的元数为 r,元组个数为 m;关系的元数为 s,元组个数为 n。那么,RS 的元数为 r+s,元组个数为 mn;RS 的元数也是 r+s,但元组个数小于等于 mn;ijRS 的元数小于等于 rs,元组个数也小于等于 mn;2.6 设有关系和 S:R ABC A C-237645773
33、 27 44计算S,R-S,R,3,(),B(R),R22,RS。解:SAB CR-S ABRS C76 37637352257 234 454 3R.ARBR.AS.C3,2(S)7 6 3 45546 2 322 73425732 7334 73 32 743 4354423B5(R)A22CB C RAR.BR.CS.AS.S.3 245 72 344RSA BC72327设有关系 R 和:RB SB abbcce debd Bb2))解:1(2=17(R))S1(R)(S2(S))1(1=32=46(SRR))216 设两个关系(,B)和 S(A,C)。用 nul 表示空值,分别写出等
34、价于下列表达式的元组关系演算表达式:RS;RS;R S。解:R S:|(u)(v)(u)S(v)u1=1 t1=u1 2=u2 3=v)(v)(u)(S(v)R(u)v1u1 t1=ullt2=v1 t3=v2)R S:t|()(v)(R(u)S(v)u=v1 t1u1t2=u2 t=2)(u)(v)(R(u)()u1v1 t1=t2=u2t=nul)(v)(u)(S(v)R(u)v 1 t=lt2=v1 t3=v2)R S:t|(u)(v)(R(u)S(v)u=v1 t11t2u2 t=2)(u)(v)(u)S(v)u1v1 1=1 tu2 3=null)设有三个关系:S(S#,NME,AE
35、,S)SC(S,#,CNAME)(C#,CNAME,TECHER)试用关系代数表达式表示下列查询语句:检索 LIU 老师所授课程的课程号和课程名。检索年龄大于 23 岁的男学生的学号和姓名。检索学号为3 学生所学课程的课程名与任课教师名。检索至少选修 LU 老师所授课程中一门课的女学生姓名。检索 WANG 同学不学的课程的课程号。检索至少选修两门课的学生学号。检索全部学生都选修的课程的课程号与课程名。检索选修课程包含 LIU 老师所授全部课程的学生学号。解:C#,CNAME(AME=LIU()S,SNM(AGE23EX=M(SC)CA,TNME(S#=S3(SCC)-SNAME(XFTNAME
36、=LIU(SS)C#(C)-C(SMEWANG(C))1(1=42(SCSC)C#,CNM(C(S#,C#(SC)#()))S#,C#(SC)#(NMEL(C))2.18 试用元组表达式表示第 21题中各个查询语句。解:|()(C(u)u3LIU t1=u t2=u)(u)((u)u23 u4=M t1=u1)t|(u)(v)(SC(u)C(v)1=S u=v1 t1=2=v3)(此处自然联接条件=v1不要遗漏)t|(u)(v)()(u)SC(v)C(w)3LIU u4=Fu1 v=w1 t1=)(此处自然联接条件 u1=v和 v2w1不要遗漏)t (u)()(w)(C(u)(v)C(w)v2
37、=G(1=v=w2u)t1=u1)其意思是:在关系 C 中存在一门课程,在关系 S 中存在一个 WANG 同学,在关系 SC 中要求不存在 WANG 同学学这门课程的元组。也就是要求在关系 SC 中,WAG 同学学的课程都不是这门课程(因此在元组表达式中要求全称量词)。t|(u)(v)(SC()C(v)1v1 uv2 t1=u1)|(u)(v)(w)(C(u)S(v)SC(w)w2=u1 w1v 11=u1 t2=u)其意思是:在关系 C 中找一课程号,对于关系 S 中每一个学生,都应该学这门课(即在关系SC 中存在这个学生选修这门课的元组)。t|()(SC(u)()(v)(v3LIU(w)(
38、C(w)w1=u1 w=v1))t1u)其意思是:在关系 S中找一个学号,对于关系 C 中 LIU 老师的每一门课,这个学生都学了(即在关系 SC 中存在这个学生选修这门课的元组)。由于在括号中出现“=”符号(包含有“”的语义),因此括号中的量词(w)就不能随意往左边提了。.19 试用域表达式表示第 2.17 题的各个查询语句。解:tt2|(u1 u2 u3)(C(u1 u2 u3)u3=LIU t=1t2u2)再简化成:t1 t2|(t12LIU)此处(uu2u3)是(u)(u2)(u3)的简写,下同。t1 t2|(1 uu)(S(1 u2u3u4)u32 u4=1 tu2)再简化成:t2|
39、(3)(S(t1 t2 u3M)323)(以下各题的化简略)t1t2|(u12 u3)()(C(u1 u2u3)C(vv2 v)u1s 2=vt1=v2 2)-1|(u1uuu4)(v1v)(23)(S(u12u3 u4)SC(v1vv3)C(w12 w3)w=IU F u1=v1v2=w1 t2=2)(题的域表达式,读者可以很容易写出,此处略)2.20 设关系 R 和的属性集相同,W 是的属性集的子集,试说明下列等式是否成立,并指出它们的正确表示:W(S)=W(R)W(S)W(RS)(R)W()(R)W(R)(S)答:W(-S)=W(R)-(S)是一个错误的式子。譬如只有一个元组(,2,3)
40、,S 只有一个元组(1,2,),W 为 R、S 中前两个属性。显然和 S 不满足上式。正确的式子应该是W()=W(R)-。W(R)=W(R)(S)是一个错误的式子。譬如 R 只有一个元组(1,2,3),只有一个元组(1,4),W 为、中前两个属性。显然 R 和不满足上式。此时不可以把操作往里移。W(RS)=W(R)W(S)是一个正确的式子。2.21 在教学数据库的关系 S、SC、C 中,用户有一查询语句:检索女同学选修课程的课程名和任课教师名。试写出该查询的关系代数表达式。画出查询表达式的语法树。使用启发式优化算法,对语法树进行优化,并画出优化后的语法树。解:关系代数表达式为:CNA,EACH
41、ER(SE(SCC)上述关系代数表达式的语法树如图 2.2 所示。CNAME,TEACHESEX=FCSSC图 2.2 上述的关系代数表达式为:-M,EHER(SEX=F(L(SS#=SC.S#C.#=C#(SSC)C)))此处 L 为 S、SC、C 中全部属性(公共属性只取一次)。设1=S(SEX=F(S))L2S,#(SC)则优化的关系代数表达式为:NAM,TEACHE(SCC#=C.C#(SCC(S.S#=SC.S#(L1L))C))优化后的语法树如图 23 所示。CNAME,TEACHERSC.C#=C.C#CSC.C#S.S#=SC.S#S#,C#S#SCSEX=FS图 2.2 22
42、 为什么要对关系代数表达式进行优化?有哪三条启发式规则?对优化起什么作用?答:关系代数表达式由关系代数操作组合而成。操作中,以笛卡尔积和联接操作最费时,并生成大量的中间结果。如果直接按表达式书写的顺序执行,必将花费很多时间,并生成大量的中间结果,效率较低。在执行前,由 DBMS 的查询子系统先对关系代数表达式进行优化,尽可能先执行选择和投影操作,以便减少中间结果,并节省时间。-优化工作是由 DBMS 做的,用户书写时不必关心优化一事,仍以简练的形式书写。三条启发式规则是:尽可能早执行选择操作;尽可能早执行投影操作;把笛卡尔积与附近的一连串选择和投影合并起来做。使用这三条规则,可以使计算时尽可能
43、减少中间关系的数据量。2.试解释关系逻辑中的名词:谓词:在关系逻辑中,每一个谓词符号表示了一个关系,但在规则中谓词符号类似于关系演算中的公式。外延谓词:其关系存储在数据库中的谓词称为“外延谓词”。内涵谓词:由逻辑规则定义的谓词称为“内涵谓词”。外延数据库:用“外延数据库”的缩写DB 来引用外延谓词或相应关系。内涵数据库:用“内涵数据库”的缩写 ID来引用内涵谓词或相应关系。原子:关系逻辑中的基本成分,称为原子。原子有关系原子和算术原子两种。关系原子:关系原子是一个谓词符号,带一个参数表,每个参数可以是变量或常量。用大写字母表示谓词符号,用小写字母表示变量,常量用引号括起来。算术原子:算术原子是
44、算术比较表达式。规则:规则是形为 WP1P2n的式子,规则有三部分组成:一个称为头部(head)的关系原子;符号“”,通常读作“if”;包括一个或多个原子的体(bdy),称为子目标(ugal),它可能是关系原子,也可能是算术原子。各子目标用“与”运算符 连接,并且子目标前面可以有“非”运算符,也可以没有。查询:关系逻辑中的查询是一个或多个规则的聚集,规则之间的顺序无关紧要。224 假设 R(A,B,C),S(A,B,C)和(A,B,)为三个关系。试对下列关系代数表达式写出关系逻辑的规则或规则集:RS RS R-S(RS)-T(S)(RT)a,(R),c)解:R:(a,b,c)R(a,b,c)W
45、(a,c)(a,b,)RS:W(a,b,)R(a,b,)S(a,b,c)RS:W(a,b,c)R(a,b,c)S(a,b,c)(RS)T:W(a,b,)(a,b,c)T(a,,c)W(a,,)S(,,c)T(a,b,c)(RS)(-T):W(a,b,c)R(a,b,c)S(a,b,c)T(,a,(R):W(a,b)(a,,)2 假设 R(X,Y,)为一个关系,试写出下列关系代数表达式F(R)的关系逻辑规则。其中 F 为以下条件:x=y y z x yz(xy)((xy)y)((xy xz)z)解:F 为 y,此时关系选择规则为:W(x,y,)R(x,y,)x=y F 为y yz,此时关系选择规
46、则为:-W(x,y,z)R(x,y,)y F 为y y,此时关系选择规则为:W(x,y,z)R(,,z)yW(x,y,)R(x,)zF 为(xy),即y xy,也就是=y,此时关系选择规则为:(x,y,)R(x,y,z)x=F 为((x x)yz),即(x xy)yz,即 x=y,此时关系选择规则为:W(x,,)(,y,z)=W(x,,z)(x,y,z)y F 为(x xz)yz),即(x z)yz,此时关系选择规则为:W(x,y,)(x,z)xy x(,y,)(x,y,)z2.2假设(A,B,C),S(,C,)和 T(,E)为三个关系。对每个自然联接写出单一的规则:S S T(R S)T解:
47、R S:W(,,c,d)R(,b,)S(,c,d)S T:W(b,d,e)R(,c,d)(d,e)()TW(,b,c,d,e)R(a,b,c)(,c,)T(d,e).27对下列每个规则,写出关系代数表达式来定义与规则头部相同的关系:W(x,)(x,z)(z,y)W(x,y)(x,z)Q(z,)W(,y)Q(x,z)(z,y)x解:1,4(=(Q)),4(2=(QQ))1,4(2=3 2 检索学号为 S学生所学课程的课程名与任课教师名。(,b)S(S,f)C(e,b)检索至少选修IU 老师所授课程中一门课的女学生姓名。W(f)S(,f,g,)C(e,h,i)(h,LIU)检索 WANG 同学不学
48、的课程的课程号。-()(,b,)(e,WANG,f,g)SC(e,a,h)检索至少选修两门课的学生学号。W(a)C(,,f)S(a,,)e 检索全部学生都选修的课程的课程号与课程名。W(a,b)C(a,b,)S(f,,h,i)S(,a,j)检索选修课程包含IU 老师所授全部课程的学生学号。W(a)SC(,b,)C(f,g,IU)SC(a,f,h)229 试撰写短文,对关系运算的三种形式作一评估。答:短文应提到以下几点:(1)三种关系运算的理论基础。()三种关系运算的等价性。关系代数和关系演算在关系代数的五个基本操作的基础上是等价的。关系代数和关系逻辑在表达功能方面不相适应,每个都能表达另一个不
49、能表达的内容。在作了严格的限制后,才能等价。但关系逻辑比关系代数更富于表现力。(3)三种关系运算非过程性的强弱不一样。2.自测题2.3 填空题1关系中没有行序的原因是_。.关系模型的基本数据结构是_,其数据库存储时的基本组织方式是_。4实体完整性规则是对_的约束,参照完整性规则是对_的约束。5.关系代数的理论基础是 _,关系演算的理论基础是 _,关系逻辑的理论基础是_。6.关系代数的基本操作是_。7安全运算是指不产生_和_的运算。8等式S=RS 成立的条件是_。关系的并、差、交操作,要求两个关系具有_。0一般,在关系代数运算中,当查询涉及到“否定”时,就要用到_操作;当查询涉及到“全部值”时,
50、就要用到_操作。1.如果关系 R 和做自然联接时,只把中原该舍去的元组放到新关系中,那么这种操作称为_操作。12.等式L(F(E))=(L(E)成立的条件是_。3.等式L(L2(E))=L1(E)成立的条件是_。4等式F(E1E)=E1F(2)成立的条件是_。15等式(E1E2)=F(1)F(E)成立的条件是_。6.关系逻辑中,外延谓词是指_,内涵谓词是指_。17.关系逻辑中的“安全条件”是指_。18.设有关系(,C),那么与规则 W(c,a)R(a,b,c)等价的关系代数操作是_。-9.设有关系 R(,B,C),那么与规则(,)R(,b,8)b15等价的关系代数操作是_。.设有关系 R(A,