数据库概论及实例网上作业题-参考答案_第1页
数据库概论及实例网上作业题-参考答案_第2页
数据库概论及实例网上作业题-参考答案_第3页
数据库概论及实例网上作业题-参考答案_第4页
数据库概论及实例网上作业题-参考答案_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

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

文档简介

东北农业大学网络教育学院数据库概论及实例网上作业题第一章绪论一、单项选择题(每小题2分)1.DBS是采用了数据库技术的计算机系统,DBS是一个集合体,包含数据库、计算机硬件、软件和(C)。

A.系统分析员B.程序员C.数据库管理员D.操作员

2.数据库(DB),数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是(A)。

A.DBS包括DB和DBMSB.DBMS包括DB和DBS

C.DB包括DBS和DBMSD.DBS就是DB,也就是DBMS

3.下面列出的数据库管理技术发展的三个阶段中,没有专门的软件对数据进行管理的是(D)。

I.人工管理阶段II.文件系统阶段III.数据库阶段

A.I和IIB.只有IIC.II和IIID.只有I

4.下列四项中,不属于数据库系统特点的是(C)。

A.数据共享B.数据完整性C.数据冗余度高D.数据独立性高

5.数据库系统的数据独立性体现在(B)。

A.不会因为数据的变化而影响到应用程序B.不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序

C.不会因为存储策略的变化而影响存储结构

D.不会因为某些存储结构的变化而影响其他的存储结构

6.描述数据库全体数据的全局逻辑结构和特性的是(A)。

A.模式B.内模式C.外模式D.用户模式

7.要保证数据库的数据独立性,需要修改的是(C)。

A.模式与外模式B.模式与内模式C.三层之间的两种映射D.三层模式

8.要保证数据库的逻辑数据独立性,需要修改的是(A)。

A.模式与外模式的映射B.模式与内模式之间的映射C.模式D.三层模式

9.用户或应用程序看到的那部分局部逻辑结构和特征的描述是(C),它是模式的逻辑子集。

A.模式B.物理模式C.子模式D.内模式

10.数据库系统的核心是(D)。A、编译系统

B、数据库

C、操作系统

D、数据库管理系统11.数据库的特点之一是数据的共享,严格地讲,这里的数据共享是指(D)。A、同一个应用中的多个程序共享一个数据集合B、多个用户、同一种语言共享数据C、多个用户共享一个数据文件D、多种应用、多种语言、多个用户相互覆盖地使用数据集合12.(B)是存储在计算机内有结构的数据的集合。A、数据库系统

B、数据库

C、数据库管理系统D、数据结构13.数据库的基本特点是(B)。A、(1)数据可以共享(或数据结构化)(2)数据独立性(3)数据冗余大,易移植

(4)统一管理和控制B、(1)数据可以共享(或数据结构化)

(2)数据独立性(3)数据冗余小,易扩充

(4)统一管理和控制C、(1)数据可以共享(或数据结构化)(2)数据独立性(3)数据冗余小,易扩充

(4)统一管理和控制14.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。在这几个阶段中,数据独立性最高的是(

A

)阶段。A、数据库系统

B、文件系统C、人工管理

D、数据项管理15.在数据库中存储的是(C)。A、数据

B、数据模型

C、数据以及数据之间的关系

D、信息16.关于数据库的三级结构的说法正确的是(A)A、模式是内模式的逻辑表示B、模式是内模式的物理实现C、模式是外模式的物理抽取D、外模式是内模式的物理实现17.下面哪一条不符合数据库系统的特点DA、数据结构化

B、数据独立性强C、数据共享性高

D、数据面向应用程序18.下述哪一条不在DBA(数据库管理员)的职责范围内?AA、设计数据库管理系统

B、设计数据库的逻辑结构C、制订数据库的存储策略

D、监督和控制数据库的运行19.数据库系统中,依靠下述(C)手段支持了数据独立性。A、具有封锁机制

B、定义完整性约束条件C、模式分级,各级之间有映象机制D、DDL语言和DML语言相互独立20.模式是数据库(A)A、装配数据的框架

B、物理存储策略

C、局部逻辑结构

D、模型21.在数据库的三级模式结构中,内模式有(A)。A、1个

B、2个

C、3个

D、任意多个二、判断题(每题1分)1.数据库系统是由软/硬件平台、数据库管理系统、数据库、数据库应用软件及界面、数据库管理员和用户这5部分组成的。(

)2.DBS最重要的软件是DBMS,最重要的人是DBA。(

)3.从数据库最终用户角度、应用系统开发者角度、数据库管理系统角度到数据库的角度,数据库系统结构逐层细化,透明性逐渐增强。(

)4.数据库的共享是并发的共享,即多个用户可以同时存取数据库中的数据。(

)5.外模式是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。(

)6.数据库管理系统是统一管理数据的专用软件系统,但是却增加了应用程序的编程量。(

三、填空题(每空1分)1.数据库数据具有(永久存储)、(有组织)和(可共享)三个基本特点。2.数据库管理系统是数据库系统的一个重要组成部分,它的功能包括(数据定义功能)、(数据操作功能)、(数据库运行管理)、(维护功能)。3.数据库系统是指在计算机系统中引入数据库后的系统,一般由(数据库)、(数据库管理系统)、(应用系统)和(数据库管理员)构成。4.数据库管理技术的发展是与计算机技术及其应用的发展联系在一起的,它经历了三个阶段:(人工管理)阶段,(文件系统)阶段和(数据库系统)阶段。5.数据库具有数据结构化、最小的(冗余度)、较高的(数据独立性)等特点6.DBMS还必须提供(数据的安全性)保护、(数据的完整性)检查、(并发控制)、(数据库恢复)等数据控制功能。7.模式(Schema)是数据库中全体数据的(逻辑结构)和(特征)的描述,它仅仅涉及到(型)的描述,不涉及到具体的值。8.三级模式之间的两层映象保证了数据库系统中的数据能够具有较高的(逻辑独立性)和(物理独立性)。四、简答题(每题5分)1.试述数据、数据库、数据库系统、数据库管理系统的概念。答:数据:描述事物的符号记录称为数据。数据的种类有文字、图形、图象、声音、正文等等。数据与其语义是不可分的。 数据库:数据库是长期储存在计算机内、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。   数据库系统:数据库系统(DBS)是指在计算机系统中引入数据库后的系统构成。数据库系统由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。     数据库管理系统:数据库管理系统(DBMS)是位于用户与操作系统之间的一层数据管理软件。用于科学地组织和存储数据、高效地获取和维护数据。DBMS主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。2.使用数据库系统有什么好处?答:使用数据库系统的好处是由数据库管理系统的特点或优点决定的。    使用数据库系统的好处很多,例如可以大大提高应用开发的效率,方便用户的使用,减轻数据库系统管理人员维护的负担等。    使用数据库系统可以大大提高应用开发的效率。因为在数据库系统中应用程序不必考虑数据的定义、存储和数据存取的具体路径,这些工作都由DBMS来完成。用一个通俗的比喻,使用了DBMS就如有了一个好参谋好助手,许多具体的技术工作都由这个助手来完成。开发人员就可以专注于应用逻辑的设计而不必为管理数据的许许多多复杂的细节操心。   还有,当应用逻辑改变,数据的逻辑结构需要改变时,由于数据库系统提供了数据与程序之间的独立性。数据逻辑结构的改变是DBA的责任,开发人员不必修改应用程序,或者只需要修改很少的应用程序。从而既简化了应用程序的编制,又大大减少了应用程序的维护和修改。    使用数据库系统可以减轻数据库系统管理人员维护系统的负担。因为DBMS在数据库建立、运用和维护时对数据库进行统一的管理和控制,包括数据的完整性、安全性,多用户并发控制,故障恢复等等都由DBMS执行。    总之,使用数据库系统的优点是很多的,既便于数据的集中管理,控制数据冗余,可以提高数据的利用率和一致性,又有利于应用程序的开发和维护。3.试述文件系统与数据库系统的区别和联系。答:文件系统与数据库系统的区别:文件系统面向某一应用程序,共享性差、冗余度大,独立性差,纪录内有结构、整体无结构,应用程序自己控制。 数据库系统面向现实世界,共享性高、冗余度小,具有高度的物理独立性和一定的逻辑独立性,整体结构化,用数据模型描述,由数据库管理系统提供数据安全性、完整性、并发控制和恢复能力。 4.举出适合用文件系统而不是数据库系统的例子;再举出适合用数据库系统的应用例子。答:适用于文件系统而不是数据库系统的应用例子 :数据的备份,软件或应用程序使用过程中的临时数据存储一般使用文件比较合适。     早期功能比较简单、比较固定的应用系统也适合用文件系统。    •适用于数据库系统而非文件系统的应用例子    目前,几乎所有企业或部门的信息系统都以数据库系统为基础,都使用数据库。如一个工厂的管理信息系统(其中会包括许多子系统,如库存管理系统、物资采购系统、作业调度系统、设备管理系统、人事管理系统等等),还比如学校的学生管理系统,人事管理系统,图书馆的图书管理系统等等都适合用数据库系统。5.试述数据库系统的特点。答:数据库系统的主要特点有:    一、数据结构化    数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。      二、数据的共享性高,冗余度低,易扩充    数据库的数据不再面向某个应用而是面向整个系统,因此可以被多个用户、多个应用、用多种不同的语言共享使用。由于数据面向整个系统,是有结构的数据,不仅可以被多个应用共享使用,而且容易增加新的应用,这就使得数据库系统弹性大,易于扩充。    三、数据独立性高    数据独立性包括数据的物理独立性和数据的逻辑独立性。    数据库管理系统的模式结构和二级映象功能保证了数据库中的数据具有很高的物理独立性和逻辑独立性。     四、数据由DBMS统一管理和控制    数据库的共享是并发的共享,即多个用户可以同时存取数据库中的数据甚至可以同时存取数据库中同一个数据。为此,DBMS必须提供统一的数据控制功能,包括数据的安全性保护,数据的完整性检查,并发控制和数据库恢复。6.数据库管理系统的主要功能有哪些?答:①数据库定义功能;    ②数据存取功能;    ③数据库运行管理;    ④数据库的建立和维护功能。7.试述数据库系统三级模式结构,这种结构的优点是什么?答:数据库系统的三级模式结构由外模式、模式和内模式组成。外模式,亦称子模式或用户模式,是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。模式,亦称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。模式描述的是数据的全局逻辑结构,外模式涉及的是数据的局部逻辑结构,通常是模式的子集。内模式,亦称存储模式,是数据在数据库系统内部的表示,即对数据的物理结构和存储方式的描述。   数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织留给DBMS管理,使用户能逻辑抽象地处理数据,而不必关心数据在计算机中的表示和存储。   为了能够在内部实现这三个抽象层次的联系和转换,数据库系统在这三级模式之间提供了两层映像:外模式/模式映像和模式/内模式映像,正是这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。8.什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性?为什么数据库系统具有数据与程序的独立性?答:物理独立性是指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。即,数据在磁盘上怎样存储由DBMS管理,用户程序不需要了解,应用程序要处理的只是数据的逻辑结构,这样当数据的物理存储改变了,应用程序不用改变。  逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的,即,当数据的逻辑结构改变时,用户程序也可以不变。 数据库系统的数据可以为多个程序服务,程序也可以调用多个数据库中数据,这就是数据和程序的独立性。9.试述数据库系统的组成。答:主要功能:1,数据定义功能。2,数据组织、存储和管理。3,数据操纵功能。4,数据库的事务管理和运行管理。5,数据库的建立和维护功能。6,其他功能。10.DBA的职责是什么?答:参与数据库的设计,规划和建立。 负责数据库管理系统的安装和升级。 规划和实施数据库备份和恢复。 控制和监控用户对数据库的存取访问,规划和实施数据库的安全型和稳定性。 支持开发和应用数据库的技术。11.系统分析员、数据库设计人员、应用程序员的职责是什么?答:系统分析员负责应用系统的需求分析和规范说明,要和用户及DBA相结合,确定系统的软硬件配置,并参与数据库系统的概要设计。  数据库设计人员负责数据库中数据的确定、数据库各级模式的设计,数据库人员必须参加用户要求调查和系统分析,然后进行数据库设计。   应用程序员负责设计和编写应用系统的程序模块,并进行调试和安装。第二章数据模型一、单项选择题(每小题2分)1.常见的数据模型是(A)A)层次模型、网状模型、关系模型B)概念模型、实体模型、关系模型C)对象模型、外部模型、内部模型D)逻辑模型、概念模型、关系模型2.一个结点可以有多个双亲,结点之间可以有多种联系的模型是(A)A)网状模型 B)关系模型 C)层次模型 D)以上都有3.层次数据模型的基本数据结构是(A)A)树 B)图 C)索引 D)关系4.用二维表结构表示实体以及实体间联系的数据模型称为(C)A)网状模型 B)层次模型 C)关系模型 D)面向对象模型5.关系数据模型的基本数据结构是(D)A)树 B)图 C)索引 D)关系6.下列所述数据模型概念,不正确的是(A)A)不同记录型的集合 B)各种记录型及其联系的集合C)E-R图表示的实体联系模型 D)数据库的概念模型7.对关系模型叙述错误的是(D)A)在严格的数学理论、集合论和谓词基础之上B)微机DBMS绝大部分采取关系数据模型C)用二维表表示关系模型是其一大特点D)不具有连接操作的DBMS也可以是关系数据库系统8.关系数据模型是目前最重要的一种数据模型,它的三个要素分别是(B)A)实体完整性、参照完整性、用户自定义完整性B)数据结构、关系操作、完整性约束C)数据增加、数据修改、数据查询D)外模式、模式、内模式二、判断题(每题1分)1.用二维表结构表示实体型,外键实现实体之间联系的模型称为关系模型。(对)2.关系模型不能表示实体之间多对多联系。(错)3.任何一张二维表格都表示一个关系。(错)4.关系是元组的集合。(对)填空题(每空1分)数据模型的三要素是指(   数据结构   ),(  数据操作    ),(   数据完整性   )。实际数据库系统中所支持的主要数据模型是(   层次模型   ),(   关系模型   ),(  网状模型    )。  数据模型中的(   数据结构   )是对数据系统的静态特征描述,包括数据结构和数据间联系的描述,(  数据操作    )是对数据库系统的动态特征描述,是一组定义在数据上的操作,包括操作的涵义、操作符、运算规则及其语言等。  用树型结构表示实体类型及实体间联系的数据模型称为(   层次   )模型,上一层的父结点和下一层的子结点之间的联系是(一对多 )的联系。  用有向图结构表示实体类型及实体间联系的数据模型称为(   网状   )模型,数据之间的联系通常通过(    指针  )实现。  层次模型的上层实体和下层实体之间表现为(   1:n   )联系。  (   关系模型   )是目前最常用也是最重要的一种数据模型。采用该模型作为数据的组织方式的数据库系统称为(   关系数据库系统   )。  7.关系的完整性约束条件包括三大类:(    实体完整性  )、(  参照完整性    )和(    用户定义完整性  )。名词解释 (每题2分) 关系:关系是一种数学结构,被定义为一个笛卡尔集的子集,即符合条件的笛卡尔积中的元素为相关的。表中每一行都与不同的列上的值相关联,所以表中的行的完整集合才被称为一个关系。 属性:在关系模型中,字段称为属性。 域:在关系中,每一个属性都有一个取值范围,称为属性的值域。 元组:在关系中,记录称为元组。 主码:能够唯一地标识一个元组的属性或属性组称为关系的码或候选码。若一个关系有 多个候选码则可选其一作为主码或主键(Primary key)。 分量:分量必须取原子值,即每一个分量都必须是不可分的数据项。 (7)关系模式:从用户观点看,关系模式是由一组关系组成,每个关系的数据结构是一张规范化的二维表。五、简答题 (每题5分) 1.试述网状、层次数据库的优缺点。  答:网状数据模型的优点主要有:  (1)能够更为直接地描述现实世界,如一个结点可以有多个双亲。 (2)具有良好的性能,存取效率较高。 网状数据模型的缺点主要有:  (1)结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握。  (2)其数据定义语言(DDL)、数据操作语言(DML)复杂,用户不容易使用。 (3)数据独立性较差。由于记录之间联系是通过存取路径实现的,应用程序在访问数据时必须选择适当的存取路径,因此,用户必须了解系统结构的细节,加重了编写应用程序的负担。从而影响数据独立性。 层次模型的优点主要有:  (1)层次数据模型本身比较简单,层次分明,便于在计算机内实现。 (2)在层次数据结构中,从根结点到树中任一结点均存在一条唯一的层次路径,为有效地进行数据操纵提供条件。  (3)由于层次结构规定除根结点外所有结点有且仅有一个双亲,故实体集之间的联系可用双亲结点唯一地表示,并且层次模型中的基本层次联系总是从双亲记录指向子女记录,所以记录类型之间的联系名可省略。由于实体集间的联系固定,所以层次模型DBMS对层次结构的数据有较高的处理效率。 (4)层次数据模型提供了良好的完整性支持。  (5)实体间联系是固定的,且预先定义好的应用系统,采用层次模型来实现,其性能优于关系模型,不低于网状模型。  可见用层次模型对具有一对多的层次关系的部门描述非常自然、直观,容易理解。这是层次数据库的出优点。  试述层次模型的概念,举出三个层次模型的实例。  答:学校 系 班级 教研室 学生 教师课程 校-系 系-班 系-室 班-生 室-教 选修 指导 1n nnn n nn1 1 111 m 学校名 系编号 系名班级编号 班级名 教研室编号 教研室名 学号姓名学历 课程编号 课程名 职工号 姓名 职称 成绩  试述数据模型的概念和数据模型的三个要素。  答:数据模型(Data Model)也是一种模型,它是现实世界数据特征的抽象。 作用:在数据库中用数据模型来抽象、表示和处理现实世界中的数据和信息。通俗地讲数据模型就是现实世界的模拟,现有的数据库系统均是基于某种数据模型的。  三个要素:数据模型由数据结构、数据操作和完整性约束三部分组成。 试述概念模型的作用。  答:概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言,因此概念模型一方面应该具有较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识,另一方面它还应该简单、清晰、易于用户理解。第三章关系数据库一、单项选择题(每小题2分)1.关系数据库管理系统应能实现的专门关系运算包括(

B

)。A、排序、索引、统计;

B、选择、投影、连接;C、关联、更新、排序;

D、显示、打印、制表。2.关系模型中,候选码(

C

)。A、可以由多个任意属性组成B、至多由一个属性组成C、可以由一个或多个其值能惟一标识该关系模式中任何元组的属性组成D、以上都不是3.根据关系模式的完整性规则,一个关系中的“主码”,(

C

)。A、不能有两个B、不能成为另外一个关系的外码C、允许为空D、可以取值4.自然连接是构成新关系的有效方法。一般情况下,当对关系R和关系S使用自然连接时,要求R和S含有一个或多个共有的(

D

)。A、元组;

B、行;

C、记录;

D、属性。5.取出关系中的某些列,并消除重复元组的关系代数运算称为(

B

)。A、取列运算;

B、投影运算;

C、连接运算;

D、选择运算。6.关系代数的五个基本操作是(

D

)。A、并、交、差、笛卡儿积、除法;

B、并、交、选取、笛卡儿积、除法;C、并、交、选取、投影、除法;

D、并、差、选取、笛卡儿积、投影。7.关系模式的任何属性(

A)。A、不可再分;B、可以再分;C、命名在该关系模式中可以不惟一;D、前述都不是。8.自然连接是(

C

)进行运算。A、向关系的垂直方向;B、向关系的水平方向;C、既向关系的水平方向也向关系的垂直方向;D、先向关系的垂直方向,然后再向关系的水平方向。9.笛卡儿积是(

B

)进行运算。A、向关系的垂直方向;B、向关系的水平方向;C、既向关系的水平方向也向关系的垂直方向;D、先向关系的垂直方向,然后再向关系的水平方向。10.同一个关系模型的任意两个元组值(

A)。A、不能全同;

B、可以全同;

C、必须全同;

D、前述都不是。11.在基本的关系中,下列说法正确的是(

C

)。A、行列顺序有关;

B、属性名允许重名;C、任意两个元组不允许重复;

D、列是非同质的。12.如表所示,两个关系R1和R2,它们进行(

D

)运算后得到R3。A、交;

B、并;

C、笛卡儿积;

D、连接。表1

R1ABCa1xc2yd1y

表2

R2DEF1mJ2nJ5mk

表3

R3ABCDEFa1x1mib1y1mic2y2nj13.两个关系在没有公共属性时,其自然连接操作表现为(

B

)。A、结果为空关系

B、笛卡儿积运算C、等值连接操作

D、无意义的操作14.参加差运算的两个关系(

B)。A、属性个数可以不相同;B、属性个数必须相同;C、一个关系包含另一个关系的属性;D、属性名必须相同。15.关系数据库系统实体完整性约束的意义在于(

A

)。A、用主键唯一识别元组

B、实现实体间联系

C、防范非授权访问

D、保证关系运算安全性16.任何关系的一个元组只能通过外键与另一个关系中存在的元组相关联,这是(

C

)。A、关系运算的安全性

B、数据库的安全性

C、参照完整性约束

D、实体完整性约束17.(

B

)不是集合。A、关系

B、关系模式

C、域

D、笛卡儿乘积18.在关系模型中,任何关系必须满足实体完整性、(

B

)和用户定义完整性。A、结构完整性

B、参照完整性

C、数据完整性

D、以上都不正确19.对于关系和关系模式(

A

)A、关系经常改变,关系模式不经常改变B、关系经常不改变,关系模式经常改变C、关系经常改变,关系模式也经常改变D、关系不经常改变,关系模式也不经常改变20.关系的名称及其属性集合的组合称为这个关系的(

A

)A、模式

B、数据库模式

C、模型

D、模型设计21.“年龄在15至30岁之间”这种约束属于DBS的(

C

)功能A、恢复

B、并发控制

C、完整性

D、安全性22.关系模型是(C)A、用关系表示实体B、用关系表示联系C、用关系表示实体及其联系D、用关系表示属性二、填空题(每空1分)1.连接运算是由(   笛卡儿积     )、(    选择

    )和(     投影   )操作组合而成的。 2.代数的连接运算中当连接比较运算符为“=”的连接称为(    等值连接    ),且当比较的分量是相同的属性组时,则称之为(    自然连接    )。 3.关系的完整性分为(     实体完整性   )、(   参照完整性    )、(   用户定义完整性     )三类。 4.代数运算中,专门的关系运算是:(   选择     )、(   投影     )、(    连接    )(    除    )。 5.系(系编号,系名称,系主任,电话,地点)和学生(学号,姓名,性别,入学日期,专业,系编号)两个关系,系关系的主关键字是(   系编号    ),学生关系的主关键字是(   学号   ),外关键字是(  系编号    )。 6.投影是在关系的(  列)的方向上进行的针对( 属性  )进行的关系代数运算。简答题关系数据语言的特点和分类。(4分) 答:关系数据语言可以分为三类: A、 关系代数语言。  B、 关系演算语言:元组关系演算语言和域关系演算语言。  C、 SQL:具有关系代数和关系演算双重特点的语言。这些关系数据语言的共同特点是,语言具有完备的表达能力,是非过程化的集合操作语言,功能强,能够嵌入高级语言中使用。 关系模型的三个组成部分。(4分) 答:关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。 为什么关系中不允许有重复元组?(4分) 答:每个关系模式都有一个主键,在关系中主键的值是不允许重复的,否则起不了惟一的标识作用。如果关系中有重复元组,那么其主键值肯定相等,因此关系中不允许有重复元组。 为什么关系中的元组没有先后顺序?(4分) 答:由于关系定义为元组的集合,而集合中的元素是没有顺序的,因此关系中的元组也就没有先后顺序(对用户而言)。这样既能减少逻辑顺序,又便于在关系数据库中引进集合论的理论。笛卡尔积、等值联接、自然联接三者之间有什么区别? (4分) 答:笛卡尔积对两个关系R和S进行乘操作,产生的关系中元组个数为两个关系中元组个数之积。 等值联接则是在笛卡尔积的结果上再进行选择操作,从关系R和S的笛卡儿积中选择对应属性值相等的元组; 自然连接则是在等值联接(以所有公共属性值相等为条件)的基础上再行投影操作,并去掉重复的公共属性列。 当两个关系没有公共属性时,自然连接就转化我笛卡尔积。 代数的基本运算有哪些?(4分) 答:在八种关系代数的基本运算中,并、差、笛卡儿积、投影和选择五种运算为基本的运算。其他三种运算,即交、连接和除,均可以用五种基本运算来表达。7.关系模型的完整性规则。在参照完整性中,为什么外部码属性的值也可以为空?什么情况下才可以为空?(4分) 答:关系模型的完整性规则是对关系的某种约束条件。关系模型中可以有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称做是关系的两个不变性,应该由关系系统自动支持。(1)实体完整性规则:若属性A是基本关系R的主属性,则属性A不能取空值。(2)参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码KS相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:(1)或者取空值(F的每个属性值均为空值);(2)或者等于S中某个元组的主码值。(3)用户定义的完整性是针对某一具体关系数据库的约束条件。它反映某一具体应用所涉及的数据必须满足的语义要求。在参照完整性中,外部码属性的值可以为空,它表示该属性的值尚未确定,但前提条件是该外部码属性不是其所在关系的主属性。例如,在下面的”学生”表中,”专业号”是一个外部码,不是学生表的主属性,可以为空,其语义是,该学生的专业尚未确定。学生(学号,姓名,性别,专业号,年龄)专业(专业号,专业名)而在下面的”选修”表中的”课程号”虽然也是一个外部码属性,但它又是”课程”表的主属性,所以不能为空,因为关系模型必须满足实体完整。

课程(课程号,课程名,学分)

选修(学号,课程号,成绩)8.并理解下列术语,说明他们之间的联系与区别: 域、笛卡儿积、关系、元组、属性 主码、候选码、外部码 (3)关系模式、关系、关系数据库 答:(1)   a) 域:域是一组具有相同数据类型的值的集合。  笛卡尔积:给定一组域D1,D2,„„,Dn,这些域中可以有相同的域。这组域的笛卡尔积 为n iDddddDDDiinn,...,2,1,|,...,,2121  其中,每一个元素(d1,d2,„,dn)称为一个n元组(n0-tuple)或简称元组(tuple)。元素中的每一个值di称为一个分量(component)。  b) 关系:在域D1,D2,„„,Dn上,笛卡尔积D1×D2ׄ×Dn的子集称为关系,表示为  R(D1,D2,„,Dn)  值得注意的是,这里用较为形式化的方法来定义关系。在第一章中则是用通俗的语言来说明什么是关系,也可以看做不甚严格的一种定义。 c) 元组:关系中的每个元素是关系中的元组。  d) 属性:关系也是一个二维表,表的每行对应于一个元组,表的每列对应于一个域。由于域可 以相同,为了加以区分,必须为每列起一个名字,称为属性(attribute)。  (2)   a) 候选码:若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码 (candidate key)。  b) 主码:若一个关系有多个候选码,则选定其中一个为主码(primary key)。  c) 外部码:设F是基本关系R的一个或一组属性,但不是关系R的码,如果F与基本关系S的 主码Ks相对应,则称F是基本关系R的外部码(foreign key),简称外码。基本关系R称为参照关系(referencing relation),基本关系S称为被参照关系(referenced relation)或目标关系(target relation)。关系R和S可以是相同的关系。  (3)   a) 关系模式:关系的描述称为关系模式(relation schema),可以形式化地将其表示为  R(U,D,dom,F)  其中,R为关系名,U为组成该关系的属性名集合,D为属性组U中属性值所来自的域,表示为  R(D1,D2,„,Dn)  b) 关系:关系是关系模式在某一时刻的状态或内容。关系模式是静态的、稳定的,而关系是动 态的、随时间而不断变化的,因为关系操作在不断地更新数据库中的数据。  c) 关系数据库:关系数据库也有型和值之分。关系数据库的型也称为关系数据库模式,是对关 系数据库的描述,它包括若干域的定义及在这些域上所定义的若干关系模式。关系数据库的值是这些关系模式在某一时刻所对应的关系的集合,通常称为关系数据库。9.如下关系R,S,计算R∪S,R∩S,R-S,RS,R⋈R.A<S.BS(每小题2分)RABC123416324SABC27141610.设有三个关系:(每小题2分)S(S#,SNAME ,AGE,SEX)SC(S#,C#,GRADE)

C(C#,CNAME,TEACHER)。

试用关系代数表达式表示下列查询语句:检索LIU老师所授课程的课程号和课程名。πc#,CNAME(σTEACHER=‘LIU’(C))

检索年龄大于23岁的男学生的学号和姓名。πS#,SNAME(σAGE>23∧SEX=‘男’(S))

检索学号为S3学生所学课程的课程名与任课教师名。πCNAME,TEACHER(σS#=‘S3’(SC⋈C))

检索至少选修LIU老师所授课程中一门课的女学生姓名。πSNAME(σSEX=’女’∧TEACHER=‘LIU’(S⋈SC⋈C))

检索WANG同学不学的课程的课程号。

πC#(C)-πC#(σSNAME=‘WANG’(S⋈SC))检索全部学生都选修的课程的课程号与课程名。πC#,CNAME(C⋈(πS#,C#(SC)÷πS#(S)))

检索选修课程包含LIU老师所授全部课程的学生学号。

πS#,C#(SC)÷πC#(σTEACHER=‘LIU’(C))11.供应商数据库中有:供应商、零件、项目、供应四个关系(本题10分)S(Sno,Sname,Sstatus,City)P(Pno,Pname,Color,Weight)J(Jno,Jname,City)SPJ(Sno,Pno,Jno,Qty)用户有一查询语句:检索使用上海供应商生产的红色零件的工程号。试写出该查询的关系代数表达式;πJNO(бSCITY='上海'∧COLOR='红'(SSPJ

P))试写出查询优化后的关系代数表达式πJNO(πSNO(бSCITY='上海'(S))

πSNO,PNO,JNO(SPJ)бCOLOR='红'(P))画出查询初始的关系代数表达式的语法树使用优化算法,对语法树进行优化,并画出优化后的语法树第四章关系数据库标准语言SQL一、单项选择题(每小题2分)1.SQl语言是(B)的语言,易学习。A)过程化 B)非过程化 C)格式化 D)导航化2.SQl语言是(C)。A)层次数据库语言B)网络数据库语言C)关系数据库语言 D)非数据库语言3.SQL语言具有的功能是(B)。A)关系规范化B)数据定义、数据操纵、数据控制、数据查询C)数据库系统设计D)能绘制E-R图4.SQL语言具有两种使用方式,分别称为交互式SQL和(C)。A)提示式SQL B)多用户SQL C)嵌入式SQL D)解释式SQL5.下面列出的关于视图的条目中,不正确的是(C)。A)视图是外模式 B)使用视图可以加快查询语句的执行速度C)视图是虚表 D)使用视图可以简化查询语句的编写6.SQL语言中实现数据库检索的语句是(A)。A)SELECT B)INSERT C)UPDATE D)DELETE7.在SQL语言查询语句中,SELECT子句实现关系代数的(A)。A)投影运算 B)选择运算 C)连接运算 D)交运算8.在SQL语言查询语句中,WHERE子句实现关系代数的(B)。A)投影运算 B)选择运算 C)连接运算 D)交运算9.为在查询结果中去掉重复元组,要使用保留字(C)。A)UNIQUE B)COUNT C)DISTINCT D)UNION10.假设学生关系S(S#,SNAME,SEX),课程关系C(C#,CNAME),学生选课关系SC(S#,C#,GRADE)。要查询选修“Computer”课的男生姓名,将涉及到关系(D)。A)S B)S,SC C)C,SC D)S,C,SC11.有关系S(S#,SNAME,SEX),C(C#,CNAME),SC(S#,C#,GRADE)。其中S#是学生号,SNAME是学生姓名,SEX是性别,C#是课程号,CNAME是课程名称。要查询选修“数据库”课的全体男生姓名的SQL语句是SELECTSNAMEFROMS,C,SCWHERE子句。这里的WHERE子句的内容是(A)。A)S.S#=SC.S#andC.C#=SC.C#andSEX=’男’andCNAME=’数据库’B)S.S#=SC.S#andC.C#=SC.C#andSEXin’男’andCNAMEin’数据库’C)SEX’男’andCNAME’数据库’D)S.SEX=’男’andCNAME=’数据库’12.有关系S(S#,SNAME,SAGE),C(C#,CNAME),SC(S#,C#,GRADE)。其中S#是学生号,SNAME是学生姓名,SAGE是学生年龄,C#是课程号,CNAME是课程名称。要查询选修“ACCESS”课的年龄不小于20的全体学生姓名的SQL语句是SELECTSNAMEFROMS,C,SCWHERE子句。这里的WHERE子句的内容是(A)。A)S.S#=SC.S#andC.C#=SC.C#andSAGE>=20andCNAME=‘ACCESS’B)S.S#=SC.S#andC.C#=SC.C#andSAGEin>=20andCNAMEin‘ACCESS’C)SAGEin>=20andCNAMEin‘ACCESS’D)SAGE>=20andCNAME=’ACCESS’13.在SQL语言中,子查询是(D)。A)返回单表中数据子集的查询语言 B)选取多表中字段子集的查询语句C)选取单表中字段子集的查询语句 D)嵌入到另一个查询语句之中的查询语句14.下列聚合函数中不忽略空值(null)的是(D)。A)SUN(列名) B)MAX(列名) C)AVG(列名) D)COUNT()15.设有一个关系:DEPT(DNO,DNAME),如果要找出倒数第三个字母为W,并且至少包含4个字母的DNAME,则查询条件子句应写成WHEREDNAMELIKE(D)。A)'__W_%' B)'_W_%' C)'_W__' D)'_%W__'16.SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,其中,CREATE、DROP、ALTER语句是实现哪种功能(C)。A)数据查询 B)数据操纵 C)数据定义 D)数据控制17.若用如下的SQL语句创建一个student表,则可插入至表中的是(B)。CREATETABLEstudent(NOC(4)NOTNULL,NAMEC(8)NOTNULL,SEXC(2),AGEN(2));A)(‘1031’,‘曾华’,男,23)B)(‘1031’,‘曾华’,NULL,NULL)C)(NULL,‘曾华’,’男’,’23’)D)(‘1031’,NULL,’男’,23)18.下列语句中修改表结构的是(A)。A)ALTER B)CREATE C)UPDATE D)INSERT19.SQL语言中,删除一个表的命令是(B)。A)CLEARTABLE B)DROPTABLEC)DELETETABLE D)REMOVETABLE20.若要在基本表S中增加一列CN(课程名),可用(C)。A)ADDTABLES(CNCHAR(8))B)ADDTABLESALTER(CNCHAR(8))C)ALTERTABLESADD(CNCHAR(8))D)ALTERTABLES(ADDCNCHAR(8))21.设关系数据库中一个表S的结构为S(SN,CN,grade),其中SN为学生名,CN为课程名,二者均为字符型;grade为成绩,数值型,取值范围0-100。若要把“张二的化学成绩80分”插入S中,则可用(D)。A)ADDINTOSVALUES(’张二’,’化学’,’80’)B)INSERTINTOSVALUES(’张二’,’化学’,’80’)C)ADDINTOSVALUES(’张二’,’化学’,80)D)INSERTINTOSVALUES(’张二’,’化学’,80)22.设关系数据库中一个表S的结构为:S(SN,CN,grade),其中SN为学生名,CN为课程名,二者均为字符型;grade为成绩,数值型,取值范围0-100。若要更正王二的化学成绩为85分,则可用(A)。A)UPDATESSETgrade=85WHERESN=’王二’ANDCN=’化学’B)UPDATESSETgrade=’85’WHERESN=’王二’ANDCN=’化学’C)UPDATEgrade=85WHERESN=’王二’ANDCN=’化学’D)UPDATEgrade=’85’WHERESN=’王二’ANDCN=’化学’23.在视图上不能完成的操作是(C)。A)更新视图 B)查询 C)在视图上定义新的表 D)在视图上定义新的视图24.在SQL语言中的视图VIEW是数据库的(A)。A)外模式 B)模式 C)内模式 D)存储模式25.SQL语言集数据查询、数据操作、数据定义、和数据控制功能于一体,语句INSERT、DELETE、UPDATE实现下列哪类功能(B)。A)数据查询 B)数据操纵 C)数据定义 D)数据控制二、判断题(每题1分)1.所有使用IN谓词的嵌套子查询都能被转化成多表连接查询。(

)2.在WHERE子句中进行测试的特定行(或在HAVING子句中的组)可能使谓词等于UNKNOWN,这基本上意味着在测试该行的时候产生了空值或空的子查询结果。(

对)3.SQL没有能力计算关系代数所能计算的一切。(

)4.一些带EXISTS的子查询不能被其它形式的子查询等价替换,但所有带IN、比较运算符、ANY和ALL谓词的子查询都能用带EXISTS的子查询等价替换。(

对)5.相关子查询是指一个要使用外层SELECT语句所提供的数据的子查询。(

)6.谓词EXISTS(Subquery)为真当且仅当子查询返回一个空的集合。(

)7.一个SQL模式是所属基本表、视图等的集合。(

)8.建立索引可以提高查询效率,所以索引建得越多越好。(

)9.SQL是一个过程化语言,使用者只需要说明“做什么”而不需要说明“怎么做”。(

)10.在基本表上建立索引的目的是提供多种存储路径,加快查找速度。(

)11.单表查询完成关系代数中的两个单目运算:投影和笛卡尔积。(

)12.非相关子查询的概念性执行顺序是:先执行外层子查询,然后执行内层。(

)13.SELECT中可以像关系代数一样,任意地将一个SELECT语句嵌入另一个SELECT语句。(

)14.出现在另一个SELECT语句之内的SELECT语句形式被称为子查询。(

)15.在语句SELECT[ALL|DISTINCT]中,DISTINCT是默认的。(

)16.在语句[ORDERBY〈列名〉[ASC│DESC]]中,ASC表示降序,DESC表示升序。(

)17.SQL语句在SELECT命令中加入GROUPBY子句来控制选择行的显示顺序。(

错)18.HAVING子句是包含的GROUPBY子句中的。(

)19.DISTINCT的使用导致系统性能的下降,如果能确认结果行中没有重复行,就避免使用DISTINCT。(

)20.SELECT语句通过在FROM子句中放入连接条件,进行多表连接查询。(

错)21.当查询的结果和查询条件涉及到多个表时,完成查询要求多个表进行连接操作。(

)22.在数据库查询语句中,SELECT子句与FROM子句不是必选子句。(

)23.分组的附加条件用HAVING短语给出,只有满足内部函数表达式的组才予输出。(

)24.SELECT语句的目标表达式可以是关系名、属性名、算术表达式、字符串常量、函数等。(

)三、填空题(每空1分)1.SQL的中文全称是(结构化查询语言)。2.SQL语言除了具有数据查询和数据操纵功能之外,还具有(数据定义)和(数据定义)的功能,它是一个综合性的功能强大的语言。3.在关系数据库标准语言SQL中,实现数据检索的语句命令是(SELECT)。4.在SQL语言的结构中,(基本表)有对应的物理存储,而(视图)没有对应的物理存储。5.视图是从(基本表或视图)中导出的表,数据库中实际存放的是视图的(定义)。四、名词解释(每题2分)1.相关子查询答:在嵌套查询中出现的符合以下特征的子查询:子查询中查询条件依赖于外层查询中的某个值, 所以子查询的处理不只一次,要反复求值,以供外层查询使用.视图答:在SQL中,把传统的关系模型中的子模式称为视图(View),视图是从若干基本表和(或)其他视图构造出来的表.基本表答:在SQL中,把传统的关系模型中的关系模式称为基本表(Base Table). 基本表是实际存储在数据库中的表,对应一个关系.SQL答:SQL(Structured Query Language),即'结构式查询语言',采用英语单词表示和结构式的语法规则. 一个SQL数据库是表的汇集,它用一个或多个SQL模式定义.SQL模式答:SQL模式是表和授权的静态定义.一个SQL模式定义为基本表的集合. 一个由模式名和模式拥有者的用户名或账号来确定,并包含模式中每一个元素(基本表,视图,索引等)的定义.五、简答题1.试述SQL语言的特点。(5分)答:(l)综合统一。sQL语言集数据定义语言DDL、数据操纵语言DML、数据控制语言DCL的功能于一体。(2)高度非过程化。用sQL语言进行数据操作,只要提出“做什么”,而无需指明“怎么做”,因此无需了解存取路径,存取路径的选择以及sQL语句的操作过程由系统自动完成。(3)面向集合的操作方式。sQL语言采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。(4)以同一种语法结构提供两种使用方式。sQL语言既是自含式语言,又是嵌入式语言。作为自含式语言,它能够独立地用于联机交互的使用方式;作为嵌入式语言,它能够嵌入到高级语言程序中,供程序员设计程序时使用。(5)语言简捷,易学易用。2.什么是基本表?什么是视图?两者的区别和联系是什么?(6分)答:基本表是本身独立存在的表,在sQL中一个关系就对应一个表。视图是从一个或几个基本表导出的表。视图本身不独立存储在数据库中,是一个虚表。即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中。视图在概念上与基本表等同,用户可以如同基本表那样使用视图,可以在视图上再定义视图。试述视图的优点。(4分)答:(l)视图能够简化用户的操作;(2)视图使用户能以多种角度看待同一数据;(3)视

图对重构数据库提供了一定程度的逻辑独立性;(4)视图能够对机密数据提供安全保护。4.设有如图所示的三个关系(5分)A(A#ANAMEWQTYCITY),B(B#BNAMEPRICE),AB(A#B#QTY)其中各属性含义如下:A#(商店代号)、ANAMR(商店名)、WQTY(店员人数)、CITY(所在城市)、B#(商品号)、BNAME(商品名称)、PRICE(价格)、QTY(商品数量)。试用SQL语言写出下列查询。(1)找出店员为人数不超过100人或者在长沙市的所有商店的代号和商店名(2)找出供应书包的商店名答:(1)SELECTA#,ANAMEFROMAWHEREWQTY<=100ORCITY='长沙';

(2)SELECT ANAME FROM A,B,AB WHERE BNAME=’书包’ AND B.B#=AB.B# AND AB.A#=A.A#;5.有三个表即学生表S、课程表C和学生选课表SC,它们结构如下:(8分)S(S#,SN,SEX,AGE,DEPT)C(C#,CN)SC(S#,C#,GRADE)其中:S#为学号,SN为姓名,SEX为姓名,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE为成绩。检索所有比“王华”年龄大的学生姓名、年龄和性别。答:SELECT SN,AGE,SEX FROM S WHERE  AGE>(SELECT AGE FROM S WHERE SN=’王华’)检索选修课程“C2”的学生中成绩最高的学生的学号。答:SELECT S# FROM SC  WHERE C#=’C2’AND GRADE=(SELECT MAX(GRADE) FROM SC WHERE C#=’C2’)检索学生姓名及其所选修课程的课程号和成绩。答:SELECT SN, C#,GRADE FROM S,SC WHERE S#=SC. S#检索选修四门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。答:SELECT S#,SUM(GRADE) FROM SCWHEREGRADE>=60 GROUP BY S# HAVING COUNT(C#)>=4ORDERBY2DESC6.设有关系模式:(每小题2分)SB(SN,SNAME,CITY),SB表示供应商,SN为供应商代号,SNAME为供应商名字,CITY为供应商所在城市,主关键字为SN。PB(PN,PNAME,COLOR,WEIGHT),PB表示零件,PN为零件代号,PNAME为零件名字,COLOR为零件颜色,WEIGHT为零件重量,主关键字为PN。JB(JN,JNAME,CITY),JB表示工程,JN为工程编号,JNAME为工程名字,CITY为工程所在城市,主关键字为JN。SPJB(SN,PN,JN,QTY),SPJB表示供应关系,QTY表示提供的零件数量。现用SQL语句进行以下查询:取出所有工程的全部细节;SELECTFROMJB取出所在城市为上海的所有工程的全部细节;SELECTFROMJBWHERECITY=“上海”取出重量最小的零件代号;SELECTPNFROMPBWHEREWEIGHT=(SELECTMIN(WEIGHT)FROMPB)取出为工程J1提供零件的供应商代号;SELECTSNFROMSPJBWHEREJN=’J1’;取出为工种J1提供零件P1的供应商代号;SELECTSNFROMSPJBWHEREJN=‘J1’ANDPN=’P1’;取出由供应商S1提供零件的工程名称;SELECTJB.JNAMEFROMJB,SPJBWHEREJB.JN=SPJB.JNANDSPJB.SN=’S1’;取出供应商S1提供的零件的颜色;SELECTDISTINCTPB.COLORFROMPB,SPJBWHEREPB.PN=SPJB.PNANDSPJB.SN=’S1’;取出为工程J1和J2提供零件的供应商代号;SELECTDISTINCTSNFROMSPJBWHEREJN=’J1’ORJN=’J2’;取出为工程J1提供红色零件的供应商代号;SELECTDISTINCTSPJB.SNFROMSPJB,PBWHEREPB.PN=SPJB.PNANDSPJB.JN=’J1’ANDPB.COLOR=’红’;取为所在城市为上海的工程提供零件的供应商代号;SELECTDISTINCTSPJB.SNFROMSPJB,JBWHERESPJB.JN=JB.JNANDJB.CITY=’上海’;取出为所在城市为上海或北京的工程提供红色零件的供应商代号;SELECTSPJB.SNFROMPB,JB,SPJBWHERESPJB.PN=PB.PNANDJB.JN=SPJB.JNANDPB.COLOR=’红’AND(JB.CITY=’上海’ORJB.CITY=’北京’);取出供应商与工程所在城市相同的供应商提供的零件代号;SELECTDISTINCTSPJB.PNFROMSB,JB,SPJBWHERESB.SN=SPJB.SNANDJB.JN=SPJB.JNANDSB.CITY=JB.CITY;取出上海的供应商提供给上海的任一工程的零件的代号;SELECTSPJB.PNFROMSB,JB,SPJBFWHERESB.SN=SPJB.SNANDJB.JN=SPJB.JNANDSB.CITY=’上海’ANDJB.CITY=’上海’;取出至少由一个和工程不在同一城市的供应商提供零件的工程代号;SELECTDISTINCTSPJB.JNFROMSB,JB,SPJBWHERESB.SN=SPJB.SNANDJB.JN=SPJB.JNANDSB.CITY!=JB.CITY;取出上海供应商不提供任何零件的工程的代号;SELECTDISTINCTJNFROMSPJBWHEREJNNOTIN(SELECTDISTINCTSPJB.JNFROMSB,SPJBWHERESB.SN=SPJB.SNANDSB.CITY=’上海’);取出这样一些供应商代号,它们能够提供至少一种由红零件的供应商提供的零件SELECTDISTINCTSPJB.SNFROMPB,SPJBWHERESPJB.PNIN(SELECTSPJB.PNFROMSPJB,SB,PBWHERESB.SN=SPJB.SNANDPB.PN=SPJB.PNANDPB.COLOR=’红’);取出由供应商S1提供零件的工程的代号SELECTDISTINCTSPJB.JNFROMSB,PB,SPJBWHERESB.SN=SPJB.SNANDPB.PN=SPJB.PNANDSB.SN=’S1’;取出所有这样的一些<CITY,CITY>二元组,使得第1个城市的供应商为第2个城市的工程提供零件;SELECTDISTINCTSB.CITY,JB,CITYFROMSB,JB,SPJBWHERESB.SN=SPJB.SNANDJB.JN=SPJB.JN;取出所有这样的三元组<CITY,PN,CITY>,使得第1个城市的供应商为第2个城市的工程提供指定的零件;SELECTDISTINCTSB.CITY,SPJB.PN,JB.CITYFROMSB,JB,SPJBWHERESB.SN=SPJB.SNANDJB.JN=SPJB.JN;重复19题,但不检索两个CITY值相同的三元组;SELECTDISTINCTSB.CITY,SPJB.PN,JB.CITYFROMSB,JB,SPJBWHERESB.SN=SPJB.SNANDJB.JN=SPJB.JNANDSB.CITY!=JB.CITY;7.有两个数据库文件“客户”和“订单”如下:(每小题2分)客户(客户号、公司名、城市、地址、电话)订单(订单号、客户号、订货日期、预付订金、交通(运输方式)、发货日期)现用SQL语句进行以下查询:查询在上海所有客户的公司名、地址和电话SELECTDISTINCT公司名、地址、电话FROM客户WHERE城市=’上海’;查询订单中每笔订货的公司名、订货日期、预付的订金和发货日期SELECTA.公司名,B.订货日期,B.预付订金,B.发货日期FROM客户A,订单.BWHEREA.客户号=B.客户号;查询预付金降序排列输出每笔订单的订单号、客户名和预付的订金SELECTDISTINCTA.订单号,B.公司名,A.预付订金FROM订单A,客户.BWHEREA.客户号=B.客户号ORDERBYA.预付订金DESC列出预付金最多订单号、该笔订货的公司名和预付的金额SELECTA.订单号,B.公司名,A.预付订金FROM订单A,客户.BWHEREA.预付订金=(SELECTMAX(A.预付订金)FROM订单A)ANDA.客户号=B.客户号列出所有预付定金的总金额SELECTSUM(预付订金)FROM订单从订单表中分组列出订货的公司名及该公司所订货物的有关信息SELECTA.订单号,B.公司名,A.订货日期,A.发货日期,A.交通FROM订单A,客户BWHEREA.客户号=B.客户号GROUPBYA.客户号8.设有如下关系表R:R(NO,NAME,SEX,AGE,CLASS)写出实现下列功能的SQL语句。(每小题2分)(1)插入一个记录(25,’李明’,21,’95031’)INSERTINTORVALUES(25,’李明’,21,’95031’)插入’95031’班学号为30、姓名为’郑和’的学生记录INSERTINTOR(NO,NAME,CLASS)VALUES(30,’郑和’,’95031’)将学号为10的学生姓名改为“王华”UPDATERSETNAME=’王华’WHERENO=10将所有“95101”班号改为“95091”UPDATERSETCLASS=’95091’WHERECLASS=’95101’删除学号为20的学生记录DELETEFROMRWHERENO=20删除姓“王”的学生记录DELETEFROMRWHERENAMELIKE‘王%’9.设有如图所示的三个关系,A(A#,ANAME,WQTY,CITY),B(B#,BNAME,PRICE),AB(A#,B#,QTY)其中各属性含义如下:A#(商店代号)、ANAMR(商店名)、WQTY(店员人数)、CITY(所在城市)、B#(商品号)、BNAME(商品名称)、PRICE(价格)、QTY(商品数量)。试用SQL语言写出下列查询。(每小题2分)(1)找出店员为人数不超过100人或者在长沙市的所有商店的代号和商店名SELECTA#,ANAMEFROMAWHEREWQTY<=100ORCITY=’长沙’;找出供应书包的商店名SELECTA。ANAMEFROMA,B,ABWHEREA.A#=AB.A#ANDB.B#=AB.B#ANDB.BNAME=’书包’找出至少供应代号为256的商店所供应的全部商品的商店名和所在城市SELECTA.NAME,A.CITYFROMA,BWHEREA.A#=AB.A#ANDAB.B#IN(SELECTAB.B#FROMABWHEREA#=’256’);10.已知三个关系R、S和T,R(A,B,C)、S(A、D、E)、T(D,F)。试用SQL语句实现如下操作:(每小题2分)(1)将R、S和T三个关系按关联属性建立一个视图RSTCREATESQLVIEWRSTASSELECTR.A,B,C,S.D,E,FFROMR,S,TWHERER.A=S.AANDS.D=T.D;对视图RST按属性A分组后,求属性C和E的平均值SELECTAVG(C),AVG(E)FROMRSTGROUPBYA11.设职工社团数据库有三个基本表:职工(职工号,姓名,年龄,性别);社会团体(编号,名称,负责人,活动地点);参加(职工号,编号,参加日期);其中:职工表的主关键字为职工号。CREATTABLE职工(职工号CHAR(10)NOTNULLUNIQUE,姓名CHAR(8)NOTNULL,年龄SMALLINT,性别CHAR(2),CONSTRAINTC1CHECK(性别IN(‘男’,‘女’)));CREATTABLE社会团体(编号CHAR(8)NOTNULLUNIQUE,名称CHAR(12)NOTNULL,负责人CHAR(8),活动地点VARCHAR(50),CONSTRAINTC2FOREIGNKEY(负责人)REFERENCES职工(职工号));CREATTABLE参加(职工号CHAR(8),编号CHAR(8),参加日期DATA,CONSTRAINTC3PRIMARYKEY(职工号,编号),CONSTRAINC3FOREIGNKEY(职工号)REFERENCES职工(职工号));社会团体表的主关键字为编号;外关键字为负责人,被参照表为职工表,对应属性为职工号。CREATVIEW社团负责人(编号,名称,负责人职工号,负责人姓名,负责人性别)ASSELECT编号,名称,负责人,姓名,性别FROM社会团体,职工WHERE社会团体.负责人=职工.职工号;CREATVIEW参加人情况(职工号,姓名,社团编号,参加日期)ASSELECT参加.职员号,姓名,社会团体.编号,名称,参加日期FROM职工,社会团体,参加WHERE职工.职工号=参加.职工号AND参加.编号=社会团体.编号;3)参加表的职工号和编号为主关键字;职工号为外关键字,其被参照表为职工表,对应属性为职工号;编号为外关键字,其被参照表为社会团体表,对应属性为编号。试用SQL语句表达下列操作:(每小题3分)(1)定义职工表、社会团体表和参加表,并说明其主关键字和参照关系。(2)建立下列两个视图。社团负责人(编号,名称,负责人职工号,负责人姓名,负责人性别);参加人情况(职工号,姓名,社团编号,社团名称,参加日期)查找参加唱歌队或篮球队的职工号和姓名。SELECT职工号,姓名FROM职工,社会团体,参加WHERE职工.职工号=参加.职工号AND参加.编号=社会团体.编号AND社会团体.名称IN(‘唱歌队’,‘篮球队’);查找没有参加任何团体的职工情况。SELECTFROM职工WHERENOTEXISTS(SELECTFORM参加WHERE参加.职工号=职工.职工号);查找参加了全部社会团体的职工情况。SELECTFROM职工WHERENOTEXISTS(SELECTFROM参加WHERENOTEXISTS(SELECTFROM社会团体WHERE参加.职工号=职工.职工号AND参加.编号=社会团体.编));查找参加了职工号为“1001”的职工所参加的全部社会团体的职工号。SELECT职工号FROM职工WHERENOTEXISTS(SELECTFROM参加,参加1WHERE参加1.职工号=‘1001

温馨提示

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

评论

0/150

提交评论