数据库原理与应用课后习题答案.doc

上传人:小** 文档编号:13292828 上传时间:2020-06-12 格式:DOC 页数:36 大小:731KB
收藏 版权申诉 举报 下载
数据库原理与应用课后习题答案.doc_第1页
第1页 / 共36页
数据库原理与应用课后习题答案.doc_第2页
第2页 / 共36页
数据库原理与应用课后习题答案.doc_第3页
第3页 / 共36页
资源描述:

《数据库原理与应用课后习题答案.doc》由会员分享,可在线阅读,更多相关《数据库原理与应用课后习题答案.doc(36页珍藏版)》请在装配图网上搜索。

1、第一章1.1 名词解释数据库(DB) 数据库系统(DBS) 数据库管理系统(DBMS) 实体 实体集 属性 关键字数据模型 概念数据模型 关系模型模式 外模式 内模式 数据独立性 逻辑数据独立性 物理数据独立性一对一联系 一对多联系 多对多联系数据库(DB):在计算机的存储设备上合理存放、相关联、有结构的数据集合。数据库系统(DBS):在计算机系统中引进数据库和数据库管理系统后的组成。或者是实现有组织地、动态地存储大量相关的结构化数据,方便用户使用数据库的计算机软件、硬件资源组成的系统。数据库管理系统(DBMS):一个操纵和管理数据库的大型软件,它由一组计算机程序构成。它是位于用户与操作系统之

2、间的一层数据管理软件。实体:客观存在并可相互区别的个体。实体集:具有相同实体特性实体的集合。属性:表示实体的特性。关键字:能够唯一标识文件中的某一个记录的最小字段集。数据模型:现实世界数据与信息的模拟和抽象。概念数据模型:简称概念模型,是独立于计算机系统的数据模型,完全不涉及信息在计算机中的表示,是面向数据库用户的现实世界模型,主要用来描述现实世界的概念化结构。关系模型:是最重要的一种数据模型,也是目前主要采用的数据模型,用二维表格表示现实世界实体集及实体集间的联系。模式:是由数据库设计者综合所有用户数据,按照统一的观点构造的对数据库全局逻辑结构的描述。外模式:介于模式与应用之间,是用户与数据

3、库之间的接口,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述。内模式:也称存储模式,是对数据库中数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。数据独立性:应用程序和数据结构之间相互独立,不受影响。逻辑数据独立性:表示一旦模式发生变化,无需改变外模式或应用程序的能力。物理数据独立性:表示不会因为内模式发生改变而导致概念模式发生改变的能力。一对一联系:设有两个实体集A、B,如果对于实体集A中的每一个实体,B中至多有一个实体与之有联系,反之亦然,则称A、B有一对一联系(1: 1联系)。一对多联系:设有两个实体集A、B,若A中每个实体与B中任意个实

4、体(包括零个)相联系,而B中每个实体至多和A中一个实体有联系,则称A和B是一对多联系(1:n联系)。多对多联系:设有两个实体集A、B,若两个实体集A、B中的每一个实体都和另一个实体集中任意个实体(包括零个)有联系,则称A、B是多对多联系(m:n联系)。1.2判断下列说法是否正确数据库系统的一个主要特点是数据无冗余。数据库管理系统和数据库构成了数据库系统。数据结构化是数据库和文件系统的根本区别。若干个属性集合就能描述一个对象。数据库系统中数据具有完全独立性。 DBA主要职责是管理数据库中的数据。数据库避免了一切数据重复。数据操作语言是一个高级语言。非过程化语言比过程化语言好。模式是数据库全局逻辑

5、结构的描述。三级模式结构是数据库唯一的一种分级模式结构。层次数据模型和网状数据模型都可用关系数据模型表示。关系模型不仅可以描述实体,还可以描述实体及实体集之间的联系。关系数据模型与网状数据模型相比具有查询效率高的优点。网状数据模型可以直接表示M:N的联系。概念模型独立于硬件设备和DBMS。视图对重构数据库提供了一定程度的物理独立性。实体是信息世界中的术语,与之相对应的数据库术语为字段。数据库系统的核心工作就是完成用户级数据库、概念级数据库和物理级数据库之间的映射。一个网状数据结构模型可以变换为一个等价的层次数据结构模型,这种变换以存储空间为代价。1-5:,6-10:,11-15:,16-20:

6、,1.3简答下列各题数据管理技术的发展过程。计算机技术的发展使得数据管理技术也不断向前发展,至今,经历了人工管理阶段、文件系统阶段和数据库系统阶段。数据库系统的三个发展阶段是什么?1)层次型和网状型: 代表产品是1969年IBM公司研制的层次模型数据库管理系统IMS。 2)关系型数据型库: 目前大部分数据库采用的是关系型数据库。1970年IBM公司的研究员E.F.Codd提出了关系模型。典型的关系DBMS产品有Oracle、Sybase、SQL Server、DB2、Access、VFP等等。 3)第三代数据库将为更加丰富的数据模型和更强大的数据管理功能为特征,以提供传统数据库系统难以支持的新

7、应用。它必须支持面向对象,具有开放性,能够在多个平台上使用。文件系统与数据库系统有何区别和联系?文件系统和数据库系统之间的区别:1) 文件系统用文件将数据长期保存在外存上,数据库系统用数据库统一存储数据;2) 文件系统中的程序和数据有一定的联系,数据库系统中的程序和数据分离,数据具有较高的独立性; 3) 文件系统用操作系统中的存取方法对数据进行管理,数据库系统用DBMS统一管理和控制数据; 4) 文件系统实现以文件为单位的数据共享,数据库系统实现以记录和字段为单位的数据共享,数据结构化,冗余度小。 文件系统和数据库系统之间的联系: 1) 均为数据组织的管理技术; 2) 均由数据管理软件管理数据

8、,程序与数据之间用存取方法进行转换;3) 数据库系统是在文件系统的基础上发展而来的。数据库系统的特点。1)采用一定的数据模型实现数据结构化2)数据共享、冗余度小、避免了数据的不一致3)具有较高的数据独立性4)数据由DBMS统一管理和控制何谓数据的物理独立性与数据的逻辑独立性?逻辑独立性表示一旦模式发生变化,无需改变外模式或应用程序的能力。物理独立性表示不会因为内模式发生改变而导致概念模式发生改变的能力。数据模型的三要素。1)数据结构;2)数据操作;3)数据完整性。举例说明实体集之间具有1:1、1:n、m:n的联系。例如,有四个实体集:学生、学校、教师、校长,校长和学校为1:1联系,学生和学校为

9、1:n联系,学生和老师为m:n联系。关系数据模型的特点是什么?关系数据模型的主要特征是用二维表格表示现实世界实体集及实体集间的联系。具有坚实的理论基础、表达能力强、简单和数据独立性高等优点,缺点是存取效率比较低。何谓空值?所谓空值就是“不知道”或“无意义”的值。没有给某个属性赋值,则称其值为空(NULL)。层次数据模型、网状数据模型和关系数据模型的优点和缺点。1)层次模型具有查询效率较高、结构简单、层次分明,便于在计算机内实现的优点,在层次数据结构中,从根结点到树中任意结点均存在一条唯一的层次路径,为有效地进行数据操纵也提供了条件,并且层次数据模型提供了良好的完整性支持。但层次模型也有缺点,一

10、是层次数据模型缺乏直接表达现实世界中非层次型结构的复杂联系,二是层次顺序的严格限制,使得对插入或删除操作也带来了较多的限制,并且查询子女结点必须通过双亲结点,所以使得应用程序的编写也比较复杂。2)网状模型的主要优点是能直接描述现实世界,记录之间的联系也是通过指针来实现的,所以查询效率高。缺点是结构和编程复杂,难掌握,不易使用。3)关系模型有坚实的理论基础。二维表不仅能表示实体集,而且能方便地表示实体集间的联系,所以说它有很强的表达能力,这是层次模型和网状模型所不及的。关系模型具有简单、易学易用的优点。数据独立性高。关系模型缺点是查询效率常常不如非关系数据模型。举例说明E-R图的构成规则。方 框

11、:表示一实体集,在框内写上实体集的名字菱形框:表示联系,菱形框内标明联系名,与其相关的实体集之间用箭头表示,一个箭头代表为1,两个箭头代表为多。 椭圆框:表示属性,在框内写上属性的名字,并用无向边连向与其相关的实体集或联系。在E-R图中,有时为了突出各实体集之间的联系,可以先画出实体集及其属性,然后再重点画出实体之间的联系。如图1,图2所示。图1 学生实体及其属性图2 实体之间联系什么是外部模式?概念模式?内部模式?它们之间有何联系?这种分级结构的优点是什么?外部模式又称子模式,介于模式与应用之间,是用户与数据库之间的接口,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑

12、结构和特征的描述。概念模式简称模式,是由数据库设计者综合所有用户数据,按照统一的观点构造的对数据库全局逻辑结构的描述。内部模式也称存储模式,是对数据库中数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。一个数据库结构从逻辑上可以划分为三个层次:外部模式(External Schema),概念模式(Conceptual Schema)和内部模式(Internal Schema),称为数据库系统的三级模式结构。数据库系统的三级模式是对数据进行三个级别的抽象。它把数据的具体组织留给DBMS去做,用户只要抽象地处理数据,而不必关心数据在机器中的具体表示方式和存储方式。数据库的三级结构是依靠映

13、像来联系和互相转换的。正是这两层映像保证了数据库系统中的数据具有较高的数据独立性。什么是数据独立性?在数据库系统体系结构中是如何体现的?1)数据独立性:数据库系统在某一层次模式上的改变不会使它的上一层模式也发生改变的过程。数据独立性包括数据的逻辑独立性和物理独立性两种。2) 一个数据库结构从逻辑上可以划分为三个层次:外部模式(External Schema),概念模式(Conceptual Schema)和内部模式(Internal Schema),称为数据库系统的三级模式结构。数据库的三级结构是依靠外模式/模式映像和模式/内模式映像来联系和互相转换的。正是这两层映像保证了数据库系统中的数据具

14、有较高的数据独立性,其中外模式/模式映像保证逻辑独立性,模式/内模式映像保证物理独立性。数据库系统的软件包括哪些主要成份?基本的系统软件是操作系统,其它任何软件都必须在它的支持下工作。除操作系统之外,还必须配有数据库管理系统,没有数据库管理系统也就不能称其为是数据库系统。同时,为了开发数据库应用系统,还需要有各种高级语言及其编译系统。什么是数据字典?它在数据库中的作用是什么?数据字典(Data Dictionary)是描述各级模式的信息,主要包括所有数据的结构名、意义、描述定义、存储格式、完整性约束、使用权限等信息。由于数据字典包含了数据库系统中的大量描述信息(而不是用户数据),因此也称它为“

15、描述信息库”。数据字典是DBMS存取和管理数据的基本依据,主要由系统管理和使用 DBA的主要职责是什么?参与数据库系统的设计与建立。对系统的运行实行监控。定义数据的安全性要求和完整性约束条件。负责数据库性能的改进和数据库的重组及重构工作。用户访问数据库的过程。1)接受应用程序的数据请求 2)DBMS对用户的操作请求进行分析3)数据库管理系统要向操作系统发出操作请求4)操作系统接到命令后,对数据库中的数据进行处理,将结果送到系统缓冲区,并发出读完标志。5)DBMS接到回答信号后,将缓冲区的数据经过模式映射,变成用户的逻辑记录送到用户工作区,同时给用户回答成功与否的信息。关系数据库完整性约束有哪些

16、?举例说明。1)实体完整性约束:实体完整性约束是指任一关系中标识属性(关键字)的值,不能为NULL,否则,无法识别关系中的元组。2)参照完整性约束:参照完整性是不同关系间的一种约束,当存在关系间的引用时,要求不能引用不存在的元组。若属性组F是关系R(U)的外关键字,并是关系S(U)的关键字(即F不是R(U)的关键字,而是S(U)的关键字,称F是R(U)的外关键字),则对于R(U)中的每个元组在属性组F上的值必须为:空值(NULL)或者等于S(U)中某个元组的关键字值。3)用户定义完整性约束。如值的类型、宽度等。有控制的冗余与无控制的冗余有什么区别?有控制的冗余是指数据库设计者在设计中为了提高操

17、作效率有意保留的冗余数据,无控制冗余是在数据库设计中由于属性间的依赖而存在的关联数据,两者的区别是无控制冗余不是数据库设计者所要保留的冗余数据,因为它会带来很多问题,使得存储效率比较低,而有控制冗余是数据库设计者有意保留的数据,主要是为了改善对数据库的查询效率。简述数据库、数据库管理系统和数据库系统之间的关系数据库是指在计算机的存储设备上合理存放、相关联、有结构的数据集合。这个数据的集合由数据库管理系统进行建立和维护,用户访问数据库中的各种请求都是通过数据库管理系统完成的。数据库系统是在计算机系统中引进数据库和数据库管理系统后的组成,没有数据库和数据库管理系统不能够构成数据库系统。1.4 选择

18、题在( )中一个结点可以有多个双亲,结点之间可以有多种联系。A 网状模型 B 关系模型 C 层次模型 D 以上都有数据库管理系统(DBMS)是( )。A 一个完整的数据库应用系统 B 一组硬件C一组软件 D 既有硬件,也有软件 用户或应用程序看到的那部分局部逻辑结构和特征的描述是( )模式。 A 模式 B 物理模式 C 子模式 D 内模式要保证数据库的逻辑数据独立性,需要修改的是( )。 A 模式与外模式之间的映射 B 模式与内模式之间的映射 C 模式 D 三级模式下列四项中,不属于数据库系统特点的是( )。 A 数据共享 B 数据完整性 C 数据冗余度高 D 数据独立性高数据库(DB),数据

19、库系统(DBS)和数据库管理系统(DBMS)之间的关系是( )。A DBS包括DB和DBMS B DBMS包括DB和DBS C DB包括DBS和DBMS D DBS就是DB,也就是DBMS数据库系统与文件系统的主要区别是( )。A 数据库系统复杂,而文件系统简单 B 文件系统不能解决数据冗余和数据独立性问题,而数据库系统可以解决C 文件系统只能管理程序文件,而数据库系统能够管理各种类型的文件D 文件系统管理的数据量较少,而数据库系统可以管理庞大的数据量。数据库的概念模型独立于( )。A具体的机器和DBMS B E-R图 C 信息世界 D 现实世界在数据库中存储的是( )。A 数据 B 数据模型

20、 C 数据以及数据之间的联系 D 信息在数据库中,数据的物理独立性是指( )。A 数据库与数据库管理系统的相互独立B 用户程序与DBMS的相互独立C 用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的D 应用程序与数据库中数据的逻辑结构相互独立数据库的特点之一是数据的共享,严格地讲,这里的数据共享是指( )。A 同一应用中的多个程序共享一个数据集合B 多个用户、同一种语言共享数据 C 多个用户共享一个数据文件D 多种应用、多种语言、多个用户相互覆盖地使用数据集合在数据库技术中,为提高数据库的逻辑独立性和物理独立性,数据库的结构被划分成用户级、( )和存储级三个层次A 管理员级 B 外部级

21、 C 概念级 D 内部级在数据库中,产生数据不一致的根本原因是( )。A 数据存储量太大 B 没有严格保护数据C未对数据进行完整性控制 D 数据冗余数据库具有、最小的和较高的程序与数据。 A 程序结构化 B 数据结构化 C 程序标准化 D 数据模块化 A 冗余度 B 存储量 C 完整性 D 有效性 A 可靠性 B 完整性 C 独立性 D 一致性在数据库的三级模式结构中,描述数据库中全体数据的逻辑结构和特征的是( )。A 外模式 B 内模式 C 存储模式 D 模式1-5:A, C, C, A, C 6-10:A, B, A, C, C 11-15:D,C, D,BAC,D1.5 对于工程硕士的管

22、理需要掌握的信息有:学生现在的工作单位、职务、简历情况,其中简历情况包括开始时间、终止时间、单位、担任职务、证明人;学生目前在校情况,包括学生的学号、所在学院、所学专业、入学时间、导师;学生在校所学的课程号、课程名、学时、授课教师及成绩;学院包括学院代号、学院名称、院长;导师包括导师职工编号、姓名、出生日期、职称、研究方向。要求:确定实体及实体型属性;找出实体间的联系;画出E-R图。(1) 学生:学号,姓名,专业,学院,入学时间,工作单位,导师号,简历号,职务简历:简历号,开始时间,结束时间,证明人,单位,担任职务课程:课程号,学时,课程名,授课教师学院:学院代号,学院名称,院长导师:导师号,

23、姓名,出生日期,研究方向(2) 学生-简历:1:n学生-学院:n:1学生-导师:n:1学生-课程:n:m 导师-学院:n:1(3)图1 学生实体及其属性图2 简历实体及其属性图3 课程实体及其属性图4 学院实体及其属性图5 导师实体及其属性图6 实体联系图第二章2.1 试述关系模型的3个组成部分答:关系模型由关系数据结构、关系操作和关系完整性约束三部分组成。2.2 一个关系模式能否没有关键字?为什么?答:不可以没有关键字,因为关键字是元组的唯一标志,如果没有关键字则无法唯一标识一个元组。2.3 试述关系模型的完整性规则。在参照完整性中,为什么外部关键字属性的值也可以为空?什么情况下才可以为空?

24、答:(1)实体完整性规则:若属性A是基本关系R的主属性,则属性A不能取空值。 (2)参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主码值。即属性F本身不是主属性,则可以取空值,否则不能取空值。 当外部关键字F对应的主键Ks值为空值时,说明F暂时没有赋值,此时F值必须取空值。2.4一个n行、m列的二维表(其中没有两行或两列全同),将行或列交换后,能导出多少个不同的表?答:1个2.5 答:(1) 最小个数为:取m,n中的大者;

25、最大个数为:m+n (2) 最小个数为:0;最大个数为:取m,n中的小者 (3) 最小个数为:0;最大个数为:m*n (4) 最小个数为:0;最大个数为:n 2.6 答:RS= (3,6,7), (2,5,7), (7,2,3), (4,4,3), (3,4,5)R-S= (3,6,7), (2,5,7), (4,4,3) RS= (7,2,3)RS= (3,6,7,3,4,5), (3,6,7,7,2,3), (2,5,7,3,4,5), (2,5,7,7,2,3), (7,2,3,7,2,3), (7,2,3,3,4,5), (4,4,3,3,4,5), (4,4,3,7,2,3) 3,2

26、(s)= (5,4),(3,2)sB23SEX=男 (S) )(3) 检索学号为090111学生所学课程的课程名与任课教师名 CNAME,TNAME(C SNO=090111SC )(4) 检索至少选修刘老师所教授课程中一门课的女学生姓名SNAME(TNAME=刘(C) SCSEX=女(S)(5) 检索王一宁同学不学课程的课程号 CNO(C) - CNO(SNAME=王一宁(S) SC)(6) 检索至少选了两门课的学生学号SNO(1=4 25( SC SC))(7) 检索全部学生都选修的课程的课程号和课程名CNO,CNAME(C (SNO,CNO(SC)SNO(S)(8) 检索选修课程包括刘老

27、师所教授课程的学生姓名SNAME(SCTNAME=刘(C)2.13(1)刘老师所教授课程的课程号、课程名 t|($u)(C(u)t1=u1 t2=u2 C3=刘)(2)检索年龄大于23的男学生的学号和姓名t|($u)(S(u)t1=u1 t2=u2 u3 23 u4= 男)(3)检索学号为090111学生所学课程的课程名与任课教师名t|($u)($v)(C(v)SC(u)v1=u2t1=v2 t2=v3v1= 090111)(4)检索至少选修刘老师所教授课程中一门课的女学生姓名t|($u)($v)($w)(S(u)SC(v)C(w) u4= 女v1=u1 v2=w1 w3=刘t1=u2)(5)

28、检索王一宁同学不学课程的课程号 (6)检索至少选了两门课的学生学号 (7)检索全部学生都选修的课程的课程号和课程名(8)检索选修课程包括刘老师所教授课程的学生姓名2.15(1)CNO,TNAME (SDEPT=计算机 (S) SCCDEPT=自动化 (C) ) (2) CNO,TNAME (SDEPT=计算机 CDEPT=自动化 S.SNO=SC.SNOSC.CNO=C.CNO (S SC C)(3)CNO,TNAMESDEPT=计算机 CDEPT=自动化 S.SNO=SC.SNOSC.CNO=C.CNOCSSCCNO,TNAMESC.CNO=C.CNOS.SNO=SC.SNOCDEPT=自动

29、化SDEPT=计算机SCSCCNO,TNAMESC.CNO=C.CNOC.CNO,TNAME,SC.CNOS.SNO=SC.SNOCDEPT=自动化SDEPT=计算机SCSCCNO,TNAMESC.CNO=C.CNO SC.CNO CNO,TNAMES.SNO=SC.SNOCDEPT=自动化CSDEPT=计算机SCSCCNO,TNAMESC.CNO=C.CNO SC.CNOS.SNO=SC.SNOSNOSDEPT=计算机SSNO, CNOC CNO,TNAMECDEPT=自动化C2.16在关系代数运算中,各个运算所费时间和空间是不一样的,如何安排若干关系的运算操作步骤,直接影响到整个操作所需要

30、的时间和空间。对关系代数表达式进行优化,可以提高系统的操作效率,达到执行过程既省时间又省空间的目的。第三章 3-1解释下列术语:基本表 视图 单表查询 连接查询 嵌套查询 交互式SQL 嵌入式SQL 宿主语言答:(1)基本表:简称基表。是数据库中实际存在的表,在SQL中一个关系对应于一个表。(2)视图:SQL用视图概念支持非标准的外模式概念。视图是从一个或几个基表导出的表,虽然它也是关系形式,但它本身不实际存储在数据库中,只存放对视图的定义信息(没有对应的数据)。因此,视图是一个虚表(Virtual Table)或虚关系,而基表是一种实关系(Practical Relation)。(3)单表查

31、询:只涉及到一个关系的查询。(4)连接查询:同时涉及两个以上的表的查询。(5)嵌套查询:将一个查询块嵌套在另一个查询块的WHERE子句或HAVING条件中的查询。(6)交互式SQL:做为独立语言由用户在交互环境下使用的SQL语言。(7)嵌入式SQL:将SQL语言嵌入到某种高级语言中使用,利用高级语言的过程性结构来弥补SQL语言在实现复杂应用方面的不足的SQL语言。(8)宿主语言:嵌入SQL的高级语言称为主语言或宿主语言。3-2试述SQL语言的特点答:1.综合统一 2.高度非过程化3.面向集合的操作方式4.以同一种语法结构提供两种使用方式3-3试述SQL体系结构和关系数据库模式之间的关系答:SQ

32、L语言支持关系数据库体系结构,即外模式、模式和内模式,利用SQL语言可以实现对三级模式的定义、修改和数据的操纵功能,在此基础上形成了SQL体系结构;在SQL体系结构中的视图对应了关系数据模式的外模式,基本表对应了关系数据模式的模式,存储文件对应了关系数据模式的内模式。3-4 SQL是如何实现实体完整性、参照完整性和用户定义完整性的?答:实体完整性简单的说,就是将表中的每一行看作一个实体。实体完整性要求表的标示符列或主键的完整性。可以通过建立唯一索引、PRIMARY KEY约束、UNIQUE约束,以及列的IDENTITY属性来实施实体完整性。参照完整性维持被参照表和参照表之间的数据一致性,他通过

33、主键(PRIMARY KEY)约束和外键(FOREIGN KEY)约束来实现。引用完整性确保键值在所有表中一致。这样的一致性要求不能引用不存在的值,如果键值更改了,那么在整个数据库中,对该键值的所有引用要进行一致的更改。在被参照表中,当其主键值被其他表所参照时,该行不能被删除也不允许改变。在参照表中,不允许参照不存在的主键值。用户定义完整性使得可以定义不属于其它任何完整性分类的特定业务规则。所有的完整性类型都支持用户定义完整性。3-5讨论当对一个视图进行更新的时候可能会出现什么样的问题?答:1) 若视图的属性来自属性表达式或常数,则不允许对视图执行INSERT和UPDATE操作,但允许执行DE

34、LETE操作。2) 若视图的属性来自库函数,则不允许对此视图更新。3) 若视图定义中有GROUP BY子句,则不允许对此视图更新。4) 若视图定义中有DISTINCT任选项,则不允许对此视图更新。5) 若视图定义中有嵌套查询,并且嵌套查询的FROM子句涉及导出该视图的基本表,则不允许对此视图更新。6) 若视图由两个以上的基本表导出,则不允许对此视图更新。7) 如果在一个不允许更新的视图上再定义一个视图,这种二次视图是不允许更新的。3-6设有两个基本表R(A,B,C) 和 S(A,B,C)试用SQL查询语句表达下列关系代数表达式: RS RS RS RS (1) (select * from R

35、) INTERSECT (select * from S) (2) (select * from R) EXCEPT (select * from S) (3) (select * from R) UNION (select * from S)(4) select * from R,S3-7对于教学数据库的三个基本表:S(学号,姓名 ,年龄,性别)SC(学号 ,课程号,成绩)C(课程号 ,课程名,任课教师姓名)试用SQL语句表达下列查询: 查询“刘某”老师所授课程的课程号和课程名。 查询年龄大于23岁的男同学的学号和姓名。 查询学号为S3的学生所学课程的课程号、课程名和任课教师姓名。 查询“张

36、小飞”没有选修的课程号和课程名。 查询至少选修了3门课程的学生的学号和姓名。 查询全部学生都选修了的课程编号和课程名称。 在SC中删除尚无成绩的选课元组。 把“高等数学”课的所有不及格成绩都改为60。 把低于总评均成绩的女同学的成绩提高5%。 向C中插入元组(C8,VC+,王昆)。3-7(1) 查询“刘某”老师所授课程的课程号和课程名;SELECT课程号, 课程名FROM CWHERE任课教师姓名LIKE 刘*(2) 查询年龄大于23岁的男同学的学号和姓名;SELECT 学号,姓名FROM SWHERE 年龄23 AND 性别=男(3) 查询学号为S3的学生所学课程和课程号,课程名和任课教师姓

37、名SELECT C.课程号, 课程名, 任课教师姓名FROM C, SCWHERE SC.学号=S3 And C.课程号=SC.课程号(4) 查询“张小飞”同学没有选修的课程的课程号和课程名;SELECT C.课程号, C.课程名FROM CWHERE 课程号 NOT IN (SELECT 课程号 FROM SC WHERE 学号 IN (SELECT 学号 FROM S WHERE 姓名=张小飞);或者SELECT *FROM CWHERE NOT EXISTS (SELECT SC.课程号 FROM SC,S WHERE SC.课程号=C.课程号 AND S.学号=SC.学号 AND S.

38、姓名=张小飞)或者SELECT *FROM CWHERE 课程号 NOT IN (SELECT 课程号FROM SC,SWHERE S.学号=SC.学号 AND S.姓名=张小飞)(5) 查询至少选修了3门课程的学生的学号和姓名;SELECT 学号, 姓名FROM SWHERE 学号 IN (SELECT 学号 FROM SCGROUP BY 学号HAVING COUNT (课程号)=3)(6) 查询全部学生都选修了的课程号和课程名;SELECT 课程号,课程名FROM CWHERE NOT EXISTS (SELECT 学号 FROM S WHERE NOT EXISTS (SELECT 学

39、号 FROM SC WHERE SC.课程号=C.课程号 AND S.学号=SC.学号)或者SELECT 课程号, 课程名FROM CWHERE NOT EXISTS(SELECT 学号 FROM S)EXCEPT(SELECT 学号FROM SCWHERE SC.课程号=C.课程号)(7) 在SC表中删除无成绩的选课纪录;DELETE *FROM SCWHERE GRADE is null;(8) 把“高等数学”的所有不及格成绩都改为60分;UPDATE SCSET 成绩 = 60WHERE GRADE 60 AND 课程号 =(SELECT 课程号FROM CWHERE 课程名=高等数学)

40、(9) 把低于总平均成绩的女同学的成绩提高5%UPDATE sc SET 成绩 = 成绩*(1+0.05)WHERE 学号 in (select 学号 from s where 性别=女) and 成绩 (select avg(成绩) from sc);(10) 向C中插入元组(“C8”,“VC+”,“王昆”)INSERT INTO cVALUES (C8, VC+, 王昆);3-8图3-2中显示的数据库模式Library,用来记录书籍、借书人和书籍借出的情况,参照完整性在图中用有向弧来表示,请用SQL语言建立图中的关系模式,并完成下列操作:图3-2 Library数据库模式 查询“高等教育出

41、版社”出版的所有图书名称和编号; 查询所有作者是“郭雨辰”的图书的编号和名称; 查询“李明”借过的所有图书的名称; 查询“李明”从2008年1月1日到2009年1月1日期间借过的图书名称; 列出从2008年1月1日到2009年1月1日期间没有被人借过的图书名称和编号; 列出从2008年1月1日到2009年1月1日期间借出次数最多的10本图书名称; 将“高等教育出版社”的电话改为“01064054588”;3-8(1)SELECT BookID , TitleFROM BookWHERE PublishName=高等教育出版社(2)SELECT BookID, TitleFROM BookID,

42、 BookWHERE Book.BookID=Author.BookID AND Author=郭雨辰(3)SELECT TitleFROM Book, Borrow, BorrowerWHERE Borrow.CardID=Borrower.CardID AND Borrow.BookID=Book.BookID AND Borrower.Name=李明(4)SELECT TitleFROM Book, Borrow, BorrowerWHERE Borrow.CardID=Borrower.CardID AND Borrow. BookID=Book.BookID AND Borrower

43、.Name=李明 AND DateOut BETWEEN 2008-1-1 AND.2009-1-1(5)SELECT TitleFROM BookWHERE NOT EXISTS (SELECT * FROM Borrow,Book WHERE Borrow. BookID=Book.BookID AND Dateout Between 2008-1-1 AND 2009-1-1)(6)SELECT top 10 TitleFROM Book, BorrowWHERE Borrow. BookID=Book.BookID AND Dateout Between 2008-1-1 AND 20

44、09-1-1GROUP BY Book.BookIDORDER BY Book.BookID DESC(7)UPDATE PublisherSET Phone=010-64054588WHERE Name=高等教育出版社3-9 针对3.8建立的表,用SQL语言完成下列操作: 把对所有表的INSERT权限授予“张丽”,并允许她将此权限授予其他用户;Grant INSERT to 张丽 with grant option 把查询和修改BORROWER的权限受给用户“王伟”。Grant select, update on BORROWER to 王伟习题四4.1 理解并给出下列术语的定义:函数依赖

45、部分函数依赖 完全函数依赖 传递函数依赖 候选码 主码 外码 全码 主属性 非主属性1NF 2NF 3NF BCNF 4NF 函数依赖集闭包 属性集闭包 函数依赖集等价 最小函数依赖集 无损连接 函数依赖保持 设R(U)是属性集U上的关系模式。若对于R(U)的任意一个可能的关系r,X,Y是属性集U的任意子集,当且仅当对r中任意一个给定的X的属性值,r中都只存在惟一的Y属性值与之对应。也就是说,如果X相等,就有Y也相等,则称Y函数依赖于X或X函数确定Y,记作XY。在R(U)中,如果,并且对于X的一个真子集,有成立,则称对部分函数依赖(Partial Functional Dependency),

46、记作。 在R(U)中,如果,并且对于X的任何一个真子集,都有成立,则称对完全函数依赖(Full Functional Dependency),记作。在R(U)中,如果,则称Z对X传递函数依赖(Transitive Functional Dependency),记做设K为R中的属性或属性组,若,则K为R的候选码。若候选码多于一个,则选定其中的一个为主码。包含在任何一个候选码中的属性,叫做主属性。不包含在任何候选码中的属性称为非主属性。最简单的情况,码只包含单个属性;最复杂的情况是所有属性集组合成码,称为全码。关系模式R中属性或属性组X并非R的主码,但X是另一个关系模式的主码,则称X是R的外码。设

47、R是一个关系模式,如果R中的每一个属性A的属性名和属性值都是不可再分的,则称R属于第一范式,记作:R1NF。若R1NF,且每一个非主属性都完全函数依赖于码,则R2NF。关系模式R(U,F)中若不存在这样的码X,属性组Y及非主属性组Z(),使得,成立,则称R(U,F)3NF。关系模式R(U,F)1NF,若每一个决定因素都含有码,则RBCNF。关系模式R(U,F)1NF,若对R的每个非平凡多值依赖XY(),X都包含码,则称R(U)满足第四范式,记为R4NF。称所有被一个已知函数依赖集F逻辑蕴涵的那些函数依赖的集合为F的闭包(Closure),记为F+。设有关系模式R(U),F是U上的一个函数依赖集

48、,定义XFA|能由F根据Armstrong 公理导出,并称XF为属性集X关于函数依赖集F的闭包。如果函数依赖集F满足下列条件,则称F是一个极小函数依赖集或最小覆盖。 F中每一个函数依赖的右部都是单个属性。 对F中任一函数依赖XA,F-XA都不与F等价。 对于F中的任一函数依赖XA,F-XAZ-A都不与F等价,其中Z为X的任一子集。如果函数依赖集F与某个最小依赖集等价,则称是F的最小覆盖或是F的最小依赖集。设R是一个关系模式,F是R上的一个函数依赖集,R分解为关系模式的集合R1(U1), R2(U2), , Rn(Un)。如果对于R的满足F的每一个关系r,都有,则称是一个无损连接的分解(loss

49、ingless jion decomposition)若F(),则R(U,F)的分解保持函数依赖。4.2 设有关系模式R(A,B,C,D,E,P,G,H),R的函数依赖集FABCE,AC ,GPB ,EPA ,CDEP ,HBP ,DHG ,ABCPG,求D【参考答案】 D=DHG4.3 证明函数依赖集FABC,AD,CDE和函数依赖集GABCE,AABD,CDE的等价性【参考答案】 ABC,AD,CDE ,ABCE,AABD,有 ABCE,AABD , ABC,AD,CDE ,有 所以F和G等价。4.4 设关系模式R(ABCD),F是R上成立的函数依赖集,FAB,CB,则相对于F,试写出关系

50、模式R的候选码,并说明理由【参考答案】关系模式R的候选码为D在关系F中B只出现在右边,所以B一定不是候选码在关系F中D没有出现D必然出现在候选码中在关系F中AC出现在左边AB,CC,AA所以A能推出,因此候选码是ACD4.5 设有关系模式R(A,B,C,D,E),R的函数依赖集FABD,BCD,DEB,CD,DA 计算(AB),(AC),(DE) 求R的所有候选码 求F的最小覆盖【参考答案】(AB)=ABCD(AC)=ACD(DE)=ABCDE R属性:E, LR属性:ABCD(AE) =AE(BE) =ABCDE(CE) =ABCDE(DE) =ABCDER的候选码为:BE, CE, DE

51、右部属性单一化:F1= ABD,BC,BD,DEB,CD,DA 去掉多余的函数依赖:F2BC, DEB,CD,DA去掉冗余的属性:没有冗余属性所以F的最小覆盖FminF2BC, DEB,CD,DA4.6 设有关系模式R(A,B,C,D),R的函数依赖集FAC,CA,BAC,DAC,BDA,求F的最小覆盖【参考答案】第一步:将F的所有函数依赖的右部都分解成单一属性:F1 AC,CA,BA ,BC,DA,DC,BDA 第二步:去掉冗余的函数依赖:考察AC,令GCA,BA ,BC,DA,DC,BDA,AGA因为C AG,所以AC不冗余;考察CA,令GAC, BA ,BC,DA,DC,BDA,CGC因

52、为A CG,所以CA不冗余;考察BA,令GAC,CA,BC,DA,DC,BDA,BGABC因为A BG,所以BA冗余,从F1中删除BA,F2AC,CA,BC,DA,DC,BDA;考察BC,令GAC,CA,DA,DC,BDA,BGB因为C BG,所以BC不冗余;考察DA,令GAC,CA,BC, DC,BDA,DGACD因为A DG,所以DA冗余,从F2中删除DA,F3AC,CA,BC, DC,BDA;考察DC,令GAC,CA,BC,BDA,DGD因为C DG,所以DC不冗余;考察BDA,令GAC,CA,BC, DC,(BD)GABCD因为A (BD)G,所以BDA冗余,从F3中删除BDA,F4A

53、C,CA,BC, DC;第三步:去掉冗余的属性:由于左边都是单属性,所以: FmF4=AC,CA,BC, DC;但是结果不唯一。 4.7 设关系模式R(ABC),F是R上成立的FD集,FCA,BA,分解AB,BC,判断是否具有函数依赖保持性?【参考答案】F1 = (BA)F2 G = F1F2 = BA F= CA,BA 显然,G必定包含于F。而F不包含于G。因此,有G+F+,即 不具有函数依赖保持性。4.8 设关系模式R(ABC),F是R上成立的FD集,FCA,BC,AB,AC,判断是否具有“无损连接性”和“函数依赖保持”性【参考答案】考察“无损连接性”:首先构造初始表,结构如表1表1 初始

54、表AjRiABCABa1a2b13ACa1b23a3修改表逐一考察F中的函数依赖:a) CA,表的结构不变;b) BC,表的结构不变;此时,对F中的每个函数依赖,表的结构都不再变化。又因为表中没有出现a1,a2,a3 的行,所以该分解不具有无损连接性。考察“函数依赖保持”F1 = (BA)F2 ( CA)G = F1F2 = BA ,CA F= CA,BC 显然,G必定包含于F。而F不包含于G。因此,有G+F+,即 不具有函数依赖保持性。4.9 设关系模式R(ABCD),在R上有5个相应的FD集及分解: F=BC,DA,AD,BC F=ABC,CA,CD,ACD,BC F=ABC,CAD,ABC,AD F=AB,BC,CD,AB,ACD F=AB,BC,CD,AB,AD,CD试对上述5中情况分别回答下列问题: 确定R的候选码和主码。 是否为无损分解? 是否函数依赖保持? 确定中每一模式的范式级别。【参考答案】分解 F=BC,DA,AD,BCA) (BD)+=ABCD BD是候选码,也是主码B) 首先构造初始表,结构如表2表2 初始表AjRiABCDADa1b12b13a4BCb21a2a3b24修改表逐一考察F中的函数依赖:a) BC,表的结构不变;b) DA,表的结构

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!