ImageVerifierCode 换一换
格式:DOC , 页数:12 ,大小:852.50KB ,
资源ID:7748310      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-7748310.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据库系统概论(第三版)课后习题答案.doc)为本站会员(kpmy5893)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

数据库系统概论(第三版)课后习题答案.doc

1、第 1 章 绪论 习题参考答案1、试述数据、数据库、数据库管理系统、数据库系统的概念。 (3、4、5 页)答:描述事物的符号记录称为数据;数据库是长期储存在计算机内的、有组织的、可共享的数据集合;数据库管理系统是位于用户与操作系统之间的一层数据管理软件; 数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统 (及其开发工具 )、应用系统、数据库管理员和用户构成。2使用数据库系统有什么好处?(12 页)答:数据库系统使信息系统从以加工数据的程序为中心转向围绕共享的数据库为中心的阶段,这样既便于数据的集中管理,又有利于应用程序的研制和维护,提高了数据的利用率和相容性,提高了

2、决策的可靠性。3试述文件系统与数据库系统的区别和联系。 (8、9、10 页)答:1)数据结构化是数据库与文件系统的根本区别。在文件系统中,相互独立的文件的记录内部是有结构的,管其记录内部已有了某些结构,但记录之间没有联系。数据库系统实现整体数据的结构化,是数据库的主要特征之一。2)在文件系统中,数据的最小存取单位是记录,粒度不能细到数据项。而在数据库系统中,存取数据的方式也很灵活,可以存取数据库中的某一个数据项、一组数据项一个记录或或一组记录。3)文件系统中的文件是为某一特定应用服务的,文件的逻辑结构对该应用程序来说是优化的,因此要想对现有的数据再增加一些新的应用会很困难,系统不容易扩充。而在

3、数据库系统中数据不再针对某一应用,而是面向全组织,具有整体的结构化。5试述数据库系统的特点。 (9、10、11 页)答:数据结构化;数据的共享性高、冗余度低、易扩充;数据独立性高;数据由 DBMS 统一管理和控制。6数据库管理系统的主要功能有哪些? (4 页)答:数据定义功能、数据操纵功能、数据库的运行管理、数据库的建立和维护功能。7试述数据模型的概念(13 页) 、数据模型的作用、数据模型的三个要素。 (14、15 页)答:数据模型(Data Model)也是一种模型,它是现实世界数据特征的抽象。作用:在数据库中用数据模型来抽象、表示和处理现实世界中的数据和信息。通俗地讲数据模型就是现实世界

4、的模拟,现有的数据库系统均是基于某种数据模型的。三个要素:数据模型由数据结构、数据操作和完整性约束三部分组成。8、概念模型的作用(15 页)答:概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言,因此概念模型一方面应该具有较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识,另一方面它还应该简单、清晰、易于用户理解。9、定义并解释概念模型中以下术语(P16 页) 。实体、实体型、实体集、属性、码、实体联系图(E-R 图) 10试给出三个实际部门的 E_R 图,要求实体型之间具有一对一,一对多

5、,多对多各种不同的联系。 一对一:学员和座位的关系.(满员)1 1一对多 : 值班医生和病人的关系.1 n多对多:m n 11试给出一个实际部门的 E-R 图,要求有三个实体型,而且三个实体型之间有多对多联系。三个实体型之间的多对多联系和三个实体型两两之间的三个多对多联系等价吗? 为什么 ? (17 页)12学校中有若干系,每个系有若干班级和教研室,每个教研室有若干教员,每个班有若干学生,每个学生选修若干课程,每门课可由若干学生选修。请用 E-R 图画出此学校的概念模型。(20 页例题)13某工厂生产若干产品,每种产品由不同的零件组成,有的零件可用在不同的产品上。这些零件由不同的原材料制成,不

6、同零件所用的材料可以相同。这些零件按所属的不同产品分别放在仓库中,原材料按照类别放在若干仓库中。请用 E-R 图画山此工厂产品,零件,材料,仓库的概念模型。 m npmr nn k座位学员值班医生 病人顾客营业员联系联系联系产品 零件原材料 仓库构成存储存储制成14试述层次模型的概念,举出三个层次模型的实例。 (22 页)答:层次模型是数据库系统中最早出现的数据模型,层次数据库系统采用层次模型作为数据的组织方式。层次模型是用树形结构来表示各类实体以及实体间的联系的数据模型。例题:15今有一个层次数据库实例,试用子女-兄弟链接法和层次序列链接法画出它的存储结构示意图。(见 P26 页图 1.23

7、)邻接法如下:(P25 页)A1 B1 C3 C8 C10 B2 C12 D2 D3 D4 C1416试述网状模型的概念,举出三个网状模型的实例。 (27 页)答: 把满足以下两个条件的基本层次联系集合称为网状模型:(1)允许一个以上的结点无双亲。(2)一个结点可以有多于一个的双亲。例: 1) 网状模型的两个结点之间有多种联系2) 学生/课程/选课的网状数据库模式:17试述网状、层次数据库的优缺点。 (26、30 页)答:网状数据模型的优点主要有:(1)能够更为直接地描述现实世界,如一个结点可以有多个双亲。(2)具有良好的性能,存取效率较高。网状数据模型的缺点主要有:(1)结构比较复杂,而且随

8、着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握。(2)其数据定义语言(DDL) 、数据操作语言(DML)复杂,用户不容易使用。(3)数据独立性较差。由于记录之间联系是通过存取路径实现的,应用程序在访问数据时必须选择适当的存取路径,因此,用户必须了解系统结构的细节,加重了编写应用程序的负担。从而影响数据独立性。层次模型的优点主要有:(1)层次数据模型本身比较简单,层次分明,便于在计算机内实现。(2)在层次数据结构中,从根结点到树中任一结点均存在一条唯一的层次路径,为有效地进行数据操纵提供条件。(3)由于层次结构规定除根结点外所有结点有且仅有一个双亲,故实体集之间的联系可用双亲

9、结点唯一地表示,并且层次模型中的基本层次联系总是从双亲记录指向子女记录,所以记录类型之间的联系名可省略。由于实体集间的联系固定,所以层次模型 DBMS 对层次结构的数据有较高的处理效率。(4)层次数据模型提供了良好的完整性支持。(5)实体间联系是固定的,且预先定义好的应用系统,采用层次模型来实现,其性能优于关系模型,不低于网状模型。可见用层次模型对具有一对多的层次关系的部门描述非常自然、直观,容易理解。这是层次数据库的突出优点。层次模型的缺点主要有:(1)现实世界中很多联系是非层次性的,如多对多联系、一个结点具有多个双亲等,层次模型表示这类联系的方法很笨拙,只能通过引父母人子女树种植砍伐养育赡

10、养入冗余数据(易产生不一致性)或创建非自然的数据组织(引入虚拟结点)来解决。(2)对插入和删除操作的限制比较多。(3)查询子女结点必须通过双亲结点。(4)由于结构严密,层次命令趋于程序化。18试述关系模型的概念,定义并解释以下术语:(P31 页)(1)关系 (2)属性 (3)域 (4)元组(5)主码 (6)分量 (7)关系模式19试述关系数据库的特点。 (32 页)20试述数据库系统三级模式结构,这种结构的优点是什么?(33、35 页)数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级构成。数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织留给 DBMS 管理,使用

11、户能逻辑地抽象地处理数据,而不必关心数据在计算机中的具体表示方式与存储方式。为了能够在内部实现这三个抽象层次的联系和转换,数据库管理系统在这三级模式之间提供了两层映象: 外模式模式映象 模式内模式映象正是这两层映象保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。22什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性?为什么数据库系统具有数据与程序的独立性? (35、36 页)当数据库的存储结构改变了(例如选用了另一种存储结构),由数据库管理员对模式内模式映象作相应改变,可以使模式保持不变,从而应用程序也不必改变。保证了程序与数据的物理独立性,简称数据的物理独立性。当需要改

12、变模式时(例如增加新的关系、新的属性、改变属性的数据类型、改变数据间的联系等),由数据库管理员对各个外模式模式的映象作相应改变,而使外模式保持不变,从而不必修改或重写应用程序改。而应用程序是依据数据的外模式编写的,保证了数据与程序的逻辑独立性。简称数据的逻辑独立性。特定的应用程序是在外模式描述的数据结构上编制的,它依赖于特定的外模式,与数据库的模式和存储结构独立。不同的应用程序有时可以共用同一个外模式。数据库的二级映象保证了数据库外模式的稳定性,从而从底层保证了应用程序的稳定性,除非应用需求本身发生变化,否则应用程序一般不需要修改。23试述数据库系统的组成。 (37 页)数据库系统一般由数据库

13、、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成24DBA 的职责是什么?(37 页)决定数据库中的信息内容和结构、决定数据库的存储结构和存取策略、定义数据的安全性要求和完整性约束条件、监控数据库的使用和运行、数据库的改进和重组重构。25系统分析员、数据库设计人员、应用程序员的职责是什么?(39 页)系统分析员负责应用系统的需求分析和规范说明,要和用户及 DBA 相结合,确定系统的硬件软件配置,并参与数据库系统的概要设计。数据库设计人员负责数据库中数据的确定、数据库各级模式的设计。数据库设计人员必须参加用户需求调查和系统分析,然后进行数据库设计。在很多情况下,数据库设计人员就

14、由数据库管理员担任。应用程序员负责设计和编写应用系统的程序模块,并进行调试和安装。第 1 章作业(P41): 习题 3、10、12、13、15第 2 章 关系数据库习题参考答案1、试述关系模型的三个组成部分。(46 页)答:关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。2、试述关系数据语言的特点和分类。 (47 页)答:关系数据语言可以分为三类:A、 关系代数语言。B、 关系演算语言:元组关系演算语言和域关系演算语言。C、 SQL:具有关系代数和关系演算双重特点的语言。这些关系数据语言的共同特点是,语言具有完备的表达能力,是非过程化的集合操作语言,功能强,能够嵌入高级语言中使

15、用。2、 定义并理解下列术语,说明它们联系与区别:(P46-50 页)(1)域,笛卡尔积,关系,元组,属性(2)主码,候选码,外部码(3)关系模式,关系,关系数据库3、 试述关系模型的完整性规则(53 页) ,在参照完整性中,为什么外部码属性也可以为空?什么情况下才可以为空?(55 页)答:实体完整性规则是指若属性 A 是基本关系 R 的主属性,则属性 A 不能取空值。(P55 页)若属性(或属性组)F 是基本关系 R 的外码,它与基本关系 S 的主码 Ks 相对应(基本关系 R 和 S 不一定是不同的关系),则对于 R 中每个元组在 F 上的值必须为:或者取空值(F 的每个属性值均为空值);

16、或者等于 S 中某个元组的主码值。即属性 F 本身不是主属性,则可以取空值,否则不能取空值。5设有一个 SPJ 数据库,包括 S,P,J,SPJ 四个关系模式:1)求供应工程 J1 零件的供应商号码 SNO: Sno( Sno=J1(SPJ))2)求供应工程 J1 零件 P1 的供应商号码 SNO: Sno( Sno=J1Pno=P1 (SPJ)3)求供应工程 J1 零件为红色的供应商号码 SNO: Sno( Pno=P1 ( COLOR=红 (P)SPJ))4)求没有使用天津供应商生产的红色零件的工程号 JNO: Jno(SPJ)- JNO( city=天津Color=红 (SSPJP)5)

17、求至少用了供应商 S1 所供应的全部零件的工程号 JNO: Jno,Pno (SPJ) Pno( Sno=S1 (SPJ) )(见 P62 页 例 6)6试述等值连接与自然连接的区别和联系。 (61 页)答:连接运算符是“=”的连接运算称为等值连接。它是从关系 R 与 S 的广义笛卡尔积中选取 A,B 属性值相等的那些元组,即等值连接为:RS=t rts| trR t sSt rA=tsBA=B自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。7关系代数的基本运算有哪些 ? 如何用这些基本运算来表示其他运算?(63 页)并、差、笛卡

18、尔积、投影和选择 5 种运算为基本的运算。其他 3 种运算,即交、连接和除,均可以用这 5 种基本运算来表达。第 3 章 SQL 语言习题参考答案1 试述 SQL 语言的特点。 (85 页)答:综合统一、高度非过程化、面向集合的操作方式、以同一种语法结构提供两种使用方式、语言简捷,易学易用。2 试述 SQL 的定义功能。 (87 页)答:SQL 的数据定义功能包括定义表、定义视图和定义索引3 用 SQL 语句建立第二章习题 5 中的四个表。S(SNO,SNAME,STATUS,CITY);P(PNO,PNAME,COLOR,WEIGHT);J(JNO,JNAME,CITY);SPJ(SNO,P

19、NO,JNO,QTY);供应商表 S 由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成:CREATE TABLE S(Sno C(2) UNIQUE,Sname C(6) ,Status N(2),City C(4)零件表 P 由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成:CREATE TABLE P(Pno C(2) UNIQUE,Pname C(6),COLOR C(2), WEIGHT I(2)工程项目表 J 由工程项目代码(JNO)、工程项目名(JNAME)、所在城市(CITY)组成

20、:CREATE TABLE J(Jno C(2) UNlQUE,JNAME C(8), CITY C(4)供应情况表 SPJ 由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成:CREATE TABLE SPJ(Sno C(2),Pno C(2),JNO C(2), QTY N(2)4针对上题中建立的四个表试用 SQL 语言完成第二章习题 5 中的查询:(1) 求供应工程 J1 零件的供应商号码 SNO:SELECT DIST SNO FROM SPJ WHERE JNO=J1(2) 求供应工程 J1 零件 P1 的供应商号码 SNO:SELECT DI

21、ST SNO FROM SPJ WHERE JNO=J1 AND PNO=P1(3) 求供应工程 J1 零件为红色的供应商号码 SNO:SELECT SNO FROM SPJ,P WHERE JNO=J1 AND SPJ.PNO=P.PNO AND COLOR=红(4) 求没有使用天津供应商生产的红色零件的工程号 JNO:SELECT DIST JNO FROM SPJ WHERE JNO NOT IN (SELE JNO FROM SPJ,P,S WHERE S.CITY=天津 AND COLOR=红 AND S.SNO=SPJ.SNO AND P.PNO=SPJ.PNO)。 (5) 求至少

22、用了供应商 S1 所供应的全部零件的工程号 JNO。由于 VFP 不允许子查询嵌套太深,将查询分为两步A、查询 S1 供应商供应的零件号SELECT DIST PNO FROM SPJ WHERE SNO=S1结果是(P1,P2)B、查询哪一个工程既使用 P1 零件又使用 P2 零件。SELECT JNO FROM SPJ WHERE PNO=P1 AND JNO IN (SELECT JNO FROM SPJ WHERE PNO=P2)5针对习题 3 中的四个表试用 SQL 语言完成以下各项操作:(1)找出所有供应商的姓名和所在城市。SELECT SNAME,CITY FROM S(2)找出

23、所有零件的名称、颜色、重量。SELECT PNAME,COLOR,WEIGHT FROM P(3)找出使用供应商 S1 所供应零件的工程号码。SELECT DIST JNO FROM SPJ WHERE SNO=S1(4)找出工程项目 J2 使用的各种零件的名称及其数量。SELECT PNAME,QTY FROM SPJ,P WHERE P.PNO=SPJ.PNO AND SPJ.JNO=J2(5)找出上海厂商供应的所有零件号码。SELECT PNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND CITY=上海(6)出使用上海产的零件的工程名称。SELECT JNAME

24、 FROM SPJ,S,JWHERE S.SNO=SPJ.SNO AND S.CITY=上海 AND J.JNO=SPJ.JNO(7)找出没有使用天津产的零件的工程号码。注意: SELECT DISP JNO FROM SPJ WHERE JNO NOT IN (SELECT DIST JNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND S.CITY=天津) 适用于JNO 是唯一或不唯一的情况.注意: SELECT DIST JNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND S.CITY天津适用于 JNO 是唯一的情况(8)把全部红色零件的

25、颜色改成蓝色。UPDATE P SET COLOR=蓝 WHERE COLOR=红(9)由 S5 供给 J4 的零件 P6 改为由 S3 供应。UPDATE SPJ SET SNO=S3 WHERE SNO=S5 AND JNO=J4 AND PNO=P6(10)从供应商关系中删除供应商号是 S2 的记录,并从供应情况关系中删除相应的记录。A、DELETE FROM S WHERE SNO=S2B、DELETE FROM SPJ WHERE SNO=S2(11)请将(S2,J6,P4,200)插入供应情况关系。INSERT INTO SPJ VALUES(S2 , J6, P4,200)6什么

26、是基本表?什么是视图?两者的区别和联系是什么?(87 页)基本表是本身独立存在的表,在 SQL 中一个关系就对应一个表。一个(或多个)基本表对应一个存储文件,一个表可以带若干索引,索引也存放在存储文件中。视图是从一个或几个基本表导出的表。它本身不独立存储在数据库中,即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中,因此视图是一个虚表。视图在概念上与基本表等同,用户可以在视图上再定义视图。7试述视图的优点。 (128 页)答:视图能够简化用户的操作、视图使用户能以多种角度看待同一数据、视图对重构数据库提供了一定程度的逻辑独立性、视图能够对机密数据提供安全保护。

27、8所有的视图是否都可以更新?为什么?(127 页)答:并不是所有的视图都是可更新的,因为有些视图的更新不能唯一地有意义地转换成对相应基本表的更新。9哪类视图是可以更新的,哪类视图是不可更新的? 各举一例说明。 (127 页)行列子集视图是可更新的。除行列子集视图外,还有些视图理论上是可更新的,但它们的确切特征还是尚待研究的课题。还有些视图从理论上不可更新的。10试述某个你热悉的实际系统中对视图更新的规定。 (VFP)11请为三建工程项目建立一个供应情况的视图,包括供应商代码(SNO)、零件代码(PNO)、供应数量(QTY)。CREATE VIEW VSP AS SELECT SNO,PNO,Q

28、TY FROM SPJ,J WHERE SPJ.JNO=J.JNO AND J.JNAME=三 建针对该视图 VSP 完成下列查询:(1)找出三建工程项目使用的各种零件代码及其数量。SELECT DIST PNO,QTY FROM VSP(2)找出供应商 S1 的供应情况。SELECT DIST * FROM VSP WHERE SNO=S112针对习题 3 建立的表,用 SQL 语言完成以下各项操作:(1) 把对表 S 的 INSERT 权限授予用户张勇,并允许他再将此权限授予其他用户。GRANT INSERT ON TABLE S TO 张勇 WITH GRANT OPTION(2) 把查

29、询 SPJ 表和修改 QTY 属性的权限授给用户李天明。GRANT SELECT,UPDATE(QTY) ON TABLE SPJ TO 李天明* 以 下 选 作 *13在嵌入式 SQL 中是如何区分 SQL 语句和主语言语句的? (133 页)在嵌入式 SQL 中,为了能够区分 SQL 语句与主语言语句,所有 SQL 语句都必须加前缀 EXEC SQL。(VFP 例外)14在嵌入式 SQL 中是如何解决数据库工作单元与源程序工作单元之间通讯的?(134 页)(1)向主语言传递 SQL 语句的执行状态信息,使主语言能够据此信息控制程序流程,主要用 SQL 通信区(SQL Communicati

30、on Area,简称SQLCA)实现。(2)主语言向 SQL 语句提供参数,主要用主变量(Host Variable)实现。(3)将 SQL 语句查询数据库的结果交主语言进一步处理,主要用主变量和游标(Cursor)实现。15在嵌入式 SQL 中是如何协调 SQL 语言的集合处理方式和主语言的单记录处理方式的? (135 页)答:游标是用于协调 SQL 语言的集合处理方式和主语言的单记录处理方式。 SQL 语言与主语言具有不同的数据处理方式。SQL 语言是面向集合的,一条 SQL 语句原则上可以产生或处理多条记录。主语言是面向记录的,一组主变量一次只能存放一条记录。所以仅使用主变量并不能完全满

31、足 SQL 语句向应用程序输出数据的要求,为此嵌入式 SQL 引入了游标的概念,用游标来协调这两种不同的处理方式。第 4 章 关系系统及其优化习题参考答案1、给出各类关系系统的定义:最小关系的系统;关系完备的系统;全关系型的关系系统。 (P153 页)答:(最小)关系系统:仅支持关系数据结构和三种关系操作。许多微机关系数据库系统如 FoxBASE,FoxPro 等就属于这一类。关系完备的系统:这类系统支持关系数据结构和所有的关系代数操作(功能上与关系代数等价)。20 世纪 90 年代初的许多关系数据库管理系统属于这一类。全关系系统:这类系统支持关系模型的所有特征。即不仅是关系上完备的而且支持数

32、据结构中域的概念,支持实体完整性和参照完整性。目前,大多数关系系统已不同程度上接近或达到了这个目标。3、试述查询优化在关系数据库系统中的重要性和可能性。 (P157 页)答:查询优化在关系数据库系统中有着非常重要的地位。关系数据库系统和非过程化的 SQL 语言能够取得巨大的成功,关键是得益于查询优化技术的发展。关系查询优化是影响 RDBMS 性能的关键因素。优化对关系系统来说既是挑战又是机遇。所谓挑战是指关系系统为了达到用户可接受的性能必须进行查询优化。由于关系表达式的语义级别很高,使关系系统可以从关系表达式中分析查询语义,提供了执行查询优化的可能性。这就为关系系统在性能上接近甚至超过非关系系

33、统提供了机遇。4对学生-课程数据库有如下的查询:查询信息系学生选修的所有课程名称: SELECT Cname FROM St,Course,SC WHERE St.Sno=SC.Sno AND SC.Cno=Course.Cno AND St.Sdept=IS试画出用关系代数表示的语法树,并用关系代数表达式优化算法对原始的语法树进行优化处理,画出优化后的标准语法树。答:关系代数表达式如下:cname(St.sdept=IS (st.sno=sc.Sno(sc.Cno=Course.Cno(STSCCOURSE)用关系代数表示的语法树如下左图:cname cnameSt.sdept=IS So=

34、ost.sno=sc.Sno scCno=Course.Cno St.sno=sc.sno cno,cname Course Course sno sno,cnoSt Sc St.sdept=IS Sc St用关系代数表达式优化算法对原关系代数表达式进行优化,优化后的关系代数表达式如下:cname(o=o(St.sno=sc.sno(sno(St.sdept=IS(ST)sno,cno(SC) cno,cname(Course)优化处理后的标准语法树如上右图。5 试述查询优化的一般准则。(P161-162 页)答:1)选择运算应尽可能先做。2)在执行连接前对关系适当地预处理。3)把投影运算和选

35、择运算同时进行。4)把投影同其前或其后的双目运算结合起来。5)把某些选择同在它前面要执行的笛卡尔积结合起来成为一个连接运算。6)找出公共子表达式。6 试述查询优化的一般步骤。 ( 165 页)答: (1)把查询转换成某种内部表示。(2)把语法树转换成标准(优化)形式。(3)选择低层的存取路径。(4)生成查询计划,选择代价最小的。第 5 章 关系数据理论习题参考答案规范化定义小结:定义 1:设 R(U)是属性集 U 上的关系模式。X,Y 是属性集 U 的子集。若对于 R(U)的任意一个可能的关系 r,r 中不可能存在两个元组在 X 上的属性值相等,而在 Y 上的属性值不等,则称 X 函数确定 Y

36、 或 Y 函数依赖于 X,记作 XY。 (即只要 X 上的属性值相等,Y 上的值一定相等。 )术语和记号:(P173 页) XY,但 Y 不是 X 的子集,则称 XY 是非平凡的函数依赖。若不特别声明,总是讨论非平凡的函数依赖。 XY,但 Y 是 X 的子集,则称 XY 是平凡的函数依赖。 若 XY,则 X 叫做决定因素(Determinant)。 若 XY,YX,则记作 XY。 若 Y 不函数依赖于 X,则记作 X Y。定义 2:在 R(U)中,如果 XY,并且对于 X 的任何一个真子集 X,都有 X Y,则称 Y 对 X 完全函数依赖,记作:FXY若 XY,但 Y 不完全函数依赖于 X,则

37、称 Y 对 X 部分函数依赖,记作:PXY定义 3:若关系模式 R 的每一个分量是不可再分的数据项,则关系模式 R 属于第一范式(1NF)。定义 4:若关系模式 R1NF,且每一个非主属性完全函数依赖于码,则关系模式 R2NF 。 (即 1NF 消除了非主属性对码的部分函数依赖则成为 2NF) 。定义 5:关系模式 R 中若不存在这样的码 X、属性组 Y 及非主属性 Z(Z 不是 Y 的子集)使得 XY,Y X,Y Z 成立,则称R3NF。定义 6:关系模式 R1NF 。若 XY 且 Y 不是 X 的子集时,X 必含有码,则 RBCNF。定义 7:关系模式 R1NF,如果对于 R 的每个非平凡

38、多值依赖 XY(Y 不是 X 的子集,Z=U-X-Y 不为空),X 都含有码,则称R4NF。习题如下:2建立一个关于系、学生、班级、学会等诸信息的关系数据库。学生:学号、姓名、出生年月、系名、班号、宿舍区。班级:班号、专业名、系名、人数、入校年份。系:系名、系号、系办公地点、人数。学会:学会名、成立年份、办公地点、人数。语义如下:一个系有若干专业,每个专业每年只招一个班,每个班有若干学生。一个系的学生住在同一宿舍区。每个学生可参加若干学会,每个学会有若干学生。学生参加某学会有一个入会年份。请给出关系模式,写出每个关系模式的极小函数依赖集,指出是否存在传递函数依赖,对于函数依赖左部是多属性的情况

39、讨论函数依赖是完全函数依赖,还是部分函数依赖。指出各关系模式的候选码、外部码,有没有全码存在?解:(1)关系模式如下:学生:S(Sno,Sname,Sbirth,Dept,Class,Rno)班级:C(Class,Pname,Dept,Cnum,Cyear)系:D(Dept,Dno,Office,Dnum)学会:M(Mname,Myear,Maddr,Mnum)(2)每个关系模式的最小函数依赖集如下: A、学生 S (Sno,Sname,Sbirth,Dept,Class,Rno) 的最小函数依赖集如下:SnoSname,Sno Sbirth,Sno Class,Class Dept,DEPT

40、Rno传递依赖如下:由于 SnoDept,而 DeptSno ,DeptRno(宿舍区)所以 Sno 与 Rno 之间存在着传递函数依赖。由于 ClassDept,Dept Class,DeptRno所以 Class 与 Rno 之间存在着传递函数依赖。由于 SnoClass,Class Sno,ClassDept所以 Sno 与 Dept 之间存在着传递函数依赖。B、班级 C(Class,Pname,Dept,Cnum,Cyear)的最小函数依赖集如下:ClassPname,Class Cnum,ClassCyear,Pname Dept.由于 ClassPname,PnameClass,P

41、nameDept所以 C1ass 与 Dept 之间存在着传递函数依赖。C、系 D(Dept,Dno,Office,Dnum)的最小函数依赖集如下:DeptDno,Dno Dept,DnoOffice,Dno Dnum根据上述函数依赖可知,Dept 与 Office,Dept 与 Dnum 之间不存在传递依赖。D、学会 M(Mname,Myear,Maddr,Mnum)的最小函数依赖集如下:MnameMyear,Mname Maddr,MnameMnum该模式不存在传递依赖。(3)各关系模式的候选码、外部码,全码如下:A、学生 S 候选码:Sno;外部码:Dept、Class;无全码B、班级

42、C 候选码:Class;外部码:Dept;无全码C、系 D 候选码:Dept 或 Dno;无外部码;无全码D、学会 M 候选码:Mname;无外部码;无全码12下面的结论哪些是正确的? 哪些是错误的? 对于错误的请给一个反例说明之。(1) 任何一个二目关系是属于 3NF。答:正确。因为关系模式中只有两个属性,所以无传递。(2) 任何一个二目关系是属于 BCNF.答:正确。按 BCNF 的定义,若 XY,且 Y 不是 X 的子集时,每个决定因素都包含码,对于二目关系决定因素必然包含码。详细证明如下:(任何二元关系模式必定是 BCNF) 。证明:设 R 为一个二目关系 R(A1,A2),则属性 A

43、1 和 A2 之间可能存在以下几种依赖关系:A、A1 A2,但 A2A1,则关系 R 的码为 A1,决定因素都包含码,所以,R 是 BCNF。B、A1 A2,A2A1,则关系 R 的码为 A2,所以决定因素都包含码,R 是 BCNF。包含码。R 是 BCNF。C、R 的码为(A1,A2)(即 A1 A2,A2 A1) ,决定因素都(3)任何一个二目关系是属于 4NF.答:正确。因为只有两个属性,所以无非平凡的多值依赖。第 5 章 关系数据理论习题参考答案(补充)1 已知学生关系模式S(Sno,Sname,SD,Sdname,Course,Grade)其中:Sno 学号、Sname 姓名、SD

44、系名、Sdname 系主任名、Course 课程、Grade 成绩。(1)写出关系模式 S 的基本函数依赖和主码。答: 关系模式 S 的基本函数依赖如下:SnoSname,SDSdname,SnoSD,(Sno,Course) Grade关系模式 S 的码为:(Sno,Course) 。(2)原关系模式 S 为几范式?为什么?分解成高一级范式,并说明为什么?答: 原关系模式 S 是属于 1NF 的,码为(Sno,Course),非主属性中的成绩完全依赖于码,而其它非主属性对码的函数依赖为部分函数依赖,所以不属于 2NF。消除非主属性对码的函数依赖为部分函数依赖,将关系模式分解成 2NF 如下:

45、S1(Sno,Sname,SD,Sdname)、S2(Sno,Course,Grade)(3)将关系模式分解成 3NF,并说明为什么?答: 将上述关系模式分解成 3NF 如下:关系模式 S1 中存在 SnoSD,SDSdname,即非主属性 Sdname 传递依赖于 Sno,所以 S1 不是 3NF。进一步分解如下:S11(Sno,Sname,SD) S12(SD,Sdname)分解后的关系模式 S11、S12 满足 3NF。对关系模式 S2 不存在非主属性对码的传递依赖,故属于 3NF。所以,原模式 S(Sno,Sname,SD,Sdname,Course,Grade)按如下分解满足 3NF

46、。S11(Sno,Sname,SD) S12(SD,Sdname)S2(Sno,Course,Grade)2、设有如图所示的学生关系 S学号 学生名 年龄 性别 系号 系名100001200001200002300001300004王 婧张 露黎明远王 烨张 露1819202120女女男男女12233通信工程电子工程电子工程计算机计算机300005 潘 建 19 男 3 计算机试问 S 是否属于 3NF? 为什么?若不是,它属于几范式? 并将其规范化为 3NF.解:S 不属于 3NF,它属于 2NF。S 的候选关键字为“学号” 。依赖关系:学号系号, 系号系名,系号 学号所以: 学号系名,即存

47、在非主属性系名对候选关键字“学号”的传递依赖,S 不是 3NF.在 S 中所有非主属性均依赖于码学号,所以 S 是 2NF。将 S 分解成: S1(学号,学生名,年龄,性别,系号)、S2(系号,系名),分解后的Sl 与 S2 如图所示: 关系模式 S1 如下: 学号 学生名 年龄 性别 系号100001200001200002300001300004300005王 婧张 露黎明远王 烨张 霹潘 建181920212019女女男男女男122333关系模式 S2 如下:系号 系名123通信工程电子工程计算机关系模式 S1、S2 上无传递依赖,它们是 3NF。3.设有如下关系 R课 程 名 教 师

48、名 教 师 地 址C1C2C3C4马 千 里于 得 水余 快于 得 水D1D1D2D1(1) 它为第几范式? 为什么?解:它是 2NF。因为 R 的候选关键字为“课程名” 。依赖关系: 课程名教师名,教师名 课程名,教师名教师地址,所以 课程名教师地址。即存在非主属性“教师地址”对候选关键字课程名的传递函数,因此 R 不是 3NF。但:因为不存在非主属性对候选关键字的部分函数依赖,所以 R 是 2NF。(2)是否存在删除操作异常?若存在,则说明是在什么情况下发生的?解: 存在。当删除某门课程时会删除不该删除的教师的有关信息。(3)将它分解为高一级范式,分解后的关系是如何解决分解前可能存在的删除操作异常问题?解: 分解为高一级范式如图所示。R1 如下: R2 如下:分 解 后 , 若 删 除 课 程 数 据 时 , 仅 对 关 系 R1操 作 , 教 师 地 址 信 息 在 关 系 R2中 仍 然 保 留 ,不 会 丢 失

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报