1、 1 / 49 第一章 绪论 一、选择题 1. DBS 是采用了数据库技术的计算机系统, DBS 是一个集合体,包含数据库、计算机硬件、软件和( ) 。 A. 系统分析员 B. 程序员 C. 数据库管理员 D. 操作员 2. 数据库( DB),数据库系统( DBS)和数据库管理系统( DBMS)之间的关系是( )。 A. DBS 包括 DB 和 DBMS B. DBMS 包括 DB 和 DBS C. DB 包括 DBS 和 DBMS D. DBS 就是 DB,也就是 DBMS 3. 下面列出的数据库管理技术发展的三个阶段中,没有专门的软件对数据进行管理的是( )。 I人工管理阶段 II文件系统
2、阶段 III数据库阶段 A. I 和 II B. 只有 II C. II 和 III D. 只有 I 4. 下列四项中,不属于数据库系统特点的是( ) 。 A. 数据共享 B. 数据完整性 C. 数据冗余度高 D. 数据独立性高 5. 数据库系统的数据独立性体现在( ) 。 A.不会因为数据的变化而影响到应用程序 B.不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序 C.不会因为存储策略的变化而影响存储结构 D.不会因为某些存储结构的变化而影响其他的存储 结构 6. 描述数据库全体数据的全局逻辑结构和特性的是( ) 。 A. 模式 B. 内模式 C. 外模式 D. 用户模式 7. 要
3、保证数据库的数据独立性,需要修改的是( ) 。 A. 模式与外模式 B. 模式与内模式 C. 三层之间的两种映射 D. 三层模式 8. 要保证数据库的逻辑数据独立性,需要修改的是( ) 。 A. 模式与外模式的映射 B. 模式与内模式之间的映射 C. 模式 D. 三层模式 9. 用户或应用程序看到的那部分局部逻辑结构和特征的描述是( ),它是模式的逻辑子集。 A.模式 B. 物理模式 C. 子模式 D. 内模式 10.下述( )不是 DBA 数据库管理员的职责 。 A.完整性约束说明 B. 定义数据库模式 C.数据库安全 D. 数据库管理系统设计 选择题答案: (1) C (2) A (3)
4、D (4) C (5) B (6) A (7) C (8) A (9) C (10) D 二、简答题 试述数据、数据库、数据库系统、数据库管理系统的概念。 数据: 描述事物的符号记录称为数据。数据的种类有文字、图形、图象、声音、正文等等。数据与其语义是不可分的。 *解析: 在现代计算 机系统中数据的概念是广义的。早期的计算机系统主要用于科学计算,处理的数据是整数、实数、浮点数等传统数学中2 / 49 的数据等。现在计算机能存储和处理的对象十分广泛,表示这些对象的 数据也越来越复杂。 数据与其语义是不可分的。 500 这个数字可以表示一件物品的价格是 500 元,也可以表示一个学术会议参加的人数
5、有 500 人。还可以表示一袋奶粉重 500 克。 数据库: 数据库是长期储存在计算机内、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共 享。 *解析: 简单地讲,数据数据库数据具有永久储存、有组织和可共享三个特点。 数据模型是数据库的核心概念。每个数据库中数据的都是按照某一种数据模型来组织的。 数据库系统: 数据库系统( DBS)是指在计算机系统中引入数据库后的系统构成。数据库系统由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。 *解析: 数据库系统和数据库是两个概念。数据库系统
6、是一个人 -机系统,数据库是数据库系统的一个组成部分。但是在日常工作中人们常常把把数据库系统简称为数据库。希望读者能够从人们讲话或文章的上下文中区 分 “数据库系统 ”和 “数据库 ”。 不要引起混淆。 数据库管理系统: 数据库管理系统 (DBMS)是位于用户与操作系统之间的一层数据管理软件。用于科学地组织和存储数据、高效地获取和维护数据。DBMS 主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。 *解析: DBMS 是一个大型复杂的软件系统。是计算机中的基础软件。目前,专门研制 DBMS 的厂商及其研制的 DBMS 产品很多。著名的有美国 IBM 公司的
7、 DB2 关系数据库管理系统、 IMS 层次数据库管理系统;美国 ORACLE 公司的 ORACLE 关系数据库管理系统;SYBASE 公司的 SYBASE 关系数据库管理系统;美国微软公司的 SQL SERVER 关系数据库管理系统等等。 使用数据库系统有什么好处? 使用数据库系统的好处是由数据库管理系统的特点或优点决定的。 使用数据库系统的好处很多,例如可以大大提高应用开发的效率,方便用户的使用,减轻数据库系统管理人员维护的负担等。 为什么有这些好处,可以结合第 5 题来回答。 使用数据库系统可以大大提高应用开发的效率。因为在数据库系统中应用程序不必考虑数据的定义、存储和数据存取的具体路径
8、,这些工作都由 DBMS 来完成。用一个通俗的比喻,使用了 DBMS 就如有了一个好参谋好助手,许多具体的技术工作都由这个助手来完成。开发人员就可以专注于应用逻辑的设计而不必为管理数据的许许多多复杂的细节操心。 还有,当应用逻辑改变,数据的逻辑结构需要改变时,由于数据库系统提供了数据与程序之间的独立性。数据逻辑结构的改变是DBA 的责任,开发人员不必修改应用程序,或者只需要修改很少的应用程序。从而既简化了应用程序的编制,又大大减少了应用程序的维护和修改。 使用数据库系统可以减轻数据库系统管理人员维护系统的负担。因为 DBMS 在数据库建立、运 用和维护时对数据库进行统一的管理和控制,包括数据的
9、完整性、安全性,多用户并发控制,故障恢复等等都由 DBMS 执行。 总之,使用数据库系统的优点是很多的,既便于数据的集中管理,控制数据冗余,可以提高数据的利用率和一致性,又有利于应用程序的开发和维护。读者可以在自己今后的工作中结合具体应用,认真加以体会和总结。 试述文件系统与数据库系统的区别和联系。 文件系统与数据库系统的区别: 文件系统面向某一应用程序,共享性差、冗余度大,独立性差,纪录内有结构、整体无结构,应用程序自己控制。 数据库系统面向现实世界,共 享性高、冗余度小,具有高度的物理独立性和一定的逻辑独立性,整体结构化,用数据模型描述,由数据库管理系统提供数据安全性、完整性、并发控制和恢
10、复能力。 读者可以参考概论书中表 1.1 中的有关内容。 文件系统与数据库系统的联系是: 3 / 49 文件系统与数据库系统都是计算机系统中管理数据的软件。 *解析: 文件系统是操作系统的重要组成部分,而 DBMS 是独立于操作系统的软件。但是 DBMS 是在操作系统的基础上实现的。数据库中数据的组织和存储是通过操作系统中文件系统来实现的。 读者可以参考书中第十一章数据库管理系统。或者说 ,读者进一步学习数据库管理系统实现的有关课程(第十一章只是 DBMS实现技术的概述)后可以对本题有深入的理解和全面的解答。因为 DBMS 的实现与操作系统中的文件系统是紧密相关的。例如,数据库实现的基础是文件
11、,对数据库的任何操作最终要转化为对文件的操作。所以在 DBMS 实现中数据库物理组织的基本问题是如何利用或如何选择操作系统提供的基本的文件组织方法。这里我们就不具体展开了。 举出适合用文件系统而不是数据库系统的例子;再举出适合用数据库系统的应用例子。 适用于文件系统而不是数据库系统的应用例子 数据的备份, 软件或应用程序使用过程中的临时数据存储一般使用文件比较合适。 早期功能比较简单、比较固定的应用系统也适合用文件系统。 适用于数据库系统而非文件系统的应用例子 目前,几乎所有企业或部门的信息系统都以数据库系统为基础,都使用数据库。如一个工厂的管理信息系统(其中会包括许多子系统,如库存管理系统、
12、物资采购系统、作业调度系统、设备管理系统、人事管理系统等等),还比如学校的学生管理系统,人事管理系统,图书馆的图书管理系统等等都适合用数据库系统。 希望同学们能举出自己了解的应用例子。 试述数据库系统的特点。 数据库系统的主要特点有: 一、数据结构化 数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。 *解析:注意这里 “整体 ”两个字。在数据库系统中,数据不再针对某一个应用,而是面向全组织,具有整体的结构化。不仅数据是结构化的,而且数据的存取单位即一次可以存取数据的大小也很灵活。可以小到某一个数据项(如一个学生的姓名),大到一组记录(成千上万个学生
13、记录)。而在文件系统中,数据的存取单位只有一个:记录。如一个学生的完整记录。 二、数据的共享性高,冗余度低,易扩充 数据库 的数据不再面向某个应用而是面向整个系统,因此可以被多个用户、多个应用、用多种不同的语言共享使用。由于数据面向整个系统,是有结构的数据,不仅可以被多个应用共享使用,而且容易增加新的应用,这就使得数据库系统弹性大,易于扩充。 *解析: 数据共享可以大大减少数据冗余,节约存储空间,同时还能够避免数据之间的不相容性与不一致性。 所谓 “数据面向某个应用 ”是指数据结构是针对某个应用设计的,只被这个应用程序或应用系统使用。可以说数据是某个应用的 “私有资源 ”。 所谓 “弹性大 ”
14、是指系统容易扩充也容易收缩,即应用增加或减少时不 必修改整个数据库的结构,或者只要做很少的修改。 我们可以取整体数据的各种子集用于不同的应用系统,当应用需求改变或增加时,只要重新选取不同的子集或加上一部分数据便可以满足新的需求。 三、数据独立性高 数据独立性包括数据的物理独立性和数据的逻辑独立性。 数据库管理系统的模式结构和二级映象功能保证了数据库中的数据具有很高的物理独立性和逻辑独立性。 *解析: 所谓 “独立性 ”即相互不依赖。数据独立性是指数据和程序相互不依赖。即数据的逻辑结构或物理结构改变了,程序不会跟着改变。数据与程序的独立,把数据的定义从程序中分 离出去,加上数据的存取又由 DBM
15、S 负责,简化了应用程序的编制,大大减少了应用程序的维护和修改。 4 / 49 四、数据由 DBMS 统一管理和控制 数据库的共享是并发的共享,即多个用户可以同时存取数据库中的数据甚至可以同时存取数据库中同一个数据。为此, DBMS 必须提供统一的数据控制功能,包括数据的安全性保护,数据的完整性检查,并发控制和数据库恢复。 *解析: DBMS 数据控制功能包括四个方面: 数据的安全性保护:保护数据以防止不合法的使用造成的数据的泄密和破坏; 数据的完整性检查:将数据控制在有效的范围内或保证数据之间满足 一定的关系; 并发控制:对多用户的并发操作加以控制和协调,保证并发操作的正确性; 数据库恢复:
16、当计算机系统发生硬件故障、软件故障,或者由于操作员的失误以及故意的破坏影响数据库中数据的正确性,甚至造成数据库部分或全部数据的丢失时,能将数据库从错误状态恢复到某一已知的正确状态(亦称为完整状态或一致状态)。 下面我们可以得到 “什么是数据库 ”的一个定义: 数据库是长期存储在计算机内有组织的大量的共享的数据集合。它可以供各种用户共享,具有最小冗余度和较高的数据独立性。DBMS 在数据库建立、运用和维护时对数据库进行统 一控制,以保证数据的完整性、安全性,并在多用户同时使用数据库时进行并发控制,在发生故障后对系统进行恢复。 数据库系统的出现使信息系统从以加工数据的程序为中心转向围绕共享的数据库
17、为中心的新阶段。 数据库管理系统的主要功能有哪些? 数据库定义功能; 数据存取功能; 数据库运行管理; 数据库的建立和维护功能。 试述数据模型的概念、数据模型的作用和数据模型的三个要素。 数据模型是数据库中用来对现实世界进行抽象的工具,是数据库中用于提供信息表示和操作手段的形式构架。 一般地讲,数据模型是严格定义的 概念的集合。这些概念精确地描述系统的静态特性、动态特性和完整性约束条件。因此数据模型通常由数据结构、数据操作和完整性约束三部分组成。 数据结构:是所研究的对象类型的集合,是对系统的静态特性的描述。 数据操作:是指对数据库中各种对象(型)的实例(值)允许进行的操作的集合,包括操作及有
18、关的操作规则,是对系统动态特性的描述。 数据的约束条件:是完整性规则的集合,完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。 *解 析: 数据模型是数据库系统中最重要的概念之一。同学们必须通过概论的学习真正掌握 数据模型的概念和作用。 数据模型是数据库系统的基础。任何一个 DBMS 都以某一个数据模型为基础,或者说支持某一个数据模型。 数据库系统中模型有不同的层次。根据模型应用的不同目的,可以将模型分成两类或说两个层次:一是概念模型,是按用户的观点来对数据和信息建模,用于信息世界的建模,强调语义表达能
19、力,概念简单清晰;另一是数据模型,是按计算机系统的观点对数据建模,用于机器世界,人们可以用它定义、操纵数据库中的数据。一般需要有严格的形式 化定义和一组严格定义了语法和语义的语言,并有一些规定和限制,便于在机器上实现。 试述概念模型的作用。 概念模型实际上是现实世界到机器世界的一个中间层次。概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言。 定义并解释概念模型中以下术语: 5 / 49 实体,实体型,实体集,属性,码,实体联系图( E-R 图) 实体:客观存在并可以相互区分的事物叫实体。 实体型:
20、具有相同属性的实体具有相同的特征和性质,用实体名及其属性名 集合来抽象和刻画同类实体称为实体型。 实体集:同型实体的集合称为实体集。 属性:实体所具有的某一特性,一个实体可由若干个属性来刻画。 码:唯一标识实体的属性集称为码。 实体联系图: E-R 图提供了表示实体型、属性和联系的方法: 实体型:用矩形表示,矩形框内写明实体名。 属性:用椭圆形表示,并用无向边将其与相应的实体连接起来。 联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型( 1 : 1, 1 : n或 m : n)。 10试给出三个实际部门的 E-R 图 ,要求实体型之间具有一对
21、一,一对多,多对多各种不同的联系。 第二章 关系数据库 一、选择题 1. 下面的选项不是关系数据库基本特征的是( )。 A.不同的列应有不同的数据类型 B.不同的列应有不同的列名 C.与行的次序无关 D.与列的次序无关 2. 一个关系只有一个( ) 。 A.候选码 B. 外码 C. 超码 D. 主码 3. 关系模型中,一个码是( )。 A.可以由多个任意属性组成 B.至多由一个属性组成 C.可有多个或者一个其值能够唯一表示该关系模式中任何元组的属性组成 D.以上都 不是 4. 现有如下关系: 患者(患者编号,患者姓名,性别,出生日起,所在单位) 医疗(患者编号,患者姓名,医生编号,医生姓名,诊
22、断日期,诊断结果) 其中,医疗关系中的外码是( )。 A. 患者编号 B. 患者姓名 C. 患者编号和患者姓名 D. 医生编号和患者编号 5. 现有一个关系:借阅(书号,书名,库存数,读者号,借期,还期),假如同一本书允许一个读者多次借阅,但不能同时对一种书借多本,则该关系模式的外码是( )。 A. 书号 B. 读者号 C. 书号 +读者号 D. 书号 +读者号 +借期 6. 关系 模型中实现实体间 N: M 联系是通过增加一个( ) 。 A.关系实现 B. 属性实现 C. 关系或一个属性实现 D. 关系和一个属性实现 7. 关系代数运算是以( )为基础的运算 。 A. 关系运算 B. 谓词演
23、算 C. 集合运算 D. 代数运算 6 / 49 8. 关系数据库管理系统应能实现的专门关系运算包括( )。 A. 排序、索引、统计 B. 选择、投影、连接 C. 关联、更新、排序 D. 显示、打印、制表 9. 五种基本关系代数运算是( )。 A. B. C. D. 10. 关系代数表达式的优化策略中,首先要做的是( ) 。 A.对文件进行预处理 B.尽早执行选择运算 C.执行笛卡尔积运算 D.投影运算 11. 关系数据库中的投影操作是指从关系中( ) 。 A.抽出特定记录 B. 抽出特定字段 C.建立相应的影像 D. 建立相应的图形 12. 从一个数据库文件中取出满足某个条件的所有记录形成一
24、个新的数据库文件的操作是( )操作 。 A.投影 B. 联接 C. 选择 D. 复制 13. 关系代数中的联接操作是由( )操作组合而成 。 A.选择和投影 B. 选择和笛卡尔积 C.投影、选择、笛卡尔积 D. 投影和笛卡尔积 14. 自然联接是构成新关系的有效方法。一般情况下,当对关系 R 和 S是用自然联接时,要求 R 和 S含有一个或者多个共有的( ) 。 A.记录 B. 行 C. 属性 D. 元组 15. 假设有关系 R 和 S,在下列的关系运算中,( )运算不要求: “R和 S 具有相同的元数,且它们的对应属性的数据类型也相同 ” 。 A.RS B. R S C. R S D. RS
25、 16. 假设有关系 R 和 S,关系代数表达式 R( R S)表示的是( )。 A.RS B. R S C. R S D. RS 17. 下面列出的关系代数表达是中,那些式子能够成立( ) 。 . f1 ( f2 (E) = f1 f2 (E) . E1E2 = E2E1 . (E1E2)E3 = E1 (E2E3) . f1 ( f2 (E) =f2 ( f1(E) A.全部 B. 和 C. 没有 D. 和 18. 下面四个关系表达式是等价的,是判别它们的执行效率( ) 。 E1 =A ( B=C D=E (RS) ) E2 =A ( B=C (R D=E (S) ) E3 =A (RB=
26、CD=E(S) ) E3 =A (D=E (RB=C S) ) A. E3 最快 B. E2 最快 C. E4 最快 D. E1 最快 19. 有关系 SC( S_ID, C_ID, AGE, SCORE),查找年龄大于 22 岁的学生的学号和分数,正确的关系代数表达式是( ) 。 . S_ID, SCORE ( age22 (SC) ) . age22 (S_ID, SCORE (SC) ) . S_ID, SCORE ( age22 (S_ID, SCORE, AGE (SC) ) ) A. 和 B. 只有 正确 C. 只有 正确 D. 和 正确 选择题答案: 7 / 49 (1) A (
27、2) D (3) C (4) A (5) D (6) A (7) C (8) B (9) A (10) B (11) B (12) C (13) B (14) C (15) D (16) A (17) C (18) A (19) D 二、简答题 1. 试述关系模型的三个组成部分。 2. 试述关系数据语言的特点和分类。 3.设有一个 SPJ 数据库,包括 S, P, J, SPJ 四个关系模式: S( SNO, SNAME, STATUS, CITY); P(PNO, PNAME, COLOR, WEIGHT); J(JNO, JNAME, CITY); SPJ(SNO, PNO, JNO, Q
28、TY); 供应商表 S 由供应商代码( SNO)、供应商姓名( SNAME)、供应商状态( STATUS)、供应商所在城市( CITY)组成;零件表 P由零件代码( PNO)、零件名( PNAME)、颜色( COLOR)、重量( WEIGHT)组成;工程项目表 J 由工程项目代码( JNO)、工程项目名 ( JNAME)、工程项目所在城市( CITY)组成;供应情况表 SPJ 由供应商代码( SNO)、零件代码( PNO)、工程项目代码( JNO)、供应数量( QTY)组成,表示某供应商供应某种零件给某工程项目的数量为 QTY。 试用关系代数完成如下查询: ( 1) 求供应工程 J1 零件的供
29、应商号码 SNO; ( 2) 求供应工程 J1 零件 P1 的供应商号码 SNO; ( 3) 求供应工程 J1 零件为红色的供应商号码 SNO; ( 4) 求没有使用天津供应商生产的红色零件的工程号 JNO; ( 5) 求至少用了供应商 S1 所供应的全部零件的工程号 JNO。 4. 定义并理解下列术语,说明它们之间的联系与区别 : ( 1)域,笛卡尔积,关系,元组,属性 ( 2)主码,候选码,外码 ( 3)关系模式,关系,关系数据库 5. 试述关系模型的完整性规则。在参照完整性中,为什么外码属性的值有时也可以为空?什么情况下才可以为空? 6. 试述等值连接与自然连接的区别和联系。 7. 关系
30、代数的基本运算有哪些? 8. 试用关系代数的基本运算来表示其他运算。 第三章 SQL 语言 一、选择题 1. SQL 语言是( )的语言,容易学习 。 A.过程化 B. 非过程化 C.格式化 D. 导航式 2. SQL 语言的数据操纵语句包括 SELECT、 INSERT、 UPDATE、 DELETE 等。其中最重要的,也是使用最频繁的语句是( ) 。 A. SELECT B. INSERT C. UPDATE D. DELETE 3. 在视图上不能完成的操作是( ) 。 8 / 49 A. 更新视图 B. 查询 C. 在视图上定义新的表 D. 在视图上定义新的视图 4. SQL 语言集数据
31、查询、数据操纵、数据定义和数据控制功能于一体,其中, CREATE、 DROP、 ALTER 语句是实现哪种功能( )。 A. 数据查询 B. 数据操纵 C. 数据定义 D. 数据控制 5. SQL 语言中,删除一个视图的命令是( )。 A.DELETE B.DROP C.CLEAR D.REMOVE 6. 在 SQL 语言中的视图 VIEW 是数据库的( ) 。 A. 外模式 B. 模式 C. 内模式 D. 存储模式 7. 下列的 SQL 语句中,( )不是数据定义语句。 A. CREATE TABLE B. DROP VIEW C. CREATE VIEW D. GRANT 8. 若要撤销
32、数据库中已经存在的表 S,可用( )。 A. DELETE TABLE S B. DELETE S C. DROP TABLE S D. DROP S 9. 若要在基本表 S中增加一列 CN(课程名),可用( )。 A.ADD TABLE S( CN CHAR() B.ADD TABLE S ALTER( CN CHAR() C.ALTER TABLE S ADD( CN CHAR() D.ALTER TABLE S ( ADD CN CHAR() 10. 学生关系模式 S( S, Sname, Sex, Age), S 的属性分别表示学生的学号、姓名、性别、 年龄。要在表 S中删除一个属性
33、“年龄 ”,可选用的 SQL 语句是( )。 A. DELETE Age from S B. ALTER TABLE S DROP Age C. UPDATE S Age D. ALTER TABLE S Age 11. 有关系 S( S, SNAME, SAGE), C( C, CNAME), SC( S, C, GRADE)。其中 S是学生号, SNAME 是学生姓名,SAGE 是学生年龄, C是课程号, CNAME 是课程名称。要查询选修 “ACCESS”课的年龄不小于 20 的全体学生姓名的 SQL 语句是 SELECT SNAME FROM S, C, SC WHERE 子句。这里的
34、 WHERE 子句的内容是( )。 A. S.S# = SC.S# and C.C# = SC.C# and SAGE=20 and CNAME=ACCESS B. S.S# = SC.S# and C.C# = SC.C# and SAGE in=20 and CNAME in ACCESS C. SAGE in=20 and CNAME in ACCESS D. SAGE=20 and CNAME= ACCESS 12. 设关系数据库中一个表 S的结构为 S( SN, CN, grade),其中 SN 为学生名, CN 为课程名,二者均为字符型; grade 为成绩,数值型,取值范围 0
35、100。若要把 “张二的化学成绩 80 分 ”插入 S中,则可用( )。 A. ADD INTO S VALUES( 张二 , 化学 , 80) B. INSERT INTO S VALUES( 张二 , 化学 , 80) C. ADD INTO S 9 / 49 VALUES( 张二 , 化学 , 80) D. INSERT INTO S VALUES( 张二 , 化学 , 80) 13. 设关系数据库中一个表 S的结构为: S( SN, CN, grade),其中 SN 为学生名, CN 为课程名,二者均为字符型; grade 为成绩,数值型,取值范围 0 100。若要更正王二的化学成绩为
36、 85 分,则可用( ) 。 A. UPDATE S SET grade 85 WHERE SN 王二 AND CN 化学 B. UPDATE S SET grade 85 WHERE SN 王二 AND CN 化学 C. UPDATE grade 85 WHERE SN 王二 AND CN 化学 D. UPDATE grade 85 WHERE SN 王二 AND CN 化学 14. 在 SQL 语言中,子查询是( ) 。 A. 返回单表中数据子集的查询语言 B. 选取多表中字段子集的查询语句 C. 选取单表中字段子集的查询语句 D. 嵌入到另一个查询语句之中的查询语句 15. SQL 是一
37、种( )语言。 A. 高级算法 B. 人工智能 C. 关系数据库 D. 函数型 16. 有关系 S( S, SNAME, SEX), C( C, CNAME), SC( S, C, GRADE)。其中 S是学生号, SNAME 是学生姓名,SEX 是性别, C是课程号, CNAME 是课程名称。要查询选修 “数据库 ”课的全体男生姓名的 SQL 语句是 SELECT SNAME FROM S, C, SC WHERE 子句。这里的 WHERE 子句的内容是( )。 A.S.S# = SC.S# and C.C# = SC.C# and SEX=男 and CNAME=数据库 B.S.S# =
38、SC.S# and C.C# = SC.C# and SEX in男 and CNAME in数据库 C.SEX 男 and CNAME 数据库 D.S.SEX=男 and CNAME= 数据库 17. 若用如下的 SQL 语句创建了一个表 SC: CREATE TABLE SC ( S# CHAR( 6) NOT NULL, C# CHAR( 3) NOT NULL, SCORE INTEGER, NOTE CHAR( 20);向 SC表插入如下行时,( )行可以被插入 。 A.( 201009, 111, 60,必修) B.( 200823, 101, NULL, NULL) C.( NU
39、LL, 103, 80, 选修 ) D.( 201132, NULL, 86, ) 18. 假设学生关系 S( S, SNAME, SEX),课程关系 C( C, CNAME),学生选课关系 SC( S, C, GRADE)。要查询选修 “Computer”课的男生姓名,将涉及到关系( )。 A. S B. S, SC C. C, SC D. S, C, SC 选择题答案: (1) B (2) A (3) C (4) C (5) B (6) A (7) D (8) C (9) C (10) B (11) A (12) D (13) A (14) D (15) C 10 / 49 (16) A
40、(17) B (18) D 二、简答题 1. 试述 SQL 语言的特点。 答: ( 1)综合统一。 SQL 语言集数据定义语言 DDL、数据操纵语言 DML、数据控制语言 DCL 的功能于一体。 ( 2)高度非过程化。用 SQL 语言进行数据操作,只要提出 “做什么 ”,而无须指明 “怎么做 ”,因此无需了解存取路径,存取路径的选择以及 SQL 语句的操作过程由系统自动完成。 ( 3)面向集合的操作方式。 SQL 语言采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插 入、删除、更新操作的对象也可以是元组的集合。 ( 4)以同一种语法结构提供两种使用方式。 SQL 语言既是自
41、含式语言,又是嵌入式语言。作为自含式语言,它能够独立地用于联机交互的使用方式,也能够嵌入到高级语言程序中,供程序员设计程序时使用。 ( 5)语言简捷,易学易用。 2. 试述 SQL 的定义功能。 答: SQL 的数据定义功能包括定义表、定义视图和定义索引。 SQL 语言使用 CREATE TABLE 语句定义建立基本表,; ALTER TABLE 语句修改基本表定义, DROP TABLE 语句删除基本表;建立索引使用 CREATE INDEX 语句建立索引, DROP INDEX 语句删除索引表; SQL 语言使用 CREATE VIEW 命令建立视图, DROP VIEW 语句删除视图。
42、3.(1)SELECT * FROM S WHERE A=10 (2)SELECT A,B FROM S (3)SELECT A,B,S.C,S.D,E,F FROM S,T WHERE S.C=T.C and S.D=T.D (4)SELECT S.*,T.* FROM S,T WHERE S.C=T.C (5) SELECT S.*,T.* FROM S,T WHERE AE (6)SELECT S1.*,T.* FROM (SELECT C,D FROM S) AS S1,T 4. 用 SQL 语句建立第 3 章习题 3 中的四个表。 答: 对于 S 表: S( SNO, SNAME,
43、STATUS, CITY); 建 S表 CREATE TABLE S (SNO CHAR(3) primary key, SNAME varCHAR2(4), STATUS CHAR(2), CITY varCHAR2(10); P(PNO, PNAME, COLOR, WEIGHT); 建 P 表 CREATE TABLE P (PNO CHAR(3) primary key, PNAME varCHAR2(10), COLOR CHAR(4), WEIGHT INT); J(JNO, JNAME, CITY); 建 J 表 CREATE TABLE J (JNO CHAR(3) primary key, JNAME CHAR(10),