形考任务一
题目1
关于数据库管理系统的说法,错误的是( )。 选择一项:
a. 数据库管理系统与操作系统有关,操作系统的类型决定了能够运行的数据库管理系统的类型
b. 数据库管理系统对数据库文件的访问必须经过操作系统才能实现 c. 数据库应用程序可以不经过数据库管理系统而直接读取数据库文件 d. 数据库管理系统对用户隐藏了数据库文件的存放位置和文件名
题目2
关于用文件管理数据的说法,错误的是( )。 选择一项:
a. 用文件管理数据,难以提供应用程序对数据的独立性
b. 当存储数据的文件名发生变化时,必须修改访问数据文件的应用程序 c. 用文件存储数据的方式难以实现数据访问的安全控制
d. 将相关的数据存储在一个文件中,有利于用户对数据进行分类,因此也可以加快用户操作数据的效率
题目3
数据库系统的物理独立性是指( )。 选择一项:
a. 不会因为数据的变化而影响应用程序
b. 不会因为数据存储结构的变化而影响应用程序 c. 不会因为数据存储策略的变化而影响数据的存储结构 d. 不会因为数据逻辑结构的变化而影响应用程序
题目4
数据库系统是由若干部分组成的。下列不属于数据库系统组成部分的是( )。
选择一项: a. 数据库 b. 操作系统 c. 应用程序 d. 数据库管理系统
题目5
数据库三级模式结构的划分,有利于( )。 选择一项: a. 数据的独立性 b. 管理数据库文件 c. 建立数据库
d. 操作系统管理数据库
题目6
在数据库的三级模式中,描述数据库中全体数据的逻辑结构和特征的是( )。 选择一项: a. 内模式 b. 模式 c. 外模式 d. 其他
题目7
在用数据模型描述数据时,一般要求数据模型要满足三个要求。下列描述中,不属于数据模型应满足的要求的是( )。 选择一项:
a. 能够描述并发数据
b. 能够真实地模拟现实世界 c. 容易被业务人员理解 d. 能够方便地在计算机上实现
题目8
数据模型三要素是指( )。 选择一项:
a. 数据结构、数据对象和数据共享 b. 数据结构、数据操作和数据完整性约束 c. 数据结构、数据操作和数据的安全控制 d. 数据结构、数据操作和数据的可靠性
题目9
下列关于实体联系模型中联系的说法,错误的是( )。 选择一项:
a. 一个联系可以只与一个实体有关 b. 一个联系可以与两个实体有关 c. 一个联系可以与多个实体有关 d. 一个联系可以不与任何实体有关
题目10
数据库系统中的三级模式以及模式间的映像提供了数据的独立性。下列关于两级映像的说法,正确的是( )。 选择一项:
a. 外模式到模式的映像是由应用程序实现的,模式到内模式的映像是由DBMS实现的 b. 外模式到模式的映像是由DBMS实现的,模式到内模式的映像是由应用程序实现的 c. 外模式到模式的映像以及模式到内模式的映像都是由DBMS实现的 d. 外模式到模式的映像以及模式到内模式的映像都是由应用程序实现的 二.判断题(每题1分,共5分)
题目11
使用数据库管理数据可以实现程序与数据的相互独立。 选择一项:
对
错
题目12
数据库管理系统是一个系统软件,这个软件主要负责将磁盘上的数据库文件读入到内存中。( ) 选择一项:
对 错
题目13
数据的特征分为静态特征和动态特征。( ) 选择一项:
对 错
题目14
E-R模型是一种用于描述数据的组织形式的模型。( ) 选择一项:
对 错
题目15
数据库三级模式中,外模式到模式的映像提供了数据的逻辑独立性。( ) 选择一项:
对 错
三.简答题(本题共5分)
题目16
与文件管理相比,用数据库管理数据有哪些优点?(本题2分)
答:(1)相互关联的数据集合;(2)较少的数据冗余;(3)程序与数据相互独立;(4)保证数据的安全可靠;(5)最大限度地保证数据的正确性;(6)数据可以共享并能保证数据的一致性。
题目17
数据独立性指的是什么?它能带来哪些好处?(本题2分)
答:数据独立性包括逻辑独立性和物理独立性两部分。物理独立性是指当数据的存储结构发生变化时,不影响数据库模式;逻辑独立性是指当模式发生变化时,不影响外模式,从而不影响应用程序的特性。这两个独立性使用户只需关心逻辑层即可,同时增强了应用程序的可维护性。
题目18
说明实体-联系模型中的实体、属性和联系的概念。(本题1分)
答:实体是具有公共性质的并可相互区分的现实世界对象的集合。属性是实体所具有的特征或性质。联系是实体之间的关联关系。 第2章 关系数据库理论(本章共20分) 一.单项选择题(每题1分,共10分)
题目19
不属于数据模型三要素的是( )。 选择一项: a. 数据结构 b. 数据操作 c. 数据库管理系统 d. 数据完整性约束
题目20
关于传统关系代数的说法,错误的是( )。 选择一项:
a. 集合的并运算要求参与运算的两个关系必须具有相同的目
b. 有m目x行数据的关系R和有n目y行数据的关系S进行笛卡尔积运算,其结果是有(m+n)目和(x+y)行数据的关系
c. 对m目的关系R进行选择运算,其结果关系一定也是m目的 d. 对有m行数据的关系R进行投影运算,其结果关系的行数可能小于m
题目21
关于自然连接的说法,错误的是( )。 选择一项:
a. 自然连接的连接条件一定是等值连接
b. 进行自然连接的两个关系可以没有列名相同的列
c. 对两个关系进行相同条件的自然连接和等值连接,自然连接结果的列个数一定少于等值连接结果的列个数
d. 自然连接是一种特殊的等值连接
题目22
关于集合并运算的说法,正确的是( )。 选择一项:
a. 进行并运算的两个关系必须具有相同数目的行个数
b. 进行并运算的两个关系必须具有相同数目的行个数和列个数 c. 进行并运算的两个关系的列个数必须相同,对应列的语义相同
d. 如果两个关系包含内容相同的数据行,则并运算结果将包含这些重复的数据行
题目23
对关系模式进行规范化的主要目的是( )。 选择一项:
a. 提高数据操作效率 b. 维护数据的一致性 c. 加强数据的安全性
d. 为用户提供更快捷的数据操作
题目24
如果有函数依赖X→Y,并且对X的某个真子集X’,有X’→Y成立,则称( )。 选择一项:
a. Y完全函数依赖于X b. Y部分函数依赖于X c. X完全函数依赖于Y d. X部分函数依赖于Y
题目25
关于第三范式的说法,错误的是( )。 选择一项:
a. 第三范式的关系模式一定是第一范式的 b. 第三范式的关系模式一定也是第二范式的
c. 第三范式的关系模式一定不包含部分函数依赖和传递函数依赖
d. 第三范式的关系模式一定不包含传递函数依赖,但可以包含部分函数依赖
题目26
有关系模式:学生(学号,姓名,所在系,系主任),设一个系只有一个系主任,则该关系模式至少属于( )。 选择一项: a. 第一范式 b. 第二范式 c. 第三范式 d. BC范式
题目27
属于传统的集合运算的是( )。 选择一项: a. 选择运算 b. 投影运算 c. 连接运算 d. 并运算
题目28
用于表达关系代数中投影运算的运算符是( )。 选择一项: a. σ b. ∏ c. <> d. +
二.判断题(每题1分,共5分)
题目29
选择、投影和连接操作属于传统的关系运算。( ) 选择一项:
对 错
题目30
SQL语言的特点是过程化。( ) 选择一项:
对 错
题目31
使用FOREIGN KEY约束可以实现参照完整性约束。( ) 选择一项:
对 错
题目32
一个关系模式只能有一个候选键。( ) 选择一项:
对
错
题目33 不正确
获得1.00分中的0.00分
题干
限制“年龄”列取值范围在0-160的约束表达式是:check(年龄 in 0-160)。( ) 选择一项:
对 错
三.简答题(本题共5分)
题目34
关系数据库的三个完整性约束是什么?各是什么含义?(本题2分)
答:实体完整性、参照完整性和用户定义的完整性。实体完整性指关系数据库中所有的表都必须有主键。参照完整性用于描述和约束实体之间的关联关系。用户定义的完整性是针对某一具体应用领域定义的数据约束条件,它反映某一具体应用所涉及的数据必须满足应用语义的要求。
题目35
设有关系模式:学生修课(学号,姓名,所在系,性别,课程号,课程名,学分,成绩)。设一个学生可选多门课程,一门课程可以被多个学生选。每个学生由学号唯一标识,一个学生只在一个系学习;每门课程由课程号唯一标识。每个学生选的每门课程有唯一的成绩。 (1) 请指出此关系模式的候选键。 (2) 写出该关系模式的函数依赖集。
(3) 该关系模式属于第几范式?请简单说明理由。
(4) 若不是第三范式的,请将其规范化为第三范式关系模式,并指出分解后每个关系模式的主键和外键。 (本题3分)
答:(1)候选键:(学号,课程号)
(2)学号→姓名,学号→所在系,学号→性别,课程号→课程名,课程号→学分,
(学号,课程号)→成绩
(3)属于第一范式,因为存在部分函数依赖:学号→姓名。 (4)第三范式关系模式:
学生(学号,姓名,所在系,性别) 课程(课程号,课程名,学分)
考试(学号,课程号,成绩),学号为引用学生的外键,课程号为引用课程的外键。 第 3 章 创建数据库(本章共20分) 一.单项选择题(每题1分,共5分)
题目36
属于SQL Server 最核心服务的是( )。 选择一项: a. 数据库引擎服务
b. SQL Server Management Studio c. SQL Server配置管理器 d. SQL Server 管理工具
题目37
关于SQL Server 数据库的说法,正确的是( )。 选择一项:
a. 一个数据库可由多个数据文件和多个日志文件组成
b. 一个数据库只能包含一个日志文件,但可包含多个数据文件 c. 一个数据库的所有数据文件必须存放在相同的物理位置 d. 一个数据库的数据文件和日志文件必须存放在不同的物理位置
题目38
关于扩大SQL Server数据库空间的说法,错误的是( )。 选择一项:
a. 可以扩大数据文件和日志文件的空间 b. 可以通过添加新文件的方法扩大数据库空间
c. 可以直接扩大数据文件的空间
d. 只能通过添加新文件的方法扩大日志的空间
题目39
关于收缩SQL Server 数据库空间的说法,错误的是( )。 选择一项:
a. 可以收缩某个指定数据文件的空间 b. 可以收缩某个指定日文志件的空间
c. 收缩数据文件空间时不能小于该文件的初始大小
d. 收缩数据库有缩小整个数据库空间大小和缩小某个文件大小两种方式
题目40
属于SQL Server推荐的日志文件扩展名的是( )。 选择一项: a. .data b. .mdf c. .ndf d. .ldf
二、判断题(每题1分,共10分)
题目41
在一台计算机上安装一次SQL Server时,就生成了一个实例。在一台计算机上只能安装一个默认实例,同时也只能安装一个命名实例。( ) 选择一项:
对 错
题目42
SSMS工具提供了图形化的操作界面来创建和维护对象,下拉列表框列出了当前查询编辑器所连接的数据库服务器上的所有数据库,master表示当前正在操作的数据库是master。( )
选择一项:
对 错
题目43
Tempdb数据库是系统自动生成的临时数据库,用于保存临时对象或中间结果集。( ) 选择一项:
对 错
题目44
Msdb数据库是用户必须建立的,用作SQL Server实例上创建的所有数据库的模板。( ) 选择一项:
对 错
题目45
日志文件的推荐扩展名为.ldf,用于存放恢复数据库的所有日志信息。每个数据库只能有一个日志文件。( ) 选择一项:
对 错
题目46
逻辑文件名是在所有SQL语句中引用物理文件时所使用的名称。物理文件名包括存储文件的路径以及物理文件名本身。( ) 选择一项:
对 错
题目47
数据库的空间会出现不够用的情况,如果日志空间不够了则意味着不能再向数据库中插入数据;如果数据空间不够了,则意味着不能再对数据库数据进行任何修改操作。( ) 选择一项:
对 错
题目48
SQL Server 最核心的服务是SSMS。( ) 选择一项:
对 错
题目49
在SQL Server中,不允许删除正在被用户使用的数据库。( ) 选择一项:
对 错
题目50
删除数据库,只能删除数据文件,并不删除日志文件。( ) 选择一项:
对 错
三、简答题(本题共5分)
题目51
SQL Server 最核心的服务是什么?(本题1分) 答:数据库引擎服务。
题目52
启动服务使用的是SQL Server 的哪个工具?(本题1分) SQL Server配置管理器。
题目53
SQL Server数据库由几类文件组成?这些文件的推荐扩展名分别是什么?(本题3分) 答:由2类文件组成:数据文件和日志文件。主要数据文件的推荐扩展名为mdf,次要数据文件的推荐扩展名为ndf,日志文件的推荐扩展名为ldf。 第 4 章 SQL语言基础与关系表(本章共20分) 一.单项选择题(每题1分,共10分)
题目54
所述功能中,不属于SQL语言功能的是( )。 选择一项:
a. 数据表的定义功能 b. 数据查询功能
c. 数据增、删、改功能
d. 提供方便的用户操作界面功能
题目55
设某职工表中有用于存放年龄(整数)的列,最适合年龄列的类型是( )。 选择一项: a. int b. smallint c. tinyint d. bit
题目56
用于限制列的取值范围的约束是( )。 选择一项: a. PRIMARY KEY b. CHECK c. DEFAULT d. UNIQUE
题目57
用于限制列的取值不能重复的约束是( )。 选择一项: a. PRIMARY KEY b. CHECK c. DEFAULT d. UNIQUE
题目58
用于实现实体完整性约束的是( )。 选择一项: a. PRIMARY KEY b. CHECK c. DEFAULT d. UNIQUE
题目59
关于DEFAULT约束的说法,错误的是( )。 选择一项:
a. 一个DEFAULT约束只能约束表中的一个列 b. 在一个表上可以定义多个DEFAULT约束 c. DEFAULT只能定义在列级完整性约束处
d. 在列级完整性约束和表级完整性约束处都可以定义DEFAULT约束
题目60
为变量赋值的语句中,错误的是( )。 选择一项: a. SET @X = 10 b. SELECT @X = 10 c. SET @X = 10 + 10
d. SET @X = 10 + 'A'
题目61
设有表T,现要为该表新增加一个列,列名为:c1,类型为int。能正确实现该功能的语句是( )。 选择一项:
a. ALTER TABLE T ADD c1 int b. ALTER TABLE T ADD (c1 int)
c. ALTER TABLE T ADD COLUMN c1 int d. ALTER TABLE T ADD COLUMN (c1 int)
题目62
属于普通编码可变长字符串类型的是( )。 选择一项: a. real
b. nvarchar c. numeric d. varchar
题目63
现要定义“工作年限”列的数据类型,假设用整型类型,且其值不会超过100,则最合适的类型是( )。 选择一项: a. int b. smallint c. tinyint d. real
二.判断题(每题1分,共5分)
题目64
decimal(p,s)数据类型属于字符型。( )
选择一项:
对 错
题目65 正确
获得1.00分中的1.00分
题干
/* */ 之间的内容用于表示注释,对程序无影响。( ) 选择一项:
对 错
题目66
'tell' + 236的结果为:tell236。( ) 选择一项:
对 错
题目67
“Ssex NCHAR(1) DEFAULT '女'”语句中的DEFAULT约束表示Ssex变量的默认值为'女'。( ) 选择一项:
对 错
题目68
“Sage TINYINT CHECK(Sage>=18 AND Sage<=60)”限定Sage的取值只能在18到60之间。( ) 选择一项:
对
错
三、简答题(本题共5分)
题目69
简述SQL语言的功能,每个功能的作用是什么?(本题3分)
答:SQL按其功能可分为四大部分:数据定义、数据控制、数据查询和数据操作。数据定义功能用于定义、删除和修改数据库中的对象;数据查询功能用于实现查询数据的功能,查询数据是数据库中使用最多的操作;数据操作功能用于增加、删除和修改数据;数据控制功能用于控制用户对数据库的操作权限。
题目70
Transact-SQL支持的主要数据类型有哪些?(本题2分)
答:数值类型(包括准确数值类型和浮点数值类型)、字符串类型(包括统一字符编码的字符串类型和普通字符编码的字符串类型)、日期时间类型以及二进制数据类型。 第 5 章 数据操作语言(本章共20分) 一.单项选择题(每题1分,共10分)
题目71
当关系R和S进行连接操作时,如果R中的元组不满足连接条件,在连接结果中也会将这些记录保留下来的操作是( )。 选择一项: a. 左外连接 b. 右外连接 c. 内连接 d. 自连接
题目72
聚合函数中,不忽略空值的是( )。 选择一项: a. SUM(列名) b. MAX(列名) c. AVG(列名)
d. COUNT(*)
题目73
查询语句中,错误的是( )。 选择一项:
a. SELECT Sno, COUNT(*) FROM SC GROUP BY Sno
b. SELECT Sno FROM SC GROUP BY Sno WHERE COUNT(*) > 3 c. SELECT Sno FROM SC GROUP BY Sno HAVING COUNT(*) > 3 d. SELECT Sno FROM SC GROUP BY Sno
题目74
现要利用Student表查询年龄最小的学生姓名和年龄。下列实现此功能的查询语句中,正确的是( )。 选择一项:
a. SELECT Sname, MIN(Sage) FROM Student
b. SELECT Sname, Sage FROM Student WHERE Sage = MIN(Sage) c. SELECT TOP 1 Sname, Sage FROM Student
d. SELECT TOP 1 Sname, Sage FROM Student ORDER BY Sage
题目75
设SC表中记录成绩的列为:Grade,类型为int。若在查询成绩时,希望将成绩按‘优’、‘良’、‘中’、‘及格’和‘不及格’形式显示,正确的Case表达式是( )。 选择一项: a. Case Grade
When 90~100 THEN '优' When 80~89 THEN '良' When 70~79 THEN '中' When 60~69 THEN '及格' Else '不及格' End b. Case
When Grade between 90 and 100 THEN Grade = '优'
When Grade between 80 and 89 THEN Grade = '良' When Grade between 70 and 79 THEN Grade = '中' When Grade between 60 and 69 THEN Grade = '及格' Else Grade = '不及格' End c. Case
When Grade between 90 and 100 THEN '优' When Grade between 80 and 89 THEN '良' When Grade between 70 and 79 THEN '中' When Grade between 60 and 69 THEN '及格' Else '不及格' End
d. Case Grade
When 90~100 THEN Grade = '优' When 80~89 THEN Grade = '良' When 70~79 THEN Grade = '中' When 60~69 THEN Grade = '及格' Else Grade = '不及格' End
题目76
在SQL语句中,用于更新表数据的语句是( )。 选择一项: a. ALTER b. SELECT c. UPDATE d. INSERT
题目77
设有Teachers表,该表的定义如下: CREATE TABLE Teachers( Tno CHAR(8) PRIMARY KEY, Tname VARCHAR(10) NOT NULL,
Age TINYINT CHECK(Age BETWEEN 25 AND 65) ) 插入语句中,不能正确执行的是( )。 选择一项:
a. INSERT INTO Teachers VALUES('T100','张宏',NULL)
b. INSERT INTO Teachers(Tno,Tname,Age) VALUES('T100','张宏',30) c. INSERT INTO Teachers(Tno,Tname) VALUES('T100','张宏') d. INSERT INTO Teachers VALUES('T100','张宏')
题目78
设数据库中已有表5-1至5-3所示的Student、Course和SC表。现要查询学生选的第2学期开设课程的情况,只需列出学号、姓名、所在系和所选的课程号。该查询涉及到的表是( )。 选择一项: a. 仅Student表 b. 仅Student和SC表 c. 仅Student和Course表 d. Student、SC和Course表
题目79
删除计算机系学生(在student表中)的修课记录(在SC表中)的语句,正确的是( )。 选择一项:
a. DELETE FROM SC JOIN Student b ON S.Sno = b.Sno WHERE Sdept = '计算机系'
b. DELETE FROM SC FROM SC JOIN Student b ON SC.Sno = b.Sno WHERE Sdept = '计算机系'
c. DELETE FROM Student WHERE Sdept = '计算机系' d. DELETE FROM SC WHERE Sdept = '计算机系'
题目80
查询年龄最大的前5位学生的姓名和年龄的语句,正确的是( )。
选择一项:
a. SELECT TOP 5 姓名, 年龄 FROM 学生表
b. SELECT TOP 5 姓名, 年龄 FROM 学生表 ORDER BY 年龄 c. SELECT TOP 5 姓名, 年龄 FROM 学生表 ORDER BY 年龄 DESC d. SELECT TOP 5 WITH TIES姓名, 年龄 FROM 学生表 二.判断题(每题1分,共5分)
题目81
“SELECT * FROM Student WHERE Sname LIKE '张_' ”语句中的'张_' 用于查找姓张的学生。( ) 选择一项:
对 错
题目82
“SELECT * FROM Student WHERE Sname LIKE '[张李刘]%' ”语句可以查找姓张、李、刘的学生。( ) 选择一项:
对 错
题目83
“SELECT COUNT(DISTINCT Sno) FROM SC ”语句用于统计学生的总人数。( ) 选择一项:
对 错
题目84
HAVING子句用于对分组后的统计结果再进行过滤,它用于组而不是对单个记录。( ) 选择一项:
对
错
题目85
“SELECT * FROM Student INNER JOIN SC
ON Student.Sno = SC.Sno ” 语句可将Student与 SC连接起来。( ) 选择一项:
对 错
三.简答题(本题共5分)
题目86
WHERE Age BETWEEN 20 AND 30子句,查找的Age范围是多少?(本题1分) 答:Age大于等于20并且小于等于30
题目87
“WHERE Sdept NOT IN ('CS', 'IS', 'MA')”子句,查找的数据是什么?(本题1分) 答:查找'CS', 'IS', 'MA'三个系之外的其他系。
题目88
自连接与普通内连接的主要区别是什么?(本题1分)
答:自连接中进行连接操作的表在物理上是一张表,而普通内连接进行连接的表在物理上是两张表。
题目89
外连接与内连接的主要区别是什么?(本题1分)
答:进行外连接操作时,其连接结果中将包含一张表中的所有数据,不管该数据是否满足连接条件;而进行内连接操作时,其连接结果必须是两个表中都满足连接条件的数据。
题目90
相关子查询与嵌套子查询在执行方面的主要区别是什么?(本题1分)
答:相关子查询的执行过程是先外后内,而嵌套子查询的执行过程是先内后外。而且相关子查询中必须有与外层查询的关联,而嵌套子查询中,内、外层查询不需要有关联关系。
形考任务三
一、单项选择题(每题1分,共15分)
题目1
关于视图的说法,正确的是( )。 选择一项:
a. 视图与基本表一样,也存储数据
b. 对视图的操作最终都转换为对基本表的操作 c. 视图的数据源只能是基本表
d. 所有视图都可以实现对数据的增、删、改、查操作
题目2
在视图的定义语句中,只能包含( )。 选择一项: a. 数据查询语句
b. 数据增、删、改语句 c. 创建表的语句 d. 全部都可以
题目3
视图对应数据库三级模式中的( )。 选择一项: a. 外模式 b. 内模式 c. 模式 d. 其他
题目4
关于视图的说法,正确的是( )。
选择一项:
a. 通过视图可以提高数据查询效率 b. 视图提供了数据的逻辑独立性 c. 视图只能建立在基本表上
d. 定义视图的语句可以包含数据更改语句
题目5
创建视图的主要作用是 ( )。 选择一项:
a. 提高数据查询效率 b. 维护数据的完整性约束 c. 维护数据的一致性 d. 提供用户视角的数据
题目6
设有学生表(学号,姓名,所在系)。建立统计每个系的学生人数的视图语句中,正确的是( )。 选择一项:
a. CREATE VIEW v1 AS
SELECT 所在系, COUNT(*) FROM 学生表 GROUP BY 所在系 b. CREATE VIEW v1 AS
SELECT 所在系, SUM(*) FROM 学生表 GROUP BY 所在系 c. CREATE VIEW v1(系名,人数) AS
SELECT 所在系, SUM(*) FROM 学生表 GROUP BY 所在系 d. CREATE VIEW v1(系名,人数) AS
SELECT 所在系, COUNT(*) FROM 学生表 GROUP BY 所在系
题目7
关于索引的说法,正确的是 ( )。 选择一项:
a. 只要建立了索引就可以加快数据的查询效率
b. 在一个表上可以创建多个聚集索引 c. 在一个表上可以建立多个唯一的非聚集索引
d. 索引会影响数据插入和更新的执行效率,但不会影响删除数据的执行效率
题目8
创建存储过程的用处主要是 ( )。 选择一项:
a. 提高数据操作效率 b. 维护数据的一致性 c. 实现复杂的业务规则 d. 增强引用完整性
题目9
关于存储过程的说法,正确的是( )。 选择一项:
a. 在定义存储过程的代码中可以包含数据的增、删、改、查语句 b. 用户可以向存储过程传递参数,但不能输出存储过程产生的结果 c. 存储过程的执行是在客户端完成的 d. 存储过程是存储在客户端的可执行代码段
题目10
修改存储过程P1的语句,正确的是 ( )。 选择一项: a. ALTER P1 b. ALTER PROC P1 c. MODIFY P1
d. MODIFY PROC P1
题目11
删除存储过程P1的语句,正确的是( )。 选择一项:
a. DELETE P1 b. DELETE PROC P1 c. DROP P1 d. DROP PROC P1
题目12
触发器的主要作用是( )。 选择一项:
a. 提高数据的查询效率 b. 增强数据的安全性 c. 加强数据的保密性 d. 实现复杂的约束
题目13
现有学生表和修课表,其结构为:
学生表(学号,姓名,入学日期,毕业日期) 修课表(学号,课程号,考试日期,成绩)
现要求修课表中的考试日期必须在学生表中相应学生的入学日期和毕业日期之间。正确的实现方法是( )。 选择一项:
a. 在修课表的考试日期列上定义一个CHECK约束 b. 在修课表上建立一个插入和更新操作的触发器 c. 在学生表上建立一个插入和更新操作的触发器 d. 在修课表的考试日期列上定义一个外键引用约束
题目14
设在SC(Sno,Cno,Grade)表上定义了触发器: CREATE TRIGGER tri1 ON SC AFTER INSERT … 当执行语句:INSERT INTO SC VALUES('s001', 'c01',90)
会引发该触发器执行。关于触发器执行时表中数据的说法,正确的是( )。
选择一项:
a. SC表和INSERTED表中均包含新插入的数据 b. SC表和INSERTED表中均不包含新插入的数据
c. SC表中包含新插入的数据,INSERTED表中不包含新插入的数据 d. SC表中不包含新插入的数据,INSERTED表中包含新插入的数据
题目15
当执行由UPDATE语句引发的触发器时,关于该触发器临时工作表的说法,正确的是( )。 选择一项:
a. 系统会自动产生UPDATED表来存放更改前的数据 b. 系统会自动产生UPDATED表来存放更改后的数据
c. 系统会自动产生INSERTED表和DELETED表,用INSERTED表存放更改后的数据,用DELETED表存放更改前的数据
d. 系统会自动产生INSERTED表和DELETED表,用INSERTED表存放更改前的数据, 二.判断题(每题0.5分,共5分)
题目16
视图是一个虚表,数据库中只存储视图的定义,而不存储视图所包含的数据,这些数据仍存放在原来的基本表中。( ) 选择一项:
对 错
题目17
当基本表中的数据发生变化时,从视图中查询出的数据并不随之变化。( ) 选择一项:
对 错
题目18
索引一般来说可以提高数据增、删、改、查的效率。( ) 选择一项:
对 错
题目19
使用索引的一个优点是,在对数据进行插入、更改和删除操作时,不需要对索引进行相应维护,就可以使索引与数据保持一致。( ) 选择一项:
对 错
题目20
由于聚集索引项决定了表中数据的物理存储顺序,因此一个表只能包含一个聚集索引。( ) 选择一项:
对 错
题目21
非聚集索引并不改变数据的物理存储顺序,可以在一个表上建立多个非聚集索引。( ) 选择一项:
对 错
题目22
存储过程是存储在数据库服务器端供客户端调用执行的SQL语句。( ) 选择一项:
对 错
题目23
如果存储过程有输入参数并且没有为输入参数指定默认值,则在调用存储过程时,会自动生成一个常量值。( ) 选择一项:
对 错
题目24
UPDATE、INSERT和DELETE都可引发触发器代码的执行。( ) 选择一项:
对 错
题目25
触发器名在数据库中可以不是唯一的。( ) 选择一项:
对 错
三.简答题(本题共5分)
题目26
试说明使用视图的好处。(本题1分)
答:利用视图可以简化客户端的数据查询语句,使用户能从多角度看待同一数据,可以提高数据的安全性,视图对应数据库三级模式中的外模式,因此提供了一定程度的逻辑独立性。
题目27
索引的作用是什么?(本题1分) 答:索引可以加快数据的查询效率。
题目28
索引分为哪几种类型?分别是什么?它们的主要区别是什么?(本题1分)
答:分为聚集索引和非聚集索引两种。聚集索引会对数据进行物理排序,非聚集索引不对数据进行物理排序。
题目29
存储过程的作用是什么?为什么利用存储过程可以提高数据的操作效率?(本题1分) 答:存储过程可以提供模块化程序设计,提高数据操作效率,简化客户端编程。 答:存储过程可以提供模块化程序设计,提高数据操作效率,简化客户端编程。
因为数据库管理系统是在创建存储过程时对SQL代码进行分析和优化,并在第一次执行时进行语法检查和编译,将编译好的可执行代码存储在内存的一个专门缓冲区中,以后再执行此存储过程时,只需直接执行内存中的可执行代码即可。
题目30
触发器的作用是什么? 前触发和后触发的主要区别是什么?(本题1分) 答:触发器可以实现复杂的完整性约束,同时还可以实现一些商业规则。
前触发器并不真正执行引发触发器执行才数据操作语句;后触发器是在引发触发器执行的数据操作语句执行完后,再引发触发器执行。 第7章 数据库管理与维护 (本章共20分) 一.单项选择题(每题1分,共10分)
题目31
不属于事务特征的是( )。 选择一项: a. 完整性 b. 一致性 c. 隔离性 d. 原子性
题目32
事务一旦提交,其对数据库中数据的修改就是永久的,以后的操作或故障不会对事务的操作结果产生任何影响。这个特性是事务的( )。 选择一项: a. 原子性 b. 一致性 c. 隔离性
d. 持久性
题目33
事务所包含的操作作为一个整体,要么都做,要么都不做,这个特性称为事务的( )。 选择一项: a. 一致性 b. 持久性 c. 隔离性 d. 原子性
题目34
关于SQL Server备份设备的说法,正确的是( )。 选择一项:
a. 备份设备只能建立在磁带设备上
b. 备份设备是一个逻辑设备,可以建立在磁盘上 c. 备份设备是一台物理存在的有特定要求的设备 d. 一个备份设备只能用于一个数据库的一次备份
题目35
在简单恢复模式下,可以进行的备份是( )。 选择一项: a. 仅完整备份 b. 仅事务日志备份 c. 仅完整备份和差异备份
d. 完整备份、差异备份和日志备份
题目36
关于差异备份的说法,正确的是( )。 选择一项:
a. 差异备份备份的是从上次备份到当前时间数据库变化的内容 b. 差异备份备份的是从上次完整备份到当前时间数据库变化的内容
c. 差异备份仅备份数据,不备份日志
d. 两次完整备份之间进行的各差异备份的备份时间都是一样的
题目37
关于日志备份的说法,错误的是( )。 选择一项:
a. 日志备份仅备份日志,不备份数据
b. 日志备份的执行效率通常比差异备份和完整备份高 c. 日志备份的时间间隔通常比差异备份短 d. 第一次对数据库进行的备份可以是日志备份
题目38
设有如下备份操作:
现从备份中对数据库进行恢复,正确的恢复顺序为 ( )。 选择一项:
a. 完整备份1,日志备份1,日志备份2,差异备份1,日志备份3,日志备份4 b. 完整备份1,差异备份1,日志备份3,日志备份4 c. 完整备份1,差异备份1 d. 完全备份1,日志备份4
题目39
关于SQL Server数据库服务器登录账户的说法,错误的是( )。 选择一项:
a. 登录账户的来源可以是Windows用户,也可以是非Windows用户 b. 所有的Windows用户都自动是SQL Server的合法账户
c. 在Windows身份验证模式下,不允许非Windows身份的用户登录到SQL Server服务器
d. sa是SQL Server提供的一个具有系统管理员权限的默认登录账户
题目40
关于SQL Server身份验证模式的说法,正确的是( )。 选择一项:
a. 只能在安装过程中设置身份验证模式,安装完成之后不能再修改 b. 只能在安装完成后设置身份验证模式,安装过程中不能设置
c. 在安装过程中可以设置身份验证模式,安装完成之后还可以再对其进行修改 d. 身份验证模式是系统规定好的,在安装过程中及安装完成后都不能进行修改 二.判断题(每题1分,共5分)
题目41
事务可以保证在一个事务中的全部操作或者全部成功,或者全部失败。( ) 选择一项:
对 错
题目42
ROLLBACK表示事务正常结束,COMMIT表示事务中的全部操作被撤销。( ) 选择一项:
对 错
题目43
事务的持久性是指数据库中一个事务的执行不能被其他事务干扰。( ) 选择一项:
对 错
题目44
对象权限是用户在已经创建好的对象上行使的权限,例如CRAETE TABLE。( ) 选择一项:
对 错
题目45
在恢复数据库之前,如果数据库的日志文件没有损坏,可在恢复之前对数据库进行一次尾部日志备份,这样可将数据的损失减少到最小。( ) 选择一项:
对 错
三.简答题(本题共5分)
题目46
试说明事务的概念及四个特征。(本题1分)
答:事务是用户定义的数据操作系列,这些操作作为一个完整的工作单元执行。一个事务内的所有语句作为一个整体,要么全部执行,要么全部不执行。 事务的特征包括:原子性、一致性、隔离性和持久性。
题目47
SQL Server 的安全验证过程是什么?(本题1分)
答:在SQL Server 中,用户要访问数据库中的数据,必须经过三个认证过程。第一个是身份认证,这通过登录账户(SQL Server称之为登录名)来标识用户,身份认证只验证用户连接到SQL Server数据库服务器的资格,即验证该用户是否具有连接到数据库服务器的“连接权”;第二个是访问权认证,当用户访问某数据库时,必须具有该数据库的访问权,即验证用户是否是该数据库的合法用户。第三个是操作权限认证,当用户访问数据库中的数据或对象时,必须具有合适的操作权限。
题目48
权限的管理包含哪些操作?(本题1分)
答:权限的管理包括授予权限、收回权限和拒绝访问三种。
题目49
日志备份备份的是哪段时间的哪些内容?差异备份备份的是哪段时间的哪些内容?(本题1分)
答:日志备份备份的是从上次备份到当前时刻新增的数据库日志内容。 差异备份备份的是从上次完整备份到当前时刻数据库的变化部分。
题目50
若对某数据库进行了完整备份、差异备份和日志备份,则当恢复该数据库时,正确的恢复顺序是什么?(本题1分)
答:要求先恢复完整备份,然后恢复完整备份之后最近的差异备份,最后再按备份顺序逐个恢复差异备份后的全部日志备份。 第8章 数据库设计 (本章共20分) 一.单项选择题(每题1分,共10分)
题目51
在数据库设计中,将E-R图转换为关系数据模型是( )完成的工作。 选择一项: a. 需求分析阶段 b. 概念设计阶段 c. 逻辑设计阶段 d. 物理设计阶段
题目52
在将E-R图转换为关系模型时,一般都将m:n联系转换成一个独立的关系模式。关于这种联系产生的关系模式的主键的说法,正确的是( )。 选择一项:
a. 只需包含m端关系模式的主键即可 b. 只需包含n端关系模式的主键即可 c. 至少包含m端和n端关系模式的主键 d. 必须添加新的属性作为主键
题目53
在将局部E-R图合并为全局E-R图时,可能会产生一些冲突。下列冲突中不属于合并E-R图冲突的是( )。 选择一项: a. 结构冲突 b. 语法冲突 c. 属性冲突 d. 命名冲突
题目54
一个银行营业所可以有多个客户,一个客户也可以在多个营业所进行存取款业务,则客户和银行营业所之间的联系是( )。 选择一项: a. 一对一 b. 一对多 c. 多对一 d. 多对多
题目55
设实体A与实体B之间是一对多联系。如下逻辑结构设计方法中,最合理的是( )。 选择一项:
a. 实体A和实体B分别对应一个关系模式,且外键放在实体B的关系模式中 b. 实体A和实体B分别对应一个关系模式,且外键放在实体A的关系模式中 c. 为实体A和实体B设计一个关系模式,该关系模式包含两个实体的全部属性
d. 分别为实体A、实体B和它们之间的联系设计一个关系模式,外键在联系对应的关系模式中
题目56
设有描述图书出版情况的关系模式:出版(书号,出版日期,印刷数量),设一本书可以被出版多次,每次出版都有一个印刷数量。该关系模式的主键是( )。 选择一项: a. 书号
b. (书号,出版日期) c. (书号,印刷数量)
d. (书号,出版日期,印刷数量)
题目57
在数据库设计中,进行用户子模式设计是( )要完成的工作。 选择一项: a. 需求分析阶段 b. 概念结构设计阶段 c. 逻辑结构设计阶段 d. 物理结构设计阶段
题目58
属于数据库逻辑设计内容的是( )。 选择一项:
a. 存储记录的格式设计
b. 将概念设计的结果转换为特定DBMS所支持的数据模型 c. 设计局部的E-R图
d. 将各局部E-R图合并为全局E-R图
题目59
关于数据库设计中新奥尔良方法的说法,错误的是( )。 选择一项:
a. 数据库设计包含需求分析、概念结构设计、逻辑结构设计和物理结构设计 b. E-R图是数据库概念结构设计产生的结果
c. 概念结构设计是在需求分析之后、逻辑结构设计之前进行的 d. 逻辑结构设计是在需求分析之后、概念结构设计之前进行的
题目60
在数据库设计中,表设计原则遵守( )标准。 选择一项:
a. 第一范式 b. 第二范式 c. 第三范式 d. 字段设计
二.判断题(每题1分,共5分)
题目61
数据库设计就是建立一个数据库应用系统。( ) 选择一项:
对 错
题目62
数据库的概念结构设计通常与具体的数据库管理系统无关。( ) 选择一项:
对 错
题目63
在进行数据库概念结构设计时,要充分考虑所使用的数据库管理系统。( ) 选择一项:
对 错
题目64
设计局部E-R图属于逻辑设计的任务。( ) 选择一项:
对 错
题目65
将概念结构转换为关系数据模型属于概念设计的任务。( )
选择一项:
对 错
三.简答题(本题共5分)
题目66
数据库设计分为哪几个阶段?每个阶段的主要工作是什么?(本题1分) 答:数据库设计一般包含如下过程:
1)需求分析。了解用户系统需求,解决“干什么”的问题?
2)结构设计,包括概念设计、逻辑设计和物理设计。概念设计的目标是产生反映全体用户信息需求的整体数据库概念结构;数据库逻辑设计的任务是把概念设计阶段产生的E-R图转换为具体DBMS支持的组织层数据模型,也就是转换为DBMS可以处理的数据库逻辑结构;物理设计的任务和目标是为逻辑数据模型选取一个最适合应用环境的物理结构。 3)数据库实施,主要任务和目标就是在实际的计算机系统中建立数据库应用系统。 4)数据库运行和维护阶段。主要工作包括:数据库的备份和恢复、数据库的安全性和完整性控制、监视、分析、调整数据库性能、数据库的重组。
题目67
需求分析阶段的任务是什么?其中发现事实的方法有哪些?(本题1分) 答:需求分析阶段的主要工作就是,通过调查从用户处获得对数据库的下列需求。 1)信息需求:用户将从数据库中获得的信息的内容和性质,对信息的要求、导出数据的要求,即确定在数据库中存储哪些数据。
2)处理需求:用户要完成什么处理功能,对某种处理的执行频度、用户要求的响应时间,处理的方式是联机处理还是批处理等。 3)安全性和完整性的约束。
题目68
什么是数据库的逻辑结构设计?简述其设计步骤。(本题1分)
答:数据库逻辑设计的任务是把概念设计阶段产生的E-R图转换为具体DBMS支持的组织层数据模型,这些模式在功能、性能、完整性和一致性约束方面满足应用要求。 关系数据库的逻辑设计一般包含三项工作: 1)将概念结构转换为关系数据模型。
2)对关系数据模型进行优化。 3)设计面向用户的外模式。
题目69
把E-R模型转换为关系模式的转换规则有哪些?(本题1分) 答:
1)一个实体转换为一个关系模式。实体的属性就是关系模式的属性,实体的码就是关系模式的主键。
2)对于实体间的联系有以下不同的情况:
① 一个1∶1联系通常是与任意一端所对应的关系模式合并,并将在该关系模式的属性中加入另一个实体的码和联系本身的属性。
② 一个1∶n联系通常是与n端所对应的关系模式合并,并将在该关系模式中加入1端实体的码以及联系本身的属性。
③ 一个m∶n联系必须转换为一个独立的关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为此关系模式的属性,且关系模式的主键包含各实体的码。 3)具有相同主键的关系模式可以合并。
题目70
关系数据模型的优化包含哪些方法?(本题1分)
答:关系数据模型的优化通常以关系规范化理论为指导,并考虑系统的性能。具体方法为: 1)确定各属性间的函数依赖关系。根据需求分析阶段得出的语义,分别写出每个关系模式的各属性之间的函数依赖以及不同关系模式中各属性之间的数据依赖关系。 2)对各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。 3)判断每个关系模式的范式,根据实际需要确定最合适的范式。
4)根据需求分析阶段得到的处理要求,分析这些模式对于这样的应用环境是否合适,确定是否要对某些模式进行分解或合并。 第9章 数据库应用系统开发 (本章共15分) 一、单项选择题(每题1分,共5分)
题目71
在VB中,可以利用Connection对象的Execute方法实现对数据库的更改操作。关于删除SC表中学号为S01的选课记录的语句,正确的是( )。
选择一项:
a. ADOcn.Execute “UPATE FROM SC WHERE 学号 = 'S01'” b. ADOcn.Execute “DELETE FROM SC WHERE 学号 = 'S01'” c. ADOcn.Execute “SELECT FROM SC WHERE 学号 = 'S01'” d. ADOcn.Execute “DROP FROM SC WHERE 学号 = 'S01'”
题目72
设ADOcn是一个Connection对象,与数据库的连接字符串存放在cnStr字符串中。关于使用ADOcn建立与数据源连接的语句,正确的是( )。 选择一项:
a. ADOcn.Create cnStr b. ADOcn.Open cnStr c. ADOcn.connetion cnStr d. ADOcn.conn cnStr
题目73
不属于VB中ADO对象模型中的对象的是( )。 选择一项: a. Connection b. Command c. Recordset d. Update
题目74
声明并创建Connection对象的语句,正确的是( )。 选择一项:
a. Dim ADOcn As New Connection b. Dim ADOcn As Connection c. Declare ADOcn As New Connection d. Declare ADOcn As Connection
题目75
利用Recordset对象可以得到查询结果集。将SC表中的全部数据放置到Recordset对象ADOrs中的语句,正确的是( )。 选择一项:
a. ADOrs.Open \b. ADOrs. Execute \c. ADOrs. Create \d. ADOrs. \二.判断题(每题1分,共5分)
题目76
VB提供了三种数据库访问引擎,分别是Jet引擎、ODBC和OLE DB,目前主要使用的是OLE DB。( ) 选择一项:
对 错
题目77
Recordset对象是数据表的查询结果,通常可使用它进行数据的插入操作。( ) 选择一项:
对 错
题目78 不正确
获得1.00分中的0.00分
题干
设ADOrs是一个Recordset对象,则ADOrs(\学号\表示得到“学号”列的值。( ) 选择一项:
对 错
题目79
如果使用Connection对象建立与数据库的连接,在声明对象之后建立数据库连接的方法是Create。( ) 选择一项:
对 错
题目80
B/S模式的开发、维护工作主要集中在数据库服务器端,可减轻异地用户的维护成本。( ) 选择一项:
对 错
三.简答题(本题共5分)
题目81
请简述C/S和B/S的主要原理,并说明它们各自的优缺点。(本题2分) 答:
传统的C/S 模式是一种两层结构的系统,第一层是在客户机系统上结合了表示与业务逻辑;第二层是通过网络结合了数据库服务器。C/S模式主要由客户应用程序和数据库两部分组成。C/S结构软件(即客户机/服务器模式)分为客户机和服务器两层。
B/S模式,即浏览器/服务器模式,是一种从传统的二层C/S模式发展起来的新的网络结构模式,其本质是三层结构C/S模式。 C/S和B/S的优缺点。 (1)系统的性能
在系统的性能方面,B/S占有优势的是其异地浏览和信息采集的灵活性。
采用C/S结构时,客户端和 服务器端都能够处理任务,这虽然对客户机的要求较高,但因此可以减轻服务器的压力。 (2)系统的开发
C/S结构是建立在中间件产品基础之上的,对应用开发者提出了较高的要求。应用程序的维护、移植和互操作变得复杂。如果客户端是在不同的操作系统上,C/S结构的软件需要开发不同版本的客户端软件。
与B/S结构相比,C/S技术发展历史更为“悠久”。从技术成熟度及软件设计、开发人员的掌握水平来看,C/S技术应是更成熟、更可靠的。 (3)系统的升级维护
C/S系统升级成本比较大。B/S与C/S处理模式相比,减轻了异地用户系统维护与升级的成本。所有的升级操作只需要针对服务器进行。
题目82
请简要说明开发数据库应用系统的一般步骤。(本题3分) 答:
1).通常要声明一个全局数据库连接对象
2).一般要创建Main子过程,并将它设置为启动对象。在其中顺序完成以下操作: (1)以非模态方式显示飞溅窗。
(2)创建全局数据库连接对象,并连接SQL Server或Access等数据库。 (3)以模态方式显示登录窗,等待用户登录。
(4)登录成功后,以非模态方式显示主窗体,否则退出程序。
3).主窗体一般均提供增加、删除、修改、查询等对数据库的管理功能,所有操作均使用全局数据库连接对象作为与数据库交互的通道,通过SQL语句对数据进行处理,其中: (1)增加功能。使用Insert 语句。在新增一条记录时,一般应先执行一Select语句,以防止记录的主关键词重复。
(2)删除功能。使用Delete语句。在执行删除操作之前,一般会使用MsgBox函数进行提示。
(3)修改功能。使用Update语句。
(4)查询功能。使用Select语句。一般会根据用户的需求设置查询条件。 4).其他功能。比如数据库备份和恢复功能、用户权限管理功能等。 综合应用题1 图书销售(本题10分)
题目83
写出创建如下三张数据表的SQL语句。(本题4分) “图书”表结构:
书号:普通编码定长字符类型,长度为10,主键。 书名:普通编码可变长字符类型,长度为20,非空。
类别:统一字符编码定长字符类型,长度为4,取值为:“高等数学”、“量子力学”、“国学基础”。 出版日期:日期类型。 单价:整型。
“书店”表结构:
书店编号:普通编码定长字符类型,长度为20,主键。 书店名:普通编码可变长字符类型,长度为30,非空。 地址:统一字符编码可变长字符类型,长度为30。
“销售”表结构:
书号:普通编码定长字符类型,长度为10,引用图书表的外键。 书店编号:普通编码定长字符类型,长度为20,引用书店表的外键。 销售时间:日期时间类型。 销售数量:整型。
主键:(书号,书店编号,销售时间)。 CREATE TABLE 图书( 书号 char(10) primary key, 书名 varchar(20) not null,
类别 nchar(4) CHECK (类别 IN('高等数学','量子力学', '国学基础')), 出版日期 date, 单价 int )
CREATE TABLE 书店(
书店编号 char(20) primary key, 书店名 varchar(30) not null, 地址 nvarchar(30) )
CREATE TABLE 销售( 书号 char(10), 书店编号 char(20), 销售时间 datetime, 销售数量 int,
Primary key(书号,书店编号,销售时间), Foreign key(书号) references 图书(书号), Foreign key(书店编号) references 书店(书店编号) )
题目84
依据第1题所创建的三张表,写出完成下列操作的SQL语句。(本题4分) 1) 查询“量子力学”类图书的书名和出版日期。
2) 查询单价大于等于60的图书的销售情况,列出书名、类别、销售时间和销售数量。 3) 将“量子力学”类图书的单价降低10。
4) 在书店表中插入一行数据,书店编号:SD100,书店名:新华书店,地址:西单。 参考答案及评分要点:
1)SELECT 书名,出版日期 FROM 图书 WHERE 类别 = '量子力学'
2)SELECT 书名, 类别, 销售时间, 销售数量 FROM 图书 a JOIN 销售 b ON a.书号 = b.书号
WHERE 单价 >= 60
3)UPDATE 图书 SET 单价 = 单价 - 10 WHERE 类别 = '量子力学'
4)INSERT INTO 书店
VALUES('SD100','新华书店','西单')
题目85
依据第1题所创建的三张表,写出创建满足如下要求的视图的SQL语句:查询销售了“高等数学”类图书的书店名和地址。(本题2分) CREATE VIEW V1 AS
SELECT 书店名,地址 FROM 书店 a JOIN 销售 b ON a.书店编号 = b.书店编号 JOIN 图书 c ON c.书号 = b.书号 WHERE 类别 = '高等数学'
综合应用题2 教师授课(本题10分)
题目86
写出创建如下三张数据表的SQL语句。(本题4分) “教师”表结构:
教师号:普通编码定长字符类型,长度为10,主键。 教师名:普通编码可变长字符类型,长度为20,非空。 所在部门:普通编码可变长字符类型,长度为30。
职称:普通编码定长字符类型,长度为6,取值为:“教授”、“副教授”、“其他”。
“课程”表结构:
课程号:普通编码定长字符类型,长度为20,主键。 课程名:普通编码可变长字符类型,长度为40,非空。
学时数:微整型。 开课学期:微整型。
“授课”表结构:
教师号:普通编码定长字符类型,长度为10,引用教师表的外键。 课程号:普通编码定长字符类型,长度为20,引用课程表的外键。 授课时数:整型。 授课年份:整型。
主键:(教师号,课程号,授课年份)。 参考答案:
CREATE TABLE 教师(
教师号 char(10) primary key, 教师名 varchar(20) not null, 所在部门 varchar(30),
职称 char(6) CHECK (职称 IN('教授','副教授', '其他')) )
CREATE TABLE 课程(
课程号 char(20) primary key, 课程名 varchar(40) not null, 学时数 tinyint, 开课学期 tinyint )
CREATE TABLE 授课(
教师号 char(10), 课程号 char(20), 授课时数 int, 授课年份 int,
Primary key(教师号,课程号,授课年份), Foreign key(教师号) references 教师(教师号), Foreign key(课程号) references 课程(课程号) )
题目87
依据第1题所创建的三张表,写出完成下列操作的SQL语句。(本题4分) 1) 查询“教授”职称的教师姓名和所在部门。 2) 查询每学期开设的学时数大于40的课程门数。
3) 查询2016年全部课程的授课情况,列出课程名、学时数、教师名和授课时数。 删除没人讲授的课程。 1) SELECT 教师名, 所在部门 FROM 教师
WHERE 职称 = '教授'
2) SELECT 开课学期,COUNT(*) 课程门数 FROM 课程
WHERE 学时数 > 40 GROUP BY 开课学期
3) SELECT 课程名, 学时数, 教师名, 授课时数
FROM 课程 JOIN 授课 ON 课程.课程号 = 授课.课程号 JOIN 教师 ON 教师.教师号 = 授课.教师号 WHERE 授课年份 = 2016