各章习题解答_第1页
各章习题解答_第2页
各章习题解答_第3页
各章习题解答_第4页
各章习题解答_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第2部分 各章习题解答及自测题第1章 数据库概论1.1 基本内容分析 本章的重要概念(1)DB、DBMS和DBS的定义(2)数据管理技术的发展阶段人工管理阶段、文件系统阶段、数据库系统阶段和高级数据库技术阶段等各阶段的特点。(3)数据描述概念设计、逻辑设计和物理设计等各阶段中数据描述的术语,概念设计中实体间二元联系的描述(1:1,1:N,M:N)。(4)数据模型数据模型的定义,两类数据模型,逻辑模型的形式定义,ER模型,层次模型、网状模型、关系模型和面向对象模型的数据结构以及联系的实现方式。(5)DB的体系结构三级结构,两级映像,两级数据独立性,体系结构各个层次中记录的联系。(6)DBMSDB

2、MS的工作模式、主要功能和模块组成。(7)DBSDBS的组成,DBA,DBS的全局结构,DBS结构的分类。本章的重点篇幅(1)教材P23的图1.24(四种逻辑数据模型的比较)。(2)教材P25的图1.27(DB的体系结构)。(3)教材P28的图1.29(DBMS的工作模式)。(4)教材P33的图1.31(DBS的全局结构)。1.2 教材中习题1的解答1.1 名词解释·逻辑数据:指程序员或用户用以操作的数据形式。·物理数据:指存储设备上存储的数据。·联系的元数:与一个联系有关的实体集个数,称为联系的元数。·1:1联系:如果实体集E1中每个实体至多和实体集E

3、2中的一个实体有联系,反之亦然,那么E1和E2的联系称为“1:1联系”。·1:N联系:如果实体集E1中每个实体可以与实体集E2中任意个(零个或多个)实体有联系,而E2中每个实体至多和E1中一个实体有联系,那么E1和E2的联系是“1:N联系”。·M:N联系:如果实体集E1中每个实体可以与实体集E2中任意个(零个或多个)实体有联系,反之亦然,那么E1和E2的联系称为“M:N联系”。·数据模型:能表示实体类型及实体间联系的模型称为“数据模型”。·概念数据模型:独立于计算机系统、完全不涉及信息在计算机中的表示、反映企业组织所关心的信息结构的数据模型。·

4、结构数据模型(或逻辑数据模型):与DBMS有关的,直接面向DB的逻辑结构、从计算机观点对数据建模的数据模型。·层次模型:用树型(层次)结构表示实体类型及实体间联系的数据模型称为层次模型。·网状模型:用有向图结构表示实体类型及实体间联系的数据模型称为网状模型。·关系模型:用二维表格表达实体集的数据模型。·外模式:是用户用到的那部分数据的描述。·概念模式:数据库中全部数据的整体逻辑结构的描述。·内模式:DB在物理存储方面的描述。·外模式/模式映象:用于定义外模式和概念模式之间数据结构的对应性。·模式/内模式映象:用于定

5、义概念模式和内模式之间数据结构的对应性。·数据独立性:应用程序和DB的数据结构之间相互独立,不受影响。·物理数据独立性:在DB的物理结构改变时,尽量不影响应用程序。·逻辑数据独立性:在DB的逻辑结构改变时,尽量不影响应用程序。·主语言:编写应用程序的语言(如C一类高级程序设计语言),称为主语言。·DDL:定义DB三级结构的语言,称为DDL。·DML:对DB进行查询和更新操作的语言,称为DML。·过程性语言:用户编程时,不仅需要指出“做什么”,还需要指出“怎么做”的语言。·非过程性语言:用户编程时,只需指出“做什么”

6、,不需要指出“怎么做”的语言。·DD(数据字典):存放三级结构定义的DB,称为DD。·DD系统:管理DD的软件系统,称为DD系统。1.2 试解释DB、DBMS和DBS三个概念。答:DB是长期存储在计算机内、有组织的、统一管理的相关数据的集合。DBMS是位于用户与OS之间的一层数据管理软件,它为用户或应用程序提供访问DB的方法。DBS是实现有组织地、动态地存储大量关联数据、方便多用户访问的计算机硬件、软件和数据资源组成的系统,即采用数据库技术的计算机系统。1.3 人工管理阶段和文件系统阶段的数据管理各有哪些特点?答:人工管理阶段主要有四个特点:数据不保存在计算机内;没有专用的

7、软件对数据进行管理;只有程序的概念,没有文件的概念;数据面向程序。文件系统阶段主要有五个特点:数据以“文件”形式长期保存;数据的逻辑结构与物理结构有了区别;文件组织已多样化;数据面向应用;对数据的操作以记录为单位。1.4 文件系统阶段的数据管理有些什么缺陷?试举例说明。答:主要有三个缺陷:数据冗余;数据不一致性;数据联系弱。例如学校里教务处、财务处、保健处建立的文件中都有学生详细资料,譬如联系电话,家庭住址等。这就是“数据”冗余;如果某个学生搬家,就要修改三个部门文件中的数据,否则会引起同一数据在三个部门中不一致;产生上述问题的原因是这三个部门的文件中数据没有联系。1.5 数据管理的数据库阶段

8、产生的标志是哪三件事情?答:进入数据库阶段的标志是20世纪60年代末发生的三件事件:·1968年IBM公司研制的IMS系统是一个典型的层次DBS;·1969年美国CODASYL组织DBTG报告,提出网状DBS的概念;·1970年美国IBM公司的E.F.Codd发表论文,提出关系模型的思想。1.6 数据库阶段的数据管理有哪些特点?答:主要有五个特点:采用数据模型表示复杂的数据结构;有较高的数据独立性;为用户提供了方便的用户接口;提供了四个方面的数据控制功能;对数据的操作以数据项为单位,增加了系统的灵活性。1.7 与“文件”结构相比,“数据库”结构有些什么不同?答:与

9、文件结构相比,数据库结构主要有下面三点不同:·数据的结构化。文件由记录组成,但各文件之间缺乏联系。数据库中数据在磁盘中仍以文件形式组织,但这些文件之间有着广泛的联系。数据库的逻辑结构用数据模型来描述,整体结构化。数据模型不仅描述数据本身的特点,还要描述数据之间的联系。·数据独立性。文件只有设备独立性,而数据库还具有逻辑独立性和物理独立性。·访问数据的单位。访问文件中的数据,以记录为单位。访问数据库中的数据,以数据项(字段)为单位,增加了系统的灵活性。1.8 什么是数据独立性?在数据库中有哪两级独立性?答:数据独立性是指应用程序与DB的数据结构之间相互独立。在物理结

10、构改变时,尽量不影响应用程序,称为物理数据独立性;在逻辑结构改变时,尽量不影响应用程序,称为逻辑数据独立性。1.9 分布式数据库系统和面向对象数据库系统各有哪些特点?答:DDBS主要有三个特点:·数据物理上分布在各地,但逻辑上是一个整体;·每个场地既可以执行局部应用,也可以执行全局应用;·各地的计算机由数据通信网络相连接。面向对象数据系统主要有两个特点:·面向对象数据模型能完整地描述现实世界的数据结构,能表达数据间嵌套、递归的联系。·具有面向对象技术的封装性和继承性的特点,提高了软件的可重用性。1.10 逻辑记录与物理记录,逻辑文件与物理文件有

11、些什么联系和区别?答:逻辑数据是用户用以操作的数据形式,是抽象的概念化数据。物理数据是实际存放在存储设备上的数据。逻辑数据与物理数据在结构上可以差别很大,需通过两级映象来进行数据传输和格式转换。从以上的解释可以看出,逻辑记录和逻辑文件是用户在程序中使用的记录和文件,而物理记录和物理文件是指磁盘上的记录和文件。逻辑记录、文件与物理记录、文件在结构、组成上有很大的差异,而数据管理软件就是通过三级结构两级映象来实现逻辑数据与物理数据之间的转换。1.11 试述ER模型、层次模型、网状模型、关系模型和面向对象模型的主要特点。答:ER模型直接表示实体类型及实体间联系,与计算机系统无关,充分反映用户的需求,

12、用户容易理解。层次模型的数据结构为树结构,记录之间联系通过指针实现,查询较快,但DML属于过程化的,操作复杂。网状模型的数据结构为有向图,记录之间联系通过指针实现,查询较快,并且容易实现M:N联系,但DML属于过程化的语言,编程较复杂。关系模型的数据结构为二维表格,容易为初学者理解。记录之间联系通过关键码实现。DML属于非过程化语言,编程较简单。面向对象模型能完整描述现实世界的数据结构,具有丰富的表达能力,能表达嵌套、递归的数据结构。但涉及的知识面较广,用户较难理解,这种模型尚未普及。1.12 数据之间联系在各种结构数据模型中是怎么实现的?答:在层次、网状模型中,数据之间的联系通过指针实现的;

13、在关系模型中,数据之间联系通过外键和主键间联系实现的;在面向对象模型中,数据之间嵌套、递归联系通过对象标识符(OID)实现的(见第8章)。1.13 DB的三级模式结构描述了什么问题?试详细解释。答:DB的三级模式结构是对数据的三个抽象级别,分别从外部(用户)级、概念级和内部级去观察数据库。外部级是用户使用的局部数据库的逻辑结构,其描述称为外模式。概念级是DB的整体逻辑结构,其描述称为概念模式。内部级是DB的物理结构,其描述称为内模式。1.14 试述概念模式在数据库结构中的重要地位。答:数据按外模式的描述提供给用户,按内模式的描述存储在磁盘中,而概念模式提供了连接这两级的相对稳定的中间观点,并使

14、得两级的任何一级的改变都不受另一级的牵制。1.15 试叙述用户、DB的三级模式结构、磁盘上的物理文件之间有些什么联系和不同?答:用户、外模式、概念模式、内模式和物理文件中的记录分别称为用户记录、外部记录、概念记录、内部记录和物理记录。用户记录与外部记录的结构是一致的,它们之间只是数据传输问题。而外部记录、概念记录和内部记录之间的结构可能是不一致的,除了数据传输问题,还有格式转换问题。内部记录与物理记录的结构是一致的,它们之间只是数据传输问题。1.16 数据独立性与数据联系这两个概念有什么区别?答:数据独立性是指应用程序和DB的数据之间相互独立,不受影响,对系统的要求是“数据独立性要高”,而数据

15、联系是指记录之间的联系,对系统的要求是“数据联系密切”。1.17 试述DBMS的工作模式和主要功能。答:DBMS的工作模式有六点:·接受应用程序的数据请求和处理请求;·将用户的数据请求转换成低层指令;·实现对DB的操作;·从对DB的操作中接受查询结果;·对查询结构进行处理;·将处理结果返回给用户。DBMS的主要功能有DB的定义、操纵、保护、维护和数据字典等五个功能。1.18 试叙述DBMS对数据库的维护功能。答:包括DB的数据载入、转换、转储、DB的改组以及性能监控等功能。这些功能分别由各个实用程序完成。1.19 从模块结构观察,DB

16、MS由哪些部分组成?答:DBMS由两大部分组成:查询处理器和存储管理器。(解释略)1.20 DBS有哪几部分组成?其中DD有什么作用?答:DBS由DB、硬件、软件和DBA等四个部分组成。(解释略)在DBS中,DD是存储三级结构描述(即元数据)的DB。DBMS的所有工作都要以DD中的元数据为依据,也就是所有工作都要通过DD访问DB。1.21“元数据”与“数据”之间有些什么联系与区别?答:元数据(metadata)是指“数据的数据”,即数据的描述。DB中的元数据是指三级模式结构的详细描述。数据(data),一般是指用户使用的具体值。1.22 什么是DBA?DBA应具有什么素质?DBA的职责是什么?

17、答:DBA是控制数据整体结构的一组人员,负责DBS的正常运行,承担创建、监控和维护DB结构的责任。DBA必须具备下列4条素质:熟悉企业全部数据的性质和用途;对所有用户的需求有充分的了解;对系统的性能非常熟悉;兼有系统分析员和运筹学专家的品质和知识。DBA的主要职责有6点:定义模式;定义内模式;与用户的联络;定义安全性规则;定义完整性规则;DB的转储与恢复。1.23 试对DBS的全局结构作详细解释。答:从四个方面解释:·数据库用户有四类:DBA,专业用户,应用程序员,终端用户。·DBMS的查询处理器有四个模块:DML编译器,嵌入型DML预编译器,DDL编译器,查询运行核心程序

18、。·DBMS的存储管理器有四个模块:授权和完整性管理器,事务管理器,文件管理器,缓冲区管理器。·磁盘存储器中有五种数据结构:数据文件,数据字典,索引文件,统计数据组织和日志。1.24 使用DBS的用户有哪几类?答:(略,见习题1.23)1.25 DBMS的查询处理器和存储管理器各有哪些功能?答:(略,见习题1.23)1.26 磁盘存储器中有哪五类主要的数据结构?答:(略,见习题1.23)1.27 根据计算机的系统结构,DBS可分成哪四种?各有什么特点? 答:根据计算机的系统结构,DBS可分成集中式、C/S式、并行式和分布式等四种集中式DBS的特点是单点数据(DB集中在一个场

19、地)单地处理(单个CPU)。C/S式DBS的特点是计算机的功能分放在客户机和服务器上(即功能的分布)。客户机上专门实现前端处理和用户界面。服务器上完成事务处理和数据访问控制。并行式DBS的特点是使用多个CPU和多个磁盘进行并行操作。分布式DBS的特点是多点数据(DB分布在多个场地)多点处理(多个CPU)。数据具有物理分布性和逻辑整体性特点。系统中事务有本地事务(访问本地DB)和全局事务(访问至少两个场地的DB)之分。1.28 DBS能产生哪些效益?答:DBS的应用,使计算机应用深入到社会的每个角落。其效益有以下7个方面:灵活性,简易性,面向用户,有效的数据控制,加快应用开发速度,维护方便,标准

20、化。1.3 自测题 填空题1数据管理技术的发展,与_、_和_有密切的联系。2文件系统中的数据独立性是指_独立性。3文件系统的缺陷是:_、_和_。4就信息处理的方式而言,在文件系统阶段,_处于主导地位,_只起着服从程序设计需要的作用;而在数据库方式下,_占据了中心位置。5对现实世界进行第一层抽象的模型,称为_模型;对现实世界进行第二层抽象的模型,称为_模型。6层次模型的数据结构是_结构;网状模型的数据结构是_结构;关系模型的数据结构是_结构;面向对象模型的数据结构之间可以_。7在层次、网状模型中,用_导航数据;而在关系模型中,用_导航数据。8数据库的三级模式结构是对_的三个抽象级别。9DBMS为

21、应用程序运行时开辟的DB系统缓冲区,主要用于_和_。10在数据库技术中,编写应用程序的语言仍然是C一类高级语言,这些语言被称为_语言。11在DB的三级模式结构中,数据按_的描述提供给用户,按_的描述存储在磁盘中,而_提供了连接这两级的相对稳定的中间观点,并使得两级中的任何一级的改变都不受另一级的牵制。12层次、网状的DML属于_语言,而关系型DML属于_语言。13DBS中存放三级结构定义的DB称为_。14从模块结构考察,DBMS由两大部分组成:_和_。15DBA有两个很重要的工具:_和_。16DBS是_、_、_和_的集合体。17DBS的全局结构体现了其_结构。18在DBS中,DB在磁盘上的基本

22、组织形式是_,这样可以充分利用OS _的功能。19根据计算机的系统结构,DBS可分成四种类型:_、_、_和_。20数据独立性使得修改DB结构时尽量不影响已有的_。 单项选择题(在备选答案中选出一个正确答案)1在DBS中,DBMS和OS之间关系是A并发运行B相互调用COS调用DBMSDDBMS调用OS2在数据库方式下,信息处理中占据中心位置的是A磁盘B.程序C.数据D.内存3DB的三级体系结构是对_抽象的三个级别。A.存储器B.数据C.程序D. 外存4DB的三级模式结构中最接近外部存储器的是A.子模式B.外模式C.概念模式D.内模式5DBS具有“数据独立性”特点的原因是因为在DBS中A.采用磁盘

23、作为外存B.采用三级模式结构C.使用OS来访问数据D.用宿主语言编写应用程序6在DBS中,“数据独立性”和“数据联系”这两个概念之间联系是A没有必然的联系B同时成立或不成立C前者蕴涵后者D后者蕴涵前者7数据独立性是指A数据之间相互独立B应用程序与DB的结构之间相互独立C数据的逻辑结构与物理结构相互独立D数据与磁盘之间相互独立8DB中数据导航是指A数据之间联系B数据之间指针联系C从已知数据找未知数据的过程D数据的组合方式9用户使用DML语句对数据进行操作,实际上操作的是A数据库的记录B内模式的内部记录C外模式的外部记录D数据库的内部记录值10对DB中数据的操作分成两大类:A查询和更新B检索和修改

24、C查询和修改D插入和修改 问答题1试对数据管理技术三个发展阶段作一详细的比较。2在用户访问数据库中数据的过程中,DBMS起着什么作用?3什么是“DB的系统缓冲区”?4DBS中有哪些系统软件?1.4 自测题答案 填空题答案1硬件 软件 计算机应用2设备3数据冗余数据不一致数据联系弱4程序设计数据数据5概念 结构(或逻辑)6树 有向图 二维表 嵌套和递归7指针 关键码(或外键与主键) 8数据9数据的传输 格式的转换10宿主语言(或主语言,host language)11外模式 内模式 概念模式12过程性非过程性13数据字典(DD)14查询处理器 存储管理器15一系列实用程序 DD系统16数据库 硬

25、件 软件 DBA17模块功能18. 文件管理外存(或文件系统)19集中式C/S式并行式分布式20应用程序 单项选择题答案1D2C3B 4D 5B6A7B8C 9C10. A 问答题答案1.答:数据管理技术三个发展阶段的详细比较见图1.1。人工管理阶段文件系统阶段数据库阶段时 间20世纪50年代60年代70年代环外存纸带、卡片、磁带磁盘大容量磁盘境软件汇编语言3GL、OSDBMS计算机应用科学计算进入企业管理企业管理数据的管理者用户(程序员)文件系统DBS数据的针对者面向某一应用程序面向某一应用面向现实世界数据的共享程度无共享共享性差、冗余度大共享性高、冗余度小数据独立性无独立性,独立性差,有高

26、度的物理独立性,数据完全依赖于程序有设备独立性一定的逻辑独立性数据的结构化无结构记录内有结构,整体结构化,整体结构性差用数据模型描述图1.12答:在用户访问数据的过程中,DBMS起着核心的作用,实现“数据三级结构转换”的工作。3答:在应用程序运行时,DBMS在内存为其开辟一个程序工作区,称为“DB的系统缓冲区”。这个工作区主要用于“数据的传输和格式的转换”。4答:DBS应包括DBMS、OS、宿主语言和应用开发支撑软件等四部分系统软件。DBMS是管理DB的软件系统,但对硬盘的管理是由OS实现的,因此DBS中应包括DBMS和OS这两个主要的系统软件。编写应用程序仍然是用C一类高级程序设计语言,这些

27、语言在DBS中称为宿主语言。为提高应用程序开发效率,需要像Dephi、PowerBuilder一类软件开发工具(即应用开发支撑软件)开发应用程序。这些软件属于4GL范畴,可使应用系统开发生产率提高20100倍。第2章 关系模型和关系运算理论2.1 基本内容分析 本章重要概念(1)基本概念关系模型,关键码(主键和外键),关系的定义和性质,三类完整性规则,ER模型到关系模型的转换规则,过程性语言与非过程性语言。(2)关系代数五个基本操作,四个组合操作,七个扩充操作。(3)关系演算元组关系演算和域关系演算的原子公式、公式的定义。关系演算的安全性和等价性。(4)关系代数表达式的优化关系代数表达式的等价

28、及等价转换规则,启化式优化算法。(5)关系逻辑谓词、原子、规则和查询,规则的安全性,用规则模拟关系代数表达式。 本章的重点篇幅(1)教材中P56的例2.7(关系代数表达式的应用实例)。(2)教材中P63的例2.19(元组表达式的应用实例)。(3)教材中P81的例2.36(关系逻辑的规则表示)。 重要内容分析1关系代数表达式的运用技巧(1)一般规则·对于只涉及到选择、投影、联接的查询可用下列表达式表示:(R×S) 或者(RS)·对于否定的操作,一般要用差操作表示,例如“检索不学C2课的学生姓名”。·对于检索具有“全部”特征的操作,一般要用除法操作表示,例如

29、“检索学习全部课程的学生姓名”。(2)“检索不学C2课的学生姓名”,决不能用下式表示: SNAME,AGE(C#'C2'(SSC)一定要用“差”的形式: SNAME,AGE(S)SNAME,AGE(C#='C2'(SSC)(3)“检索学习全部课程的学生学号”,要用S#,C#(SC)÷C#(C)表示,而不能写成S# (SC÷C#(C)形式。这是因为一个学生学的课程的成绩可能是不一样的。(4)对于教材P56的例2.7的8个查询语句的关系代数表达式,考生一定要掌握,这是基础。2非过程性语言与过程性语言的区别编程时必须指出“干什么”及“怎么干”的语言

30、,称为过程性语言;编程时只须指出“干什么”,不必指出“怎么干”的语言,称为非过程性语言。两种语言的主要区别见图2.1。过程性语言非过程性语言编程时,必须指出“怎么干”编程时,不必指出“怎么干”由用户进行数据导航由系统进行数据导航单记录处理方式集合处理方式属于3GL范畴属于4GL范畴C语言,层次、网状DML等关系DML,软件开发工具等图2.12.2 教材中习题2的解答2.1名词解释·关系模型:用二维表格表示实体集,外键和主键表示实体间联系的数据模型,称为关系模型。·关系模式:是对关系的描述,包括模式名、诸属性名、值域名和模式的主键。·关系实例:关系模式具体的值,称为

31、关系实例。·属性:即字段或数据项,与二维表中的列对应。属性个数,称为元数(arity)。·域:属性的取值范围,称为域。·元组:即记录,与二维表中的行对应。元组个数,称为基数(cardinality)。·超键:能惟一标识元组的属性或属性集,称为关系的超键。·候选键:不含有多余属性的超键,称为候选键。·主键:正在使用的、用于标识元组的候选键,称为主键。·外键:属性集F是模式S的主键,在模式R中也出现,那么称F是模式R的外键。·实体完整性规则:实体的主键值不允许是空值。·参照完整性规则:依赖关系中的外键值或者为

32、空值,或者是相应参照关系中某个主键码。·过程性语言:编程时必须给出获得结果的操作步骤,即指出“干什么”及“怎么干”的语言。·非过程性语言:编程时,只需指出需要什么信息,不必给出具体的操作步骤,即只要指出“干什么”,不必指出“怎么干”的语言。·无限关系:指元组个数为无穷多个的关系。·无穷验证:验证公式真假时需要进行无限次验证。2.2在关系模型中,对关系作了哪些规范性限制?答:对关系作了一下四个限制:属性值不可分解;没有重复元组;没有行序;使用时有列序。2.3 为什么关系中的元组没有先后顺序,且不允许有重复元组?答:由于关系定义为元组的集合,而集合中的元素是

33、没有顺序的,因此关系中的元组也就没有先后的顺序(对用户而言)。这样既能减少逻辑排序,又便于在关系数据库中引进集合论的理论。每个关系模式都有一个主键,在关系中主键值是不允许重复的。如果关系中有重复元组,那么其主键值肯定相等,起不了惟一标识作用,因此关系中不允许有重复元组。2.4 外键值何时允许空?何时不允许空?答:在依赖表中,当外键是主键的组成部分时,外键值不允许空;否则外键值允许空。2.5 笛卡儿积、等值联接、自然联接三者之间有什么区别?答:笛卡尔积是一个基本操作,而等值联接和自然联接是组合操作。设关系R的元数为r,元组个数为m;关系S的元数为s,元组个数为n。那么,R×S的元数为r

34、+s,元组个数为m×n;ij RS的元数也是r+s,但元组个数小于等于m×n;RS的元数小于等于r+s,元组个数也小于等于m×n;2.6 设有关系R和S:RABCSABC3673 4 5257723723443计算RS,R-S,RS,R×S,3,2(S),B<5(R),R 2<2 S, R S。解:RSABCRSABCRSABC367367723257257723443443345R×SR.A R.B R.C S.A S.B S.C3,2(S)CB 36 73 4554 36 77 2332 25 73 45 25 77 23 72

35、 33 45 72 37 23 44 33 45 44 37 232<2B<5(R)ABCRSR.A R.B R.C S.A S.B S.C723 72 33 45443RSABC7232.7 设有关系R和S: RABSBCabbccbeadebd B<C计算R S,R S,A=C(R×S),S R。2.8 假设关系U和V分别有m个元组和n个元组,给出下列表达式中可能的最小和最大的元组数量: UV UV UV F(U)×V (F为某个条件) L(U)V(其中L为某属性集)解:操作最小元组数最大元组数 UV0min(m,n) UVmax(m,n)m+n UV

36、0m×nF(U)×V0m×nL(U)V0m2.9 如果R是二元关系,那么下列元组表达式的结果是什么? t|( $u)(R(t) R(u) (t1 u1t2 u2)答:当R的元组数2时,R中每个元组都存在与之不相同的元组,因此表达式的结果为关系R;当R的元组数为0或1时,表达式的结果为空关系。2.10 假设R和S分别是三元和二元关系,试把表达式1,5(2=43=4(R×S)转换成等价的:汉语查询句子;元组表达式;域表达式。解: 在关系R和S的笛卡尔积中,选取第2个属性值与第4个属性值相等,或者第3个属性值与第4个属性值相等的那些元组,再取第1列和第5列组成

37、新的关系。 与(R×S)等价的元组表达式是: t | ($u) ($v) (R(u) S(v) t1=u1 t2=u2 t3=u3 t4=v1 t5=v2 )与2=4 3=4(R×S)等价的元组表达式是: t | ($u) ($v) (R(u) S(v) t1=u1 t2=u2 t3=u3 t4=v1 t5=v2 (t2=t4 t3=t4)与1,5(2=4 3=4(R×S)等价的元组表达式是: w | ($t) ($u) ($v) (R(u) S(v) t1=u1 t2=u2 t3=u3 t4=v1 t5=v2 (t2=t4 t3=t4) w1=t1 w2=t5)

38、再对上述元组表达式化简(消去t)可得: w | ($u) ($v) (R(u) S(v) (u2=v1 u3=v1) w1=u1 w2=v2)在熟练后,可以直接写出上式。 再转换成域表达式: w1 w2 | ($u1) ($u2) ($u3) ($v1) ($v2) (R(u1u2u3) S(v1v2) (u2=v1 u3=v1) w1=u1 w2=v2)再化简(消去u1,v2)可得: w1 w2 | ($u2) ($u3) ($v1) (R(w1u2u3) S(v1w2) (u2=v1 u3=v1)2.11 假设R和S都是二元关系,试把元组表达式t|R(t) ($u)(S(u) u1 t2)

39、转换成等价的:汉语查询句子; 域表达式; 关系代数表达式。 答:在关系R中选取第2列的值与关系S中某个元组的第1列值不相等的那些元组,组成新的关系。域表达式为: t1t2 | R(t1t2)($u1) ($u2) ( S(u1u2) u1t2)关系代数表达式为:211,2(23(R×S)或1,2(RS)2.12 试把域表达式 ab | R(ab) R(ba)转换成等价的:汉语查询句子;关系代数表达式;元组表达式。解: 在关系R中选取属性值交换后仍是R中元组的那些元组,组成新的关系。 关系代数表达式为:1,2(1=4 2=3(R×R)也可写成:R2,1(R) 元组表达式为:

40、t | ($u) ($v) (R(u) R(v) u1=v2 u2=v1 t1=u1 t2=u2)或: t | ($v) (R(t) R(v) t1=v2 t2=v1)2.13 有两个关系R (A, B, C)和是S(D, E, F),试把下列关系代数表达式转换成等价的元组表达式:A(R); B=17(R); R×S; A,F(C=D(R×S)解:A(R): t | ($u) ( R(u) t1=u1)B='17'(R): t | R(t) t2= '17' R×S: t | ($u) ($v) ( R(u) S(v) t1=u1

41、t2=u2 t3=u3 t4=v1 t5=v2 t6=v3)A,F(C=D(R×S): t | ($u) ($v) ( R(u) S(v) u3=v1 t1=u1 t2=v3)2.14 设有关系R(A,B,C)和S(A,B,C),试把下列关系代数表达式转换成等价的域表达式: A(R) 2=17(R) RS RS RS 1,2(R) 2,3(S)解: A(R): t1 | ($u2) ($u3) ( R(t1u2u3) 2=17(R): t1t2t3 | R(t1t2t3) t2= '17' RS: t1t2t3 | R(t1t2t3) S(t1t2t3) RS: t1

42、t2t3 | R(t1t2t3) S(t1t2t3) RS: t1t2t3 | R(t1t2t3) S(t1t2t3) 1,2(R) 2,3(S): t1t2t3 | ($u3) ($v1) | R(t1t2u3) S(v1t2t3)2.15 设有关系R(A,B)和S(A,C),试把下列域表达式转换成等价的关系代数表达式: a |($b)(R(ab) b=17) abc |(R(ab) S(ac) a |($b)(R(ab)("c)($d)(S(dc)S(ac) a |($c)(S(ac)($b1)($b2)(R(ab1)R(cb2)b1>b2)解: 1(2=17(R) RS

43、1(R)(S÷2(S) 1(1=3 2=5 4>6(S×R×R)2.16 设两个关系R (A,B )和S (A,C )。用null表示空值,分别写出等价于下列表达式的元组关系演算表达式: R S; R S; R S 。解: R S: t | ($u) ($v) (R(u) S(v) u1=v1 t1=u1 t2=u2 t3=v2) ($v) ("u) (S(v) R(u) v1u1 t1=null t2=v1 t3=v2) R S: t | ($u) ($v) (R(u) S(v) u1=v1 t1=u1 t2=u2 t3=v2) ($u) (&q

44、uot;v) (R(u) S(v) u1v1 t1=u1 t2=u2 t3=null) ($v) ("u) (S(v) R(u) v1u1 t1=null t2=v1 t3=v2) R S: t | ($u) ($v) (R(u) S(v) u1=v1 t1=u1 t2=u2 t3=v2) ($u) ("v) (R(u) S(v) u1v1 t1=u1 t2=u2 t3=null)2.17 设有三个关系:S(S#,SNAME,AGE,SEX)SC(S#,C#,CNAME)C(C#,CNAME,TEACHER)试用关系代数表达式表示下列查询语句: 检索LIU老师所授课程的课程

45、号和课程名。 检索年龄大于23岁的男学生的学号和姓名。 检索学号为S3学生所学课程的课程名与任课教师名。 检索至少选修LIU老师所授课程中一门课的女学生姓名。 检索WANG同学不学的课程的课程号。 检索至少选修两门课的学生学号。 检索全部学生都选修的课程的课程号与课程名。 检索选修课程包含LIU老师所授全部课程的学生学号。解:C#,CNAME(TNAME='LIU'(C)S#,SNAME(AGE'23' SEX='M'(SC)CNAME,TNAME(S#='S3'(SCC)SNAME(SEX='F' TNAME=&

46、#39;LIU'(SSCC)C#(C)C#(SNAME='WANG'(SSC)1(1=4 25(SC×SC)C#,CNAME(C(S#,C#(SC)÷S#(S)S#,C#(SC)÷C#(TNAME='LIU'(C)2.18 试用元组表达式表示第2.17题中各个查询语句。解: t | ($u) (C(u) u3='LIU' t1=u1 t2=u2) t | ($u) (S(u) u323 u4='M' t1=u1 t2=u2) t | ($u) ($v) (SC(u) C(v) u1='

47、S3' u2=v1 t1=v2 t2=v3)(此处自然联接条件u2=v1不要遗漏) t | ($u) ($v) ($w) (S(u) SC(v) C(w) w3='LIU' u4='F' u1=v1 v2=w1 t1=u2)(此处自然联接条件u1=v1和v2=w1不要遗漏) t | ($u) ($v) ("w) (C(u) S(v) SC(w) v2='WANG' (w1=v1 => w2u1) t1=u1)其意思是:在关系C中存在一门课程,在关系S中存在一个WANG同学,在关系SC中要求不存在WANG同学学这门课程的元组

48、。也就是要求在关系SC中,WANG同学学的课程都不是这门课程(因此在元组表达式中要求全称量词")。 t | ($u) ($v) (SC(u) SC(v) u1=v1 u2v2 t1=u1) t | ($u) ("v) ($w) (C(u) S(v) SC(w) w2=u1 w1=v1 t1=u1 t2=u2)其意思是:在关系C中找一课程号,对于关系S中每一个学生,都应该学这门课(即在关系SC中存在这个学生选修这门课的元组)。 t | ($u) (SC(u) ("v) (C(v) (v3='LIU' => ($w) (SC(w) w1=u1 w

49、2=v1) t1=u1)其意思是:在关系SC中找一个学号,对于关系C中LIU老师的每一门课,这个学生都学了(即在关系SC中存在这个学生选修这门课的元组)。由于在括号中出现“=>”符号(包含有“”的语义),因此括号中的量词($w)就不能随意往左边提了。2.19 试用域表达式表示第2.17题的各个查询语句。解: t1 t2 | ($u1 u2 u3) (C(u1 u2 u3) u3='LIU' t1=u1 t2=u2)再简化成: t1 t2 | C(t1 t2 'LIU')此处($u1 u2 u3)是($u1) ($u2) ($u3) 的简写,下同。 t1 t

50、2 | ($u1 u2 u3 u4) (S(u1 u2 u3 u4) u3>'23' u4='M' t1=u1 t2=u2)再简化成: t1 t2 | ($u3) (S(t1 t2 u3 'M') u3>'23')(以下各题的化简略) t1 t2 | ($u1 u2 u3) ($v1 v2 v3) (SC(u1 u2 u3) C(v1 v2 v3) u1='s3' u2= v1 t1=v2 t2=v3) t1 | ($u1 u2 u3 u4) ($v1 v2 v3) ($w1 w2 w3) (S(u1 u2 u3 u4) SC(v1 v2 v3) C(w1 w2 w3) w3='LIU' u4='F' u1=v1 v2=w1 t2=u2)(题的域表达式,读者可以很容易写出,此处略)2.20 设关系R和S的属性集相同,W是R的属性集的子集,试说明下列等式是否成立,并指出它们的正确表示: W(RS) =W(R)W(S) W(RS) =W(R)W(S) W(RS) =W(R)W(S)答: W(RS) =W(R)W(S)是一个错误的式子

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论