《数据库原理与应用》课后习题答案.pdf
1.1 名词解释第一章数据库(D B)数据库系统(D B S)数据库管理系统(D B M S)实体实体集 属性关键字数据模型概念数据模型关系模型模式外模式内模式数据独立性逻辑数据独立性物理数据独立性一对一联系-对多联系多对多联系数据库(DB):在计算机的存储设备上合理存放、相关联、有结构的数据集合。数据库系统(D BS):在计算机系统中引进数据库和数据库管理系统后的组成。或者是实现有组织地、动态地存储大量相关的结构化数据,方便用户使用数据库的计算机软件、硬件资源组成的系统。数据库管理系统(DBMS):一个操纵和管理数据库的大型软件,它由一组计算机程序构成。它是位于用户与操作系统之间的一层数据管理软件。实体:客观存在并可相互区别的个体。实体集:具有相同实体特性实体的集合。属性:表示实体的特性。关键字:能够唯一标识文件中的某一个记录的最小字段集。数据模型:现实世界数据与信息的模拟和抽象。概念数据模型:简称概念模型,是独立于计算机系统的数据模型,完全不涉及信息在计算机中的表示,是面向数据库用户的现实世界模型,主要用来描述现实世界的概念化结构。关系模型:是最重要的一种数据模型,也是目前主要采用的数据模型,用二维表格表示现实世界实体集及实体集间的联系。模式:是由数据库设计者综合所有用户数据,按照统一的观点构造的对数据库全局逻辑结构的描述。外模式:介于模式与应用之间,是用户与数据库之间的接口,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述。内模式:也称存储模式,是对数据库中数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。数据独立性:应用程序和数据结构之间相互独立,不受影响。逻辑数据独立性:表示一旦模式发生变化,无需改变外模式或应用程序的能力。物理数据独立性:表示不会因为内模式发生改变而导致概念模式发生改变的能力。一对一联系:设有两个实体集A、B,如果对于实体集A 中的每一个实体,B 中至多有一个实体与之有联系,反之亦然,则称A、B 有一对一联系(1:1 联系)。一对多联系:设有两个实体集A、B,若 A 中每个实体与B 中任意个实体(包括零个)相联系,而 B 中每个实体至多和A 中一个实体有联系,则称A 和 B 是一对多联系(1:n 联系)。多对多联系:设有两个实体集A、B,若两个实体集A、B 中的每一个实体都和另一个实体集中任意个实体(包括零个)有联系,则称A、B 是多对多联系(m:n 联系)。1.2 判断下列说法是否正确数据库系统的一个主要特点是数据无冗余。数据库管理系统和数据库构成了数据库系统。数据结构化是数据库和文件系统的根本区别。若干个属性集合就能描述一个对象。数据库系统中数据具有完全独立性。(6)D B A 主要职责是管理数据库中的数据。数据库避免了一切数据重复。数据操作语言是一个高级语言。非过程化语言比过程化语言好。(1 0)模式是数据库全局逻辑结构的描述。(1 1)三级模式结构是数据库唯一的一种分级模式结构。层次数据模型和网状数据模型都可用关系数据模型表示。关系模型不仅可以描述实体,还可以描述实体及实体集之间的联系。(关系数据模型与网状数据模型相比具有查询效率高的优点。(1 5)网状数据模型可以直接表示M:N的联系。(概念模型独立于硬件设备和D B M S,(1 7)视图对重构数据库提供了一定程度的物理独立性。实体是信息世界中的术语,与之相对应的数据库术语为字段。数据库系统的核心工作就是完成用户级数据库、概念级数据库和物理级数据库之间的映射。一个网状数据结构模型可以变换为一个等价的层次数据结构模型,这种变换以存储空间为代价。1-5:X,X,J,X,X,6-10:X,X,-J,X,-J ,11-15:X,V,V,X,X16-20:J,X,X,J,V1.3 简答下列各题数据管理技术的发展过程。计算机技术的发展使得数据管理技术也不断向前发展,至今,经历了人工管理阶段、文件系统阶段和数据库系统阶段。数据库系统的三个发展阶段是什么?1)层次型和网状型:代表产品是1 9 6 9 年 IB M 公司研制的层次模型数据库管理系统IM S。2)关系型数据型库:目前大部分数据库采用的是关系型数据库。1 9 7 0 年 IB M 公司的研究员E.F.C o d d 提出了关系模型。典型的关系 D B M S 产品有 O r a c l e、S y b a s e,S Q L S e r v e r,D B 2、A c c e s s、V FP 等等。3)第三代数据库将为更加丰富的数据模型和更强大的数据管理功能为特征,以提供传统数据库系统难以支持的新应用。它必须支持面向对象,具有开放性,能够在多个平台上使用。文件系统与数据库系统有何区别和联系?文件系统和数据库系统之间的区别:1)文件系统用文件将数据长期保存在外存上,数据库系统用数据库统一存储数据;2)文件系统中的程序和数据有一定的联系,数据库系统中的程序和数据分离,数据具有较高的独立性;3)文件系统用操作系统中的存取方法对数据进行管理,数据库系统用DB M S 统一管理和控制数据;4)文件系统实现以文件为单位的数据共享,数据库系统实现以记录和字段为单位的数据共享,数据结构化,冗余度小。文件系统和数据库系统之间的联系:1)均为数据组织的管理技术;2)均由数据管理软件管理数据,程序与数据之间用存取方法进行转换;3)数据库系统是在文件系统的基础上发展而来的。数据库系统的特点。1)采用一定的数据模型实现数据结构化2)数据共享、冗余度小、避免了数据的不一致3)具有较高的数据独立性4)数据由DB M S 统一管理和控制何谓数据的物理独立性叮数据的逻辑独立性?逻辑独立性表示一旦模式发生变化,无需改变外模式或应用程序的能力。物理独立性表示不会因为内模式发生改变而导致概念模式发生改变的能力。数据模型的要素。1)数据结构;2)数据操作;3)数据完整性。举例说明实体集之间具有1:1、1:n、m:n的联系。例如,有四个实体集:学生、学校、教师、校长,校长和学校为1:1 联系,学生和学校为 l:n 联系,学生和老师为m:n 联系。关系数据模型的特点是什么?关系数据模型的主要特征是用二维表格表示现实世界实体集及实体集间的联系。具有坚实的理论基础、表达能力强、简单和数据独立性高等优点,缺点是存取效率比较低。何谓空值?所谓空值就是“不知道”或“无意义”的值。没有给某个属性赋值,则称其值为空(N U L L)。(1 0)层次数据模型、网状数据模型和关系数据模型的优点和缺点。1)层次模型具有查询效率较高、结构简单、层次分明,便于在计算机内实现的优点,在层次数据结构中,从根结点到树中任意结点均存在一条唯 的层次路径,为有效地进行数据操纵也提供了条件,并且层次数据模型提供了良好的完整性支持。但层次模型也有缺点,一是层次数据模型缺乏直接表达现实世界中非层次型结构的复杂联系,二是层次顺序的严格限制,使得对插入或删除操作也带来了较多的限制,并且查询子女结点必须通过双亲结点,所以使得应用程序的编写也比较复杂。2)网状模型的主要优点是能直接描述现实世界,记录之间的联系也是通过指针来实现的,所以查询效率高。缺点是结构和编程复杂,难掌握,不易使用。3)关系模型有坚实的理论基础。二维表不仅能表示实体集,而且能方便地表示实体集间的联系,所以说它有很强的表达能力,这是层次模型和网状模型所不及的。关系模型具有简单、易学易用的优点。数据独立性高。关系模型缺点是查询效率常常不如非关系数据模型。(1 1)举例说明E-R 图的构成规则。方 框:表示一实体集,在框内写上实体集的名字菱形框:表示联系,菱形框内标明联系名,与其相关的实体集之间用箭头表示,一个箭头代表为1,两个箭头代表为多。椭圆框:表示属性,在框内写上属性的名字,并用无向边连向与其相关的实体集或联系。在 E-R 图中,有时为了突出各实体集之间的联系,可以先画出实体集及其属性,然后再重点画出实体之间的联系。如 图 1,图 2 所示。学生图1 学生实体及其属性图2 实体之间联系什么是外部模式?概念模式?内部模式?它们之间有何联系?这种分级结构的优点是什么?外部模式又称子模式,介于模式与应用之间,是用户与数据库之间的接口,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述。概念模式简称模式,是由数据库设计者综合所有用户数据,按照统一的观点构造的对数据库全局逻辑结构的描述。内部模式也称存储模式,是对数据库中数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。一个数据库结构从逻辑上可以划分为三个层次:外部模式(External Schem a),概念模式(Conceptual Schem a)和内部模式(Internal Schem a),称为数据库系统的三级模式结构。数据库系统的三级模式是对数据进行三个级别的抽象。它把数据的具体组织留给DBMS去做,用户只要抽象地处理数据,而不必关心数据在机器中的具体表示方式和存储方式。数据库的三级结构是依靠映像来联系和互相转换的。正是这两层映像保证了数据库系统中的数据具有较高的数据独立性。什么是数据独立性?在数据库系统体系结构中是如何体现的?1)数据独立性:数据库系统在某一层次模式上的改变不会使它的上一层模式也发生改变的过程。数据独立性包括数据的逻辑独立性和物理独立性两种。2)一个数据库结构从逻辑上可以划分为三个层次:外部模式(External Schem a),概念模 式(Conceptual Schem a)和内部模式(Internal Schem a),称为数据库系统的三级模式结构。数据库的三级结构是依靠外模式/模式映像和模式/内模式映像来联系和互相转换的。正是这两层映像保证了数据库系统中的数据具有较高的数据独立性,其中外模式/模式映像保证逻辑独立性,模式/内模式映像保证物理独立性。(数据库系统的软件包括咖些主要成份?基本的系统软件是操作系统,其它任何软件都必须在它的支持下工作。除操作系统之外,还必须配有数据库管理系统,没有数据库管理系统也就不能称其为是数据库系统。同时,为了开发数据库应用系统,还需要有各种高级语言及其编译系统。(1 5)什么是数据字典.?它在数据库中的作用是什么?数据字典(D a t a D i c t i o n a r y)是描述各级模式的信息,主要包括所有数据的结构名、意义、描述定义、存储格式、完整性约束、使用权限等信息。由于数据字典包含了数据库系统中的大量描述信息(而不是用户数据),因此也称它为“描述信息库”。数据字典是D B M S 存取和管理数据的基本依据,主要由系统管理和使用(1 D B A 的主要职责是什么?参与数据库系统的设计与建立。对系统的运行实行监控。定义数据的安全性要求利完整性约束条件。负责数据库性能的改进和数据库的重组及重构工作。用户访问数据库的过程。D接受应用程序的数据请求2)D B M S 对用户的操作请求进行分析3)数据库管理系统要向操作系统发出操作请求4)操作系统接到命令后,对数据库中的数据进行处理,将结果送到系统缓冲区,并发出读完标志。5)D B M S 接到回答信号后,将缓冲区的数据经过模式映射,变成用户的逻辑记录送到用户工作区,同时给用户回答成功与否的信息。(1 8)关系数据库完整性约束有口那些?举例说明。1)实体完整性约束:实体完整性约束是指任一关系中标识属性(关键字)的值,不能为N U L L,否则,无法识别关系中的元组。2)参照完整性约束:参照完整性是不同关系间的一种约束,当存在关系间的引用时,要求不能引用不存在的元组。若属性组F是关系R (U)的外关键字,并是关系S (U)的关键字(即F不是R(U)的关键字,而是S(U)的关键字,称 F是 R(U)的外关键字),则对于R(U)中的每个元组在属性组F上的值必须为:空 值(N U L L)或者等于S (U)中某个元组的关键字值。3)用户定义完整性约束。如值的类型、宽度等。有控制的冗余与无控制的冗余有什么区别?有控制的冗余是指数据库设计者在设计中为了提高操作效率有意保留的冗余数据,无控制冗余是在数据库设计中由于属性间的依赖而存在的关联数据,两者的区别是无控制冗余不是数据库设计者所要保留的冗余数据,因为它会带来很多问题,使得存储效率比较低,而有控制冗余是数据库设计者有意保留的数据,主要是为了改善对数据库的查询效率。简述数据库、数据库管理系统和数据库系统之间的关系数据库是指在计算机的存储设备上合理存放、相关联、有结构的数据集合。这个数据的集合由数据库管理系统进行建立和维护,用户访问数据库中的各种请求都是通过数据库管理系统完成的。数据库系统是在计算机系统中引进数据库和数据库管理系统后的组成,没有数据库和数据库管理系统不能够构成数据库系统。1.4选择题 在()中一个结点可以有多个双亲,结点之间可以有多种联系。A网状模型 B 关系模型 C层次模型 D以上都有数据库管理系统(D BM S)是()。A 一个完整的数据库应用系统 B 一组硬件C 一组软件 D 既有硬件,也有软件用户或应用程序看到的那部分局部逻辑结构和特征的描述是()模式。A 模式 B 物理模式 C 子模式 D 内模式要保证数据库的逻辑数据独立性,需要修改的是()。A 模式与外模式之间的映射 B 模式与内模式之间的映射C 模式D 三级模式下列四项中,不属于数据库系统特点的是()。A 数据共享 B 数据完整性 C 数据冗余度高 D 数据独立性高数据库(DB),数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是()。A DBS 包括 DB 和 DBMSC DB 包括 DBS 和 DBMSB DBMS 包括 DB 和 DBSD DBS就是D B,也就是DBMS数据库系统与文件系统的主要区别是()A 数据库系统复杂,而文件系统简单B 文件系统不能解决数据冗余和数据独立性问题,而数据库系统可以解决C 文件系统只能管理程序文件,而数据库系统能够管理各种类型的文件D 文件系统管理的数据量较少,而数据库系统可以管理庞大的数据量。数据库的概念模型独立于()。A 具体的机器和DBMS B E-R图C 信 息 世 界 D 现实世界在数据库中存储的是()。A 数据 B 数 据 模 型 C 数据以及数据之间的联系D 信息(1 0)在数据库中,数据的物理独立性是指()oA 数据库与数据库管理系统的相互独立B 用户程序与DBMS的相互独立C 用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的D 应用程序与数据库中数据的逻辑结构相互独立QD数据库的特点之 是数据的共享,严格地讲,这里的数据共享是指().A 同一应用中的多个程序共享一个数据集合B 多个用户、同一种语言共享数据C 多个用户共享一个数据文件D 多种应用、多种语言、多个用户相互覆盖地使用数据集合在数据库技术中,为提高数据库的逻辑独立性和物理独立性,数据库的结构被划分成用户级、()和存储级三个层次A 管理员级 B 外部级 C 概念级 D 内部级在数据库中,产生数据不一致的根本原因是()。A 数据存储量太大 B 没有严格保护数据C 未对数据进行完整性控制 D 数据冗余(M)数据库具有、最小的和较高的程序与数据。A 程 序 结 构 化 B 数据结构化C 程 序 标 准 化 D 数据模块化 A 冗余度 B 存 储 量 C 完整性 D 有效性 A 可靠性 B 完 整 性 C 独立性 D 一致性在数据库的三级模式结构中,描述数据库中全体数据的逻辑结构和特征的是()。A 外模式 B 内模式 C 存储模式 D 模式l-5:A,C,C,A,C6-1 0:A,B,A,C,C1 1-1 5:D,C,D,B A C,D1.5对于工程硕士的管理需要掌握的信息有:学生现在的工作单位、职务、简历情况,其中简历情况包括开始时间、终止时间、单位、担任职务、证明人;学生目前在校情况,包括学生的学号、所在学院、所学专业、入学时间、导师;学生在校所学的课程号、课程名、学时、授课教师及成绩;学院包括学院代号、学院名称、院长;导师包括导师职工编号、姓名、出生日期、职称、研究方向。要求:确定实体及实体型属性;找出实体间的联系;画出E-R 图。(1)学生:学号,姓名,专业,学院,入学时间,工作单位,导师号,简历号,职务简历:简历号,开始时间,结束时间,证明人,单位,担任职务课程:课程号,学时,课程名,授课教师学院:学院代号,学院名称,院长导师:导师号,姓名,出生日期,研究方向(2)学生-简历:1:n学生-学院:n:1学生-导师:n:1学生-课程:n:m导师-学院:n:1入学时间T.作单位结束时间开始时间图 1学生实体及其属性担任职务图 2简历实体及其属性图3课程实体及其属性学院图4学院实体及其属性图5导师实体及其属性图6实体联系图第二章2.1 试述关系模型的3 个组成部分答:关系模型由关系数据结构、关系操作和关系完整性约束三部分组成。2.2 一个关系模式能否没有关键字?为什么?答:不可以没有关键字,因为关键字是元组的唯一标志,如果没有关键字则无法唯一标识一个元组。2.3 试述关系模型的完整性规则。在参照完整性中,为什么外部关键字属性的值也可以为空?什么情况下才可以为空?答:(1)实体完整性规则:若属性A是基本关系R的主属性,则属性A不能取空值。(2)参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码 K s 相对应(基本关系R 和 S不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F 的每个属性值均为空值);或者等于S中某个元组的主码值。即属性F本身不是主属性,则可以取空值,否则不能取空值。当外部关键字F 对应的主键K s 值为空值时,说明F暂时没有赋值,此时F值必须取空值。2.4一 个 n行、m 列的二维表(其中没有两行或两列全同),将行或列交换后,能导出多少个不同的表?答:1 个2.5答:(1)最小个数为:取 m,n 中的大者;最大个数为:m+n(2)最小个数为:0;最大个数为:取 m,n 中的小者(3)最小个数为:0;最大个数为:m*n(4)最小个数为:0;最大个数为:n2.6答:R u S=(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)R n S=(7,2,3)R X S=(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)n 3,2(s)=(5,4),(3,2)o B23OSEX=W(S)(3)检索学号为09 0111,学生所学课程的课程名与任课教师名ricNAME.TXAME(C 00 0 SNO=40901 IT SC )(4)检索至少选修刘老师所教授课程中一门课的女学生姓名ris x a iE (TNAME:,刘(C)SC O SEX (S)(5)检索 王一宁 同学不学课程的课程号FICKO(C)-IIcNO(S N A M l?X f (S)8 SC)(6)检索至少选了两门课的学生学号FISNO(。1=4 n 25(s c x S C)(7)检索全部学生都选修的课程的课程号和课程名ric iiO.CNABE(C 00(FISN O.CNO(SC)+FI s M (S)(8)检索选修课程包括刘老师所教授课程的学生姓名risKAMB(SC O TNM=,为/(C)2.13(1)刘老师所教授课程的课程号、课程名 t|(3u)(C(u)A t l=u l A t 2=u 2A C 3=刘 )(2)检索年龄大于23的男学生的学号和姓名 t|Gu)(S(U)A t l=u l A t =U A u 3 23 A u 4 =男,)(3)检索学号为,09 0111 学生所学课程的课程名与任课教师名 t!(3u)(3v)(C(v)A SC(u)A v l=u 2A t l=v 2八”2=V 3AV 1=09 0111 )(4)检索至少选修刘老师所教授课程中一门课的女学生姓名 t!(3u)(3v)(3w)(S(U)ASC(V)AC(W)A U 4=女 AV 1=U 1 A V 2=W 1 AW 3=刘A t l=u 2)(5)检索 王一宁 同学不学课程的课程号t I (3M)(VV)C(M)A SC(V)A(U1=v2=0w)(s(w)A Ml=vl A例2丰 王一宁)A/1=M1)(6)检索至少选了两门课的学生学号(7)检索全部学生都选修的课程的课程号和课程名t I(VH)(3V)(3W)(S(M)ASC(V)AC(W)A M1=vl A V2=wl Atl=vl At2=v2(8)检索选修课程包括刘老师所教授课程的学生姓名t I (3M)(3V)(SC(M)A C(V)A讥2=vl A v3=,刘老师A rl=1(1)11 CX0.TNAMB(。SDEPT=计算机(S)8 S C 8 0 C W*%动 化,(C)(2)It CSO.TXAUE(。S W T-计 算MZ A CDEPT=自 动 化.A S.SNO=SC.SNOASC.CNOC.CNO(SX SC X C)nCNOJNAMEC SDEPT=计算机 A c CDEPT=自动化 AS.SNO=SC.SNOASC.CNO=C.CNOsscnCNOJNAME SC.CNO=C.CNOO SDEPT=计算机 SCnCNOJNAMEO SC.CNO=C.CNOn C.CNOJNAMSC.CNOXo S.SNO=SC.SNO c CD EPTig动化XO SDEPT=计算机 SCsnCNOJNAM Eo SC.CNO=C.CNOn SC.CNOO S.SNO=SC.SNOo CDEPT3自动化,ccO SDEPT*计算机,SCSnCNOJNAM Eo SC.CNO=C.CNOnSC.CNOo S.SNO=SC.SNOO CDEPT=自动化nsN OnSNO,CNOCO SDEPTi计算机,CS2.16在关系代数运算中,各个运算所费时间和空间是不一样的,如何安排若干关系的运算操作步骤,直接影响到整个操作所需要的时间和空间。对关系代数表达式进行优化,可以提高系统的操作效率,达到执行过程既省时间又省空间的目的。第三章3-1解释下列术语:基 本 及 视 图 单 表 查 询 连 接 查 询 嵌 套 查 询 交 互 式 S Q L 嵌入式S Q L 宿主语言答:(1)基本表:简称基表。是数据库中实际存在的表,在 SQL中一个关系对应于一个表。(2)视图:SQL用视图概念支持非标准的外模式概念。视图是从一个或几个基表导出的表,虽然它也是关系形式,但它本身不实际存储在数据库中,只存放对视图的定义信息(没有对应的数据)。因此,视图是一个虚表(Virtual Table)或虚关系,而基表是一种实关系(PracticalRelation),(3)单表查询:只涉及到一个关系的查询。(4)连接查询:同时涉及两个以上的表的查询。(5)嵌套查询:将一个查询块嵌套在另一个查询块的WHERE子句或HAVING条件中的查询。(6)交互式SQL:做为独立语言由用户在交互环境下使用的SQL语言。(7)嵌入式SQL:将 SQL语言嵌入到某种高级语言中使用,利用高级语言的过程性结构来弥补SQL语言在实现复杂应用方面的不足的SQL语言。(8)宿主语言:嵌入SQL的高级语言称为主语言或宿主语言。3-2试述SQL语言的特点答:1 .综合统一2.高度非过程化3.面向集合的操作方式4.以同一种语法结构提供两种使用方式3-3试述SQL体系结构和关系数据库模式之间的关系答:SQL语言支持关系数据库体系结构,即外模式、模式和内模式,利用SQL语言可以实现对三级模式的定义、修改和数据的操纵功能,在此基础上形成了 SQL体系结构;在SQL体系结构中的视图对应了关系数据模式的外模式,基本表对应了关系数据模式的模式,存储文件对应了关系数据模式的内模式。3-4 SQL是如何实现实体完整性、参照完整性和用户定义完整性的?答:实体完整性简单的说,就是将表中的每一行看作一个实体。实体完整性要求表的标示符列或主键的完整性。可以通过建立唯一索弓I、PRIMARY KEY约束、UNIQUE约束,以及列的IDENTITY属性来实施实体完整性。参照完整性维持被参照表和参照表之间的数据一致性,他通过主键(PRIMARY KEY)约束和外 键(FOREIGN KEY)约束来实现。引用完整性确保键值在所有表中一致。这样的一致性要求不能引用不存在的值,如果键值更改了,那么在整个数据库中,对该键值的所有引用要进行一致的更改。在被参照表中,当其主键值被其他表所参照时,该行不能被删除也不允许改变。在参照表中,不允许参照不存在的主键值。用户定义完整性使得可以定义不属于其它任何完整性分类的特定业务规则。所有的完整性类型都支持用户定义完整性。3-5讨论当对一个视图进行更新的时候可能会出现什么样的问题?答:1)若视图的属性来自属性表达式或常数,则不允许对视图执行INSERT和 UPDATE操作,但允许执行DELETE操作。2)若视图的属性来自库函数,则不允许对此视图更新。3)若视图定义中有GROUP BY子句,则不允许对此视图更新。4)若视图定义中有DISTINCT任选项,则不允许对此视图更新。5)若视图定义中有嵌套查询,并且嵌套查询的FROM子句涉及导出该视图的基本表,则不允许对此视图更新。6)若视图由两个以上的基本表导出,则不允许对此视图更新。7)如果在一个不允许更新的视图上再定义一个视图,这种二次视图是不允许更新的。3-6设有两个基本表R(A,B,C)和 S(A,B,C)试用SQL查询语句表达下列关系代数表达式:(1)RAS(2)R-S (3)RU S(4)RXS(1)(select*from R)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 的学生所学课程的课程号、课程名和任课教师姓名。(4)查 询“张小飞”没有选修的课程号和课程名。查询至少选修了 3 门课程的学生的学号和姓名。(6)查询全部学生都选修了的课程编号和课程名称。在 SC 中删除尚无成绩的选课元组。(8)把“高等数学”课的所有不及格成绩都改为60。把低于总评均成绩的女同学的成绩提高5%。向 C 中插入元组(C8,V C+,王昆)。3-7(1)查 询“刘某”老师所授课程的课程号和课程名;SELECT课程号,课程名FROMCWHERE任课教师姓名LIKE,刘*,(2)查询年龄大于23岁的男同学的学号和姓名;SELECT学号,姓名FROMSWHERE年龄 23 AN D 性别=男,(3)查询学号为S3的学生所学课程和课程号,课程名和任课教师姓名SELECT C.课程号,课程名,任课教师姓名FROM C,SCWHERE SC.学号=S3 And C.课程号=SC.课程号(4)查询 张小飞”同学没有选修的课程的课程号和课程名;SELECT C.课程号,C.课程名FROMCWHERE 课程号 NOT IN(SELECT课程号FROM SCWHERE 学号 IN(SELECT 学号 FROMSWHERE姓名=张小飞);或者SELECT*FROMCWHERE NOT EXISTS(SELECT SC.课程号FROM SC,SWHERE SC.课程号=C.课 程 号 AND S.学号=SC.学号ANDS姓名=张小飞,)或者SELECT*FROMCWHERE 课程号 NOTIN(SELECT课程号FROM SC,SWHERES.学号=SC.学 号 ANDS.姓名=,张小飞)(5)查询至少选修了 3 门课程的学生的学号和姓名;SELECT学号,姓名FROMSWHERE 学号 IN(SELECT 学号FROM SCGROUP BY 学号HAVING COUNT(课程号)=3)(6)查询全部学生都选修了的课程号和课程名;SELECT课程号,课程名FROMCWHERE NOT EXISTS(SELECT 学号FROMSWHERE NOT EXISTS(SELECT 学号FROM SCWHERE SC.课程号=C.课 程 号 AND S.学号=SC.学号)或者SELECT课程号,课程名FROMCWHERE NOT EXISTS(SELECT 学号FROM S)EXCEPT(SELECT 学号FROM SCWHERE SC.课程号=C.课程号)(7)在 SC表中删除无成绩的选课纪录;DELETE*FROM SCWHERE GRADE is null;(8)把“高等数学”的所有不及格成绩都改为60分;UPDATE SCSE T 成 绩=60WHERE GRADE 60 AND 课 程 号=(SELECT课程号FROMCWHERE课程名=,高等数学,)(9)把低于总平均成绩的女同学的成绩提高5%UPDATE scSET 成 绩=成绩*(1+0.05)WHERE 学号 in(select 学号 from s where 性别=女)and 成绩 (select avg(成绩)from sc);(10)向 C 中插入元组(“C8,VC+”,“王昆”)INSERT INTO CVALUES(C8JVC+,王昆);3-8图 3-2中显示的数据库模式Library,用来记录书籍、借书人和书籍借出的情况,参照完整性在图中用有向弧来表示,请用SQL语言建立图中的关系模式,并完成下列操作:Book 11)T itle Publ isherNaacBookllLAuthorNane Address Phone图 3-2 Library数据库模式 查 询“高等教育出版社”出版的所有图书名称和编号;查询所有作者是“郭雨辰”的图书的编号和名称;查 询“李明”借过的所有图书的名称;(4)查 询“李明”从 2008年 1 月 1 日到2009年 1 月 1 日期间借过的图书名称;列 出 从 2008年 1 月 1 日到2009年 1 月 1 日期间没有被人借过的图书名称和编号;(6)列出从2008年 1 月 1 日到2009年 1 月 1 日期间借出次数最多的10本图书名称;(7)将“高等教育出版社”的电话改为“010 64054588”;3-8(1)SELECT BookID,TitleFROM BookWHERE PublishNamei高等教育出版社,(2)SELECT BookID,TitleFROM BookID,BookWHERE Book.BooklD=Author.BooklD AND Author=郭雨辰(3)SELECT TitleFROM Book,Borrow,BorrowerWHERE Borrow.CardlD=Borrower.CardlD AND Borrow.BooklD=Book.BooklD ANDBorrower.Name=李明SELECT TitleFROM Book,Borrow,BorrowerWHERE Borrow.CardlD=Borrower.CardlD AND Borrow.BooklD=Book.BooklD ANDBorrowerName=李明AND DateOut BETWEEN 2008-1-1 AND.2009-1-1(5)SELECT TitleFROM BookWHERE NOT EXISTS(SELECT*FROM Borrow,BookWHERE Borrow.BooklD=Book.BooklD AND Dateout Between 2008-1-1 AND 2009-1-1)SELECT top 10 TitleFROM Book,BorrowWHERE Borrow.BooklD=Book.BooklD AND Dateout Between 2008-1-1 AND 2009-1-1GROUP BY Book.BookIDORDER BY Book.BookID DESC(7)UPDATE PublisherSET Phone=,010-64054588,WHERE Name*高等教育出版社,3-9 针 对 3.8建立的表,用 SQL语言完成下列操作:(1)把对所有表的INSERT权限授予“张丽”,并允许她将此权限授予其他用户;Grant INSERT to 张丽 with grant option把查询和修改BORROWER的权限受给用户“王伟”。Grant select,update on BORROWER to 王伟习题四4.1理解并给出卜列术语的定义:函数依赖 部分函数依赖 完全函数依赖 传递函数依赖候 选 码 主 码 外 码 全 码 主 属 性 非 主 属 性INF 2NF 3NF BCNF 4 N F函数依赖集闭包属性集闭包函数依赖集等价最小函数依赖集 无损连接函数依赖保持设R(U)是属性集U上的关系模式。若对于R(U)的任意一个可能的关系r,X,Y是属性集U的任意子集,当且仅当对r中任意一个给定的X的属性值,r中都只存在惟一的丫 属性值与之对应。也就是说,如果X相等,就 有y也相等,则 称y函数依赖于X或X函数确定Y,记作X fY。在R(U)中,如 果x y,并且对于x的一个真子集x ,有x丫成立,则称Y对x部分函数依赖(Partial Functional Dependency),记作 X 在R(U)中,如果xf y,并且对于x的任何一个真子集x,都有X,为 丫 成立,则称 丫 对 X 完全函数依赖(Full Functional Dependency),记作 X y,y-/X f 丫 .Z,则 称Z对X传递函数依赖(TransitiveFunctional Dependency),记做 y ,、工设K为R中的属性或属性组,若K/,U,则 人为R的候选码。若候选码多于一个,则选定其中的一个为主码。包含在任何一个候选码中的属性,叫做主属性。不包含在任何候选码中的属性称为非主属性。最简单的情况,码只包含单个属性;最复杂的情况是所有属性集组合成码,称为全码。关系模式R中属性或属性组X并 非R的主码,但X是 另 个关系模式的主码,则称X是R的外码。设R是一个关系模式,如 果R中的每一个属性A的属性名和属性值都是不可再分的,则称R属于第一范式,记作:RG1NF。若Re 1 N F,且每一个非主属性都完全函数依赖于码,则Re2NF。关系模式R(U,F)中若不存在这样的码X,属性组y及非主属性组z(z$r),使得x y,y 分 x,成立,贝U称R(U,F)3N F。关系模式R(U,F)elN F,若每一个决定因素都含有码,则ReBCNF。关系模式R(U,F)eiN F,若 对R的每个非平凡多值依赖X f y(丫g*),X都包含码,则称R(U)满足第四范式,记为RC4NF。称所有被一个一知函数依赖集F逻辑蕴涵的那些函数依赖的集合为F的闭包(Closure),记 为F 设有关系模式R(U),F是U上的一个函数依赖集,X q U,定义X j=A|xA能由F根据Armstrong公理导出,并 称 为 属 性 集X关于函数依赖集F的闭包。如果函数依赖集F满足下列条件,则称F是一个极小函数依赖集或最小覆盖。F中每一个函数依赖的右部都是单个属性。对F中任一函数依赖X-A,F-XA都不与F等价。对 于F中的任一函数依赖X-A,F-X f AU Z-A都不与F等价,其中Z为X的任一子集。如果函数依赖集F与某个最小依赖集小,“等价,则称小”,是F的最小覆盖或尸“是Fr m r m r m的最小依赖集。设R是 个关系模式,F是R上的一个函数依赖集,R分解为关系模式的