数据库应用技术考
终结性考试模拟试题
一、单项选择题(每个题只有一个答案是正确的,请将正确的答案填写到括号内。)
1. 下列功能中,不属于数据库管理系统功能的是( B )。
A 、数据库对象定义
B 、数据库文件读写
C 、数据查询
D 、数据更新
2. 下列类型中,属于定点小数类型的是( A )。
A 、numeric
B 、int
C 、datetime
D 、real
3. 对char(10)类型的列,若存储“电视”,其占用的字节数是( C )。
A 、4
B 、5
C 、10
D 、20
4. 下列条件子句中,能够筛选出成绩在60~80(包括边界值)的是( B )。
A 、Where 成绩 >= 60 OR成绩
B 、Where 成绩 >= 60 AND成绩
C 、Where 60
D 、Where 成绩 IN(60..80)
5. 下列关于聚集索引与非聚集索引的说法,正确的是( C )。
A 、在一个表上可以建立多个聚集索引和多个非聚集索引
B 、在一个表上可以建立多个聚集索引和最多一个非聚集索引
C 、在一个表上可以同时存在聚集索引和非聚集索引
D 、必须先建立聚集索引,然后再建立非聚集索引
6. 下列关于触发器的说法,正确的是( B )。
A 、后触发型触发器是在触发器执行完成后再执行引发触发器执行的语句
B 、触发器是由数据更改操作引发的自动执行的代码
C 、引发触发器执行的操作可以是SELECT
D 、CREATE TRIGGER tri ON table1 FOR INSERT定义的是前触发型触发器
7. 可以利用Connection 对象的Execute 方法实现对数据库的更改操作。下列将SC 表中
1
学号为S105的学生的成绩减少10分的语句,正确的是( C )。
A 、ADOcn.Execute “ALTER SC SET Grade = Grade - 10 WHERE 学号 = 'S105' ”
B 、ADOcn.Execute “ALTER FROM SC SET Grade = Grade - 10 WHERE 学号 = 'S105' ”
C 、ADOcn.Execute “UPDATE SC SET Grade = Grade - 10 WHERE 学号 ='S105' ”
D 、ADOcn.Execute “UPDATE FROM SC SET Grade = Grade - 10 WHERE 学号 = 'S105' ”
8. 下列声明并创建Connection 对象的语句,正确的是( B )。
A 、Dim ADOcn As Connection
B 、Dim ADOcn As New Connection
C 、Declare ADOcn As New Connection
D 、Declare ADOcn As Connection
9. 若有学生表Student ,结构为:学生(学号,姓名,所在系),选课表SC 结构为:选
课(学号,课程号,成绩)。现要查询信息工程系学生的姓名和所选的课程号。下列关系代数表达式正确的是( C )。
A 、σ姓名, 课程号( ∏所在系=‘信息工程’ Student))
B 、σ姓名, 课程号( ∏所在系=‘信息工程’ Student)
C 、∏姓名, 课程号(σ所在系=‘信息工程’ Student))
D 、∏姓名, 课程号(σ所在系=‘信息工程’ Student)
10. 下列关于第二范式的说法,错误的是( D )。
A 、第二范式的关系模式一定是第一范式的
B 、第二范式的关系模式有可能存在数据冗余
C 、第二范式的关系模式一定不存在非主属性对主键的传递函数依赖
D 、第二范式的关系模式一定不存在非主属性对主键的部分函数依赖
11. 设有关系表:教师(教师编号,教师姓名,性别,电话号),其中电话号允许为空。
下列数据插入语句中,正确的是( D )。
A 、INSERT INTO 教师 ( 't001', '刘晓红', '女', NULL )
B 、INSERT INTO 教师 VALUES ('t001', '刘晓红', '女')
C 、INSERT INTO 教师(教师编号,教师姓名,性别) ('t001', '刘晓红', '女')
D 、INSERT INTO 教师(教师编号,教师姓名,性别) VALUES('t001', '刘晓红', '女')
12. 下列关于视图的说法,错误的是( A )。
A 、只能在基本表上建立视图,不能在视图上再建立视图
B 、通过视图查询数据时最终都转换为对基本表的查询
2
C 、视图在一定程度上提供了数据的逻辑独立性
D 、视图提供了一定的安全控制机制
13. 下列查询年龄最大的前四个学生(包括并列的情况)的语句,正确的是( C )。
A 、SELECT TOP 4 WITH TIES * FROM Student ORDER BY Sage ASC
B 、SELECT TOP 4 WITH TIES * FROM Student GROUP BY Sage ASC
C 、SELECT TOP 4 WITH TIES * FROM Student ORDER BY Sage DESC
D 、SELECT TOP 4 WITH TIES * FROM Student GROUP BY Sage DESC
14. 下列关系代数运算中,要求参与运算的两个集合必须列个数相同的是( C )。
A 、选择运算
B 、投影运算
C 、并运算
D 、笛卡尔积运算
15. 下列关于SQL Server中扩大数据库空间的说法,正确的是(
A 、日志文件和数据文件的空间都可以扩大
B 、只能扩大数据文件的空间,不能扩大日志文件的空间
C 、只能扩大日志文件的空间,不能扩大数据文件的空间
D 、在数据库空间未用满时不能进行扩大数据库空间的操作
1. 下列属于数据模型三要素的是( D )。
A 、数据库、数据库管理系统和操作系统
B 、数据库、数据库管理系统和应用程序
C 、数据库、数据库管理系统和数据库文件
D 、数据结构、数据操作和数据完整性约束
2. 下列关于关系运算中选择运算的说法,正确的是( B )。
A 、选择运算是从垂直方向选取表中的若干列
B 、选择运算是从水平方向选取表中满足条件的记录
C 、进行选择运算的两个表必须结构相同
D 、进行选择运算时要求两个表中必须有同名列
3. 下列类型中,属于浮点类型的是( D )。
A 、numeric
B 、int
C 、datetime
D 、real
4. 对char(10)类型的列,若存储“中国”,其占用的字节数是(
A 、2
B 、4
C 、10
D 、20
A )。 C )。 3
5. 下列条件子句中,能够筛选出价格不在100~200(不包括边界值)的是( A )。
A 、Where 价格 NOT BETWEEN 100 AND 200
B 、Where 价格 BETWEEN NOT 100 AND 200
C 、Where 价格 NOT BETWEEN 101 AND 201
D 、Where 价格 BETWEEN NOT 101 AND 201
6. 现要统计选课表中C01课程的总成绩,下列语句中正确的是( C )。
A 、SELECT COUNT(成绩) FROM 选课表 WHERE 课程号 = 'C01'
B 、SELECT COUNT(*) FROM 选课表 WHERE 课程号 = 'C01'
C 、SELECT SUM(成绩) FROM 选课表 WHERE 课程号 = 'C01'
D 、SELECT SUM(*) FROM 选课表 WHERE 课程号 = 'C01'
7. 下列关于非聚集索引的说法,正确的是( A )。
A 、在一个表上可以建立多个非聚集索引
B 、在一个表上最多只能建立一个非聚集索引
C 、非聚集索引必须在聚集索引之后建立
D 、建立非聚集索引后,数据会按非聚集索引键值排序
8. 设有图书销售表(书号,销售时间,销售数量,销售总价),设同一时间可销售多种
图书,但同一图书同一时间只能销售一次。其中适合作为主键的是( D )。
A 、仅书号
B 、仅销售时间
C 、书号或者是销售时间
D 、(书号,销售时间)
9. 设要查询不姓“张”的学生,下列条件子句中正确的是( C )。
A 、Where 姓名 != '张%'
B 、Where 姓名 LIKE '!张%'
C 、Where 姓名 NOT LIKE '张%'
D 、Where 姓名 LIKE NOT '张%'
10. 下列表达式中,与“年龄 NOT BETWEEN 20 AND 30”等价的是( D )。
A 、年龄 > 20 AND 年龄
B 、年龄 > 20 OR 年龄
C 、年龄 30
D 、年龄 30
11. 下列关于视图的说法,错误的是( A )。
A 、只能在基本表上建立视图,不能在视图上再建立视图
B 、通过视图查询数据时最终都落实到对基本表的查询
C 、视图在一定程度上提供了数据的逻辑独立性
D 、视图提供了一定的安全控制机制
12. 数据库中一个事务的执行不能被其他事务干扰,这个特性称为事务的( C )。
4
A 、一致性
B 、持久性
C 、隔离性
D 、原子性
13. 下列关于SQL Server日志备份的说法,正确的是( B )。
A 、对数据库进行的第一次备份可以是日志备份
B 、日志备份仅备份数据库的日志内容,不备份数据
C 、数据库的所有恢复模式都支持日志备份
D 、一般情况下,日志备份是最耗费时间的
14. 下列关于触发器的说法,正确的是( B )。
A 、触发器是由用户调用执行的一段代码
B 、触发器主要用于实现复杂的数据约束
C 、在定义触发器的代码中不能包含INSERT 语句
D 、引发触发器执行的操作可以是INSERT 、DELETE 、UPDATE 和SELECT
15. 下列声明并创建Recordset 对象的语句,正确的是( A )。
A 、Dim ADOcn As New Recordset
B 、Dim ADOcn As Recordset
C 、Declare ADOcn As New Recordset
D 、Declare ADOcn As Recordset
16. 下列属于数据库系统组成部分的是( B )。
A 、数据库、数据库管理系统、操作系统和数据库文件
B 、数据库、数据库管理系统、用户和应用程序
C 、数据库、数据库管理系统和数据库文件
D 、数据库、数据库管理系统和操作系统
17. 下列运算中,属于传统的集合运算的是( D )。
A 、选择运算
B 、投影运算
C 、连接运算
D 、并运算
18. 下列属于整型类型的是( B )。
A 、numeric
B 、int
C 、datetime
D 、real
19. 对nchar(10)类型的列,若存储“数据库”,其占用的字节数是( D )。
A 、3
B 、6
5
C 、10
D 、20
20. 下列条件子句中,能够筛选出价格在100~200(包括边界值)的是( D )。
A 、Where 价格 >= 100 OR价格
B 、Where 价格IN(100..200)
C 、Where 价格 BETWEEN 200 AND 100
D 、Where 价格 >= 100 AND价格
21. 现要统计选课表中C01课程的最低成绩,下列语句中正确的是( C )。
A 、SELECT MAX(成绩) FROM 选课表 WHERE 课程号 = 'C01'
B 、SELECT MAX(*) FROM 选课表 WHERE 课程号 = 'C01'
C 、SELECT MIN(成绩) FROM 选课表 WHERE 课程号 = 'C01'
D 、SELECT MIN(*) FROM 选课表 WHERE 课程号 = 'C01'
22. 下列关于聚集索引的说法,正确的是( B )。
A 、在一个表上可以建立多个聚集索引
B 、在一个表上最多只能建立一个聚集索引
C 、聚集索引适合建立在重复值多的列上
D 、必须先建立聚集索引,然后再建立非聚集索引
23. 设有学生表(学号,姓名,所在系,身份证号)和系表(系名,系办公地点)。下列
关于两个表的引用关系的描述,正确的是( A )。
A 、设置学生表中的“所在系”为外键
B 、设置系表中的“系名”为外键
C 、设置学生表的学号为主键
D 、无法表达这两个表的引用关系
24. 设要查询所有姓“张”的学生,下列条件子句中正确的是( B )。
A 、Where 姓名 LIKE '张_'
B 、Where 姓名 LIKE '张%'
C 、Where 姓名 LIKE '%张'
D 、Where 姓名 LIKE '%张_'
25. 在VB 中,可以利用Connection 对象的Execute 方法实现对数据库的更改操作。下列
将SC 表中学号为S01学生的成绩增加10分的语句,正确的是( C )。
A 、ADOcn.Execute “ALTER SC SET Grade = Grade + 10 WHERE 学号 = 'S01' ”
B 、ADOcn.Execute “ALTER FROM SC SET Grade = Grade + 10 WHERE 学号 = 'S01' ”
C 、ADOcn.Exe cute “UPDATE SC SET Grade = Grade + 10 WHERE 学号 ='S01' ”
D 、ADOcn.Execute “UPDATE FROM SC SET Grade = Grade + 10 WHERE 学号 = 'S01' ”
26. 下列关于SQL Server数据库组成的说法,正确的是( A )。
6
A 、一个数据库可由多个数据文件和多个日志文件组成
B 、一个数据库可由多个数据文件和仅一个日志文件组成
C 、一个数据库可由仅一个数据文件和多个日志文件组成
D 、一个数据库可由仅一个数据文件和仅一个日志文件组成
27. 事务一旦提交,其对数据的更改就是永久的,这个特性称为事务的( B )。
A 、一致性
B 、持久性
C 、隔离性
D 、原子性
28. 下列声明并创建Connection 对象的语句,正确的是( A )。
A 、Dim ADOcn As New Connection
B 、Dim ADOcn As Connection
C 、Declare ADOcn As New Connection
D 、Declare ADOcn As Connection
29. 下列关于触发器的说法,正确的是( C )。
A 、后触发型触发器是在触发器执行完成后再执行引发触发器执行的语句
B 、引发触发器执行的操作可以是SELECT
C 、触发器是由数据更改操作引发的自动执行的代码
D 、CREATE TRIGGER tri ON table1 FOR INSERT定义的是前触发型触发器
30. 下列属于数据库逻辑设计内容的是( B )。
A 、存储记录的格式设计
B 、将概念设计的结果转换为特定DBMS 所支持的数据模型
C 、设计局部的E-R 图
D 、将各局部E-R 图合并为全局E-R 图
31. 下列功能中,不属于数据库管理系统功能的是( B )。
A 、数据库对象定义
B 、数据库文件读写
C 、数据查询
D 、数据更新
32. 下列运算中,属于专门的关系运算的是( C )。
A 、集合的并运算
B 、集合的差运算
C 、集合的连接运算
D 、集合的笛卡尔乘积
33. 下列类型中,属于定点小数类型的是( A )。
A 、numeric
B 、int
7
C 、datetime
D 、real
34. 对nchar(10)类型的列,若存储“中国”,其占用的字节数是( D )。
A 、4
B 、5
C 、10
D 、20
35. 下列条件子句中,能够筛选出成绩在60~80(包括边界值)的是( C )。
A 、Where 成绩 >= 60 OR成绩
B 、Where 60
C 、Where 成绩 >= 60 AND成绩
D 、Where 成绩 IN(60..80)
36. 现要统计选课表中C01课程的最高成绩,下列语句中正确的是( A )。
A 、SELECT MAX(成绩) FROM 选课表 WHERE 课程号 = 'C01'
B 、SELECT MAX(*) FROM 选课表 WHERE 课程号 = 'C01'
C 、SELECT MIN(成绩) FROM 选课表 WHERE 课程号 = 'C01'
D 、SELECT MIN(*) FROM 选课表 WHERE 课程号 = 'C01'
37. 下列关于聚集索引与非聚集索引的说法,正确的是( C )。
A 、在一个表上可以建立多个聚集索引和多个非聚集索引
B 、在一个表上可以建立多个聚集索引和最多一个非聚集索引
C 、在一个表上可以同时存在聚集索引和非聚集索引
D 、必须先建立聚集索引,然后再建立非聚集索引
38. 设有学生表(学号,姓名,所在系,专业,身份证号),其中能够作为候选键的是( B )。
A 、仅学号
B 、学号、身份证号
C 、仅身份证号
D 、学号、姓名
39. 设要查询姓名中第二个字是“玲”的学生,下列条件子句中正确的是( B )。
A 、Where 姓名 LIKE '_玲'
B 、Where 姓名 LIKE '_玲%'
C 、Where 姓名 LIKE '%玲'
D 、Where 姓名 LIKE '%玲%'
40. 下列表达式中,与“所在部门 NOT IN (' 财务', '后勤') ”等价的是( A )。
A 、所在部门 != '财务' AND 所在部门 != '后勤'
B 、所在部门 != '财务' OR 所在部门 != '后勤'
C 、所在部门 = '财务' AND 所在部门 = '后勤'
D 、所在部门 = '财务' OR 所在部门 = '后勤'
8
41. 下列关于SQL Server安全认证的说法,正确的是( B )。
A 、仅具有连接权的用户在登录到数据库服务器后,可以访问用户数据库
B 、仅具有连接权的用户只能够登录到数据库服务器,不能访问用户数据库
C 、若某用户只进行查询数据的操作,则无需对其进行任何授权
D 、只有对数据进行增、删、改操作时,才需对用户进行授权
42. 事务所包含的操作作为一个整体,要么都做,要么都不做,这个特性称为事务的
( D )。
A 、一致性
B 、持久性
C 、隔离性
D 、原子性
43. 在VB 中,可以利用Connection 对象的Execute 方法实现对数据库的更改操作。下列
删除SC 表中学号为S01的选课记录的语句,正确的是( B )。
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'”
44. 下列关于SQL Server中扩大数据库空间的说法,正确的是( C )。
A 、只能扩大日志文件的空间,不能扩大数据文件的空间
B 、只能扩大数据文件的空间,不能扩大日志文件的空间
C 、日志文件和数据文件的空间都可以扩大
D 、在数据库空间未用满时不能进行扩大数据库空间的操作
45. 下列不属于VB 中ADO 对象模型中的对象的是( D )。
A 、Connection
B 、Command
C 、Recordset
D 、Update
二、判断题(正确的在括号内打上“√”,错误的打上“╳”。)
1. 在数据库三级模式中,外模式到模式的映像提供了数据的物理独立性。( × )
2. 实体完整性约束通常用主键实现。( √ )
3. 当登录账户成为某数据库的合法用户之后,其对该数据库中的用户数据和对象自动拥
有各种操作权限。( × )
4. E-R 图中用矩形框表示具体的实体。( √ )
9
5. 设ADOrs 是一个Recordset 对象,则ADOrs("学号") 表示得到“学号”列的值。(√) 6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24. 数据库三级模式中,外模式到模式的映像提供了数据的逻辑独立性。( √ ) 在进行数据库概念结构设计时,要充分考虑所使用的数据库管理系统。( × ) 一个关系模式只能包含一个候选键。( × ) B /S模式的开发、维护工作主要集中在服务器端,可减轻异地用户的维护成本。(√ ) SQL Server 不允许将同一个数据库的数据文件和日志文件存储在相同的位置。( × ) 在SQL Server中,可以手工扩大数据文件和日志文件的空间。( √ ) 具有数据更改权限的用户都自动具有该数据的查询权限。( × ) 设ADOrs 是一个Recordset 对象,则ADOrs("学号") 表示得到“学号”列的值。( √) 在数据库设计中,通常是先进行逻辑结构设计,然后再进行概念结构设计。( × ) SQL Server中的“简单恢复模式”不支持对数据库进行日志备份。(√ ) 在数据库三级模式中,外模式到模式的映像提供了数据的物理独立性。( × ) 数据库的概念设计通常与具体的数据库管理系统无关。(√ ) 实体完整性约束通常用主键实现。( √ ) 通常应该在频繁进行更新操作的列上建立非聚集索引。( × ) 在SQL Server中,同一个数据库的不同数据文件必须存放在不同的位置。( × ) 在SQL Server中,不允许删除正在被用户使用的数据库。( √ ) 当登录账户成为某数据库的合法用户之后,其对该数据库中的用户数据和对象自动拥有各种操作权限。( × ) 数据库三级模式中的外模式是面向全体用户的数据需求设计的。( × ) E-R 图中的“E ”表示的是实体。(√ )
25. Recordset 对象是数据表的查询结果,通常可使用它进行数据的插入操作。( × ) 26.
27.
28.
29.
30.
31.
32. 关系数据模型的数据结构是简单二维表。( √) SQL Server数据库中的NULL 值(空值)表示的是“0”值(× ) 使用FOREIGN KEY约束可以实现参照完整性约束。( √ ) 索引一般来说可以提高数据增、删、改、查的效率。( × ) SQL Server允许将一行数据存储在多个数据页上。(× ) 用户创建的数据库的大小不能小于3MBA 。(√ ) VB 提供了三种数据库访问引擎,分别是Jet 引擎、ODBC 和OLE DB,目前主要使用
的是OLE DB。(√ )
33. 数据库三级模式中的模式是面向全体用户的数据需求设计的。(√ )
34. 如果使用Connection 对象建立与数据库的连接,在声明对象之后建立数据库连接的方
法是Create 。(× )
35. SQL Server中的“简单恢复模式”不支持对数据库进行完整备份。( × )
10
36. 三、简述题(本题共2个小题,每小题5分,共10分)
37. 1.请简要说明视图的作用。
38. (1)
39. (2)
40. (3)
41. (4) 简化数据查询语句; 使用户能从多角度看待同一数据; 提高了数据的安全性; 提供了一定程度的逻辑独立性。
42. 简要说明什么是数据流程图,它包含哪四种符号。
43. 数据流图是在业务流程分析基础上,描述实际数据流动和加工过程的图形表示法,它一般有4种符号,即外部实体、数据流、处理和存储。
44.
45. 2.简述数据库概念结构设计的目的,并说明用E-R 图进行概念设计的一般步骤。
46. 概念结构设计的目标是产生反映全体用户信息需求的整体数据库概念结构,即概念模型。
47. 一般步骤:(1)设计局部E-R 图;(2)将局部E-R 图综合成全局E-R 图;(3)优化全局E-R 图。
48. 2.请简单说明数据库系统的组成。
49. 使用户能从多角度看待同一数据;
50. 广义上讲,数据库系统由数据库、数据库管理系统(及其开发工具)、应用系统和用户组成,其中用户可分为数据库管理员、应用程序开发人员和最终用户三类。
51. 1.请简要说明数据库逻辑设计所包含的工作。
52. (1)将概念结构转换为关系数据模型。
53. (2)对关系数据模型进行优化。
54. (3)设计面向用户的外模式。
55. 2.请简要说明SQL Server 提供的主要备份种类,每种类型的备份所备份的主要内容是什么?
56. 三种备份类型:完整备份(或完整数据库备份)、差异备份(或差异数据库备份)和事务日志备份。
57. 完整备份:备份数据库的全部内容。
58. 差异备份:备份自最近的完整备份之后变化的内容。
59. 事务日志备份:只备份自上次备份后到当前备份时间新增的日志内容。
11
四、综合应用题(本题共3个小题,共40分)
1.(本题10分)写出创建如下三张数据表的SQL 语句。
“教师”表结构:
教师号:普通编码定长字符类型,长度为10,主键。
教师名:普通编码可变长字符类型,长度为20,非空。
所在部门:普通编码可变长字符类型,长度为30。
职称:普通编码定长字符类型,长度为6,取值为:“教授”、“副教授”、“其他”。 “课程”表结构:
课程号:普通编码定长字符类型,长度为20,主键。
课程名:普通编码可变长字符类型,长度为40,非空。
学时数:微整型。
开课学期:微整型
“授课”表结构:
教师号:普通编码定长字符类型,长度为10,引用教师表的外键。
课程号:普通编码定长字符类型,长度为20,引用课程表的外键。
授课时数:整型。
授课年份:整型。
主键:(教师号,课程号,授课年份)。
CREATE TABLE 教师(
教师号 char(10) primary key,
教师名 varchar(20) not null,
所在部门 v archar(30),
职称 char(6) CHECK (职称 IN('教授',' 副教授', '其他'))
)
评分要点:主键1分;CHECK 2分;其他1分;共计4分。
CREATE TABLE 课程(
课程号 char(20) primary key,
课程名 varchar(40) not null,
学时数 tinyint,
开课学期 t inyint
)
评分要点:主键1分;其他1分;共计2分。
CREATE TABLE 授课(
教师号 char(10),
课程号 char(20),
授课时数 i nt,
12
授课年份 i nt,
Primary key(教师号, 课程号, 授课年份),
Foreign key(教师号) references 教师(教师号),
Foreign key(课程号) references 课程(课程号)
)
2.依据第1题所创建的三张表,写出完成下列操作的SQL 语句。(本题共20分,每小题5分)
1) 查询教授职称的教师姓名和所在部门。
2) 查询每学期开设的学时数大于40的课程门数。
3) 查询2012年全部课程的授课情况,列出课程名、学时数、教师名和授课时数。
4) 删除没人讲授的课程。
SELECT 教师名, 所在部门
FROM 教师
WHERE 职称 = '教授'
评分要点:SELECT :2分,FROM :1分,WHERE :2分
2) SELECT 开课学期,COUNT(*) 课程门数
FROM 课程
WHERE 学时数 > 40
GROUP BY 开课学期
3) SELECT 课程名, 学时数, 教师名, 授课时数
FROM 课程 JOIN 授课 ON 课程. 课程号 = 授课. 课程号
JOIN 教师 ON 教师. 教师号 = 授课. 教师号
WHERE 授课年份 = 2012
评分要点:SELECT :2分, FROM 、JOIN :2分;WHERE :1分
4) DELETE FROM 课程
WHERE 课程号 NOT IN (SELECT 课程号 FROM 授课)
评分要点:DELETE 部分2分, WHERE 部分3分
3.依据第1题所创建的三张表,写出创建满足如下要求的视图的SQL 语句:查询2014授课年份全体授课教师的教师名、所授的课程名和授课时数。(本题10分)
CREATE VIEW V1 AS
SELECT 教师名, 课程名, 授课时数
FROM 授课 JOIN 教师 ON 授课. 教师号 = 教师. 教师号
JOIN 课程 ON 课程. 课程号 = 授课. 课程号
WHERE 授课年份 = 2014
1.(本题10分)写出创建如下三张数据表的SQL 语句。
“汽车”表结构:
汽车型号:普通编码定长字符类型,长度为20,主键。
13
汽车类别:普通编码定长字符类型,长度为6,取值为:“小轿车”、“商务车” 生产年份:整型。
“经销商”表结构:
经销商号:普通编码定长字符类型,长度为20,主键。
经销商名:普通编码可变长字符类型,长度为40,非空。
地址:普通编码可变长字符类型,长度为50。
“销售”表结构:
经销商号:普通编码定长字符类型,长度为20,引用经销商表的外键。
汽车型号:普通编码定长字符类型,长度为20,引用汽车表的外键。
销售时间:日期时间型。
销售价格:整型
主键:(经销商号,汽车型号,销售时间)。
CREATE TABLE 汽车(
汽车型号 c har(20) primary key,
汽车类别 c har(6) CHECK(汽车类别 in('小轿车',' 商务车')),
生产年份 int
)
评分要点:主键:1分;CHECK :2分,其他1分。共计4分。
CREATE TABLE 经销商(
经销商号 char(20) primary key,
经销商名 varchar(40) not null,
地址 varchar(50)
)
评分要点:主键:1分;其他:1分。共计2分。
CREATE TABLE 销售(
经销商号 char(20),
汽车型号 char(20),
销售时间 datetime,
销售价格 int,
Primary key(经销商号, 汽车型号, 销售时间),
Foreign key(经销商号) references 经销商(经销商号),
Foreign key(汽车型号) references 汽车(汽车型号)
1.(本题10分)写出创建如下三张数据表的SQL 语句。
“图书”表结构:
书号:普通编码定长字符类型,长度为20,主键。
书名:普通编码可变长字符类型,长度为40,非空。
出版年份:整型。
14
印刷数量:整型。
单价:整型
“作者”表结构:
作者号:普通编码定长字符类型,长度为20,主键。
作者名:普通编码可变长字符类型,长度为40,非空。
职称:普通编码定长字符类型,长度为4,取值为:“高级”、“中级”。
“出版”表结构:
书号:普通编码定长字符类型,长度为20,引用图书表的外键。
作者号:普通编码定长字符类型,长度为20,引用作者表的外键。
作者序号:微整型。
主键:(书号,作者号)。
CREATE TABLE 图书(
书号 char(20) primary key,
书名 varchar(40) not null,
出版年份 int,
印刷数量 i nt,
单价 int
)
评分要点:主键:1分;其他共2分。共计3分。
CREATE TABLE 作者(
作者号 char(20) primary key,
作者名 varchar(40) not null,
职称 char(4) check(职称 in('高级',' 中级'))
)
评分要点:主键:1分;CHECK :1分。共计2分。
CREATE TABLE 出版(
书号 char(20),
作者号 char(20),
作者序号 t inyint,
Primary key(书号, 作者号),
Foreign key(书号) references 图书(书号),
Foreign key(作者号) references 作者(作者号)
2.依据第1题所创建的三张表,写出完成下列操作的SQL 语句(本题共20分,每小题5分)。
1) 查询2014年出版的图书的书名和单价。
2) 查询高级职称的作者编写的图书的印刷总数量。
3) 将2012年之前(不包括2012年)出版的图书的单价降低10%。
15
4) 在作者表中插入一行数据:作者号为“z100”,作者名为“新作者”,职称未知。 SELECT 书名, 单价
FROM 图书
WHERE 出版年份 = 2014
评分要点:SELECT 部分2分,FROM 部分1分,WHERE 部分2分
2) SELECT SUM(印刷数量)
FROM 图书 JOIN 出版 ON 图书. 书号 = 出版. 书号
JOIN 作者 ON 作者. 作者号 = 出版. 作者号
WHERE 职称 = '高级'
评分要点:SELECT 部分1分,FROM 、JOIN 部分3分,WHERE 部分1分
3) UPDATE 图书 SET 单价 = 单价 * 0.9
WHERE 出版年份
评分要点:UPDATE 部分3分, WHERE 部分2分
4) INSERT INTO 作者
V ALUES('z100', '新作者',NULL)
评分要点:INSERT 部分2分, V ALUES 部分3分
16