数据库试题及答案
一、选择题(40×1=40分)
1.用二维表数据来表示实体及实体之间联系的数据模型称为(D)。
A、实体--联系模型
B、层次模型
C、网状模型
D、关系模型
2.表在数据库中是一个非常重要的数据对象,它是用来(C)各种数据内容的。
A、显示
B、查询
C、存放
D、检索
3. 数据库创建后就可以创建表了,创建表可以用( D )等方法来创建。
A、企业管理器
B、查询分析器
C、OSQL
D、企业管理器和CREATE TABLE语句
5.数据库是在计算机系统中按照一定的数据模型组织、存储和应用的__,支持数据库各种操作的软件系统叫__,由计算机、操作系统、DBMS、数据库、应用程序及用户等组成的一个整体叫__。( D )
A、文件的集合、操作系统、文件系统
B、数据的集合、数据库管理系统、数据库系统
C、命令的集合、数据库系统、软件系统
D、程序的集合、命令系统、数据库系统
7.下面对于关系的叙述中,哪个是不正确的?( B )
A、关系中的每个属性是不可分解的
B、在关系中元组的顺序是无关紧要的
C、任意的一个二维表都是一个关系
D、每一个关系只有一种记录类型
8.SQL中,下列涉及空值的操作,不正确的是(C)
A. AGE IS NULL
B. AGE IS NOT NULL
C. AGE = NULL
D. NOT (AGE IS NULL)
10.在数据库技术中,实体-联系模型是一种( A)
A、概念数据模型
B、结构数据模型
C、物理数据模型
D、逻辑数据模型
11.数据是信息的符号表示或称载体;信息则是数据的内涵,是数据的( B )
A、语法解释
B、语义解释
C、语意说明
D、用法说明
12.下列关于关系数据模型的术语中,哪一个术语所表达的概念与二维表中的“行”的概念最接近?( A)
A、属性
B、关系
C、域
D、元组
13.在下面的两个关系中,学号和班级号分别为学生关系和班级关系的主键(或称主码),则外键是( B )
学生(学号,姓名,班级号,成绩),班级(班级号,班级名,班级人数,平均成绩)A、学生关系的“学号”B、班级关系的“班级号”
C、学生关系的“班级号”
D、班级关系的“班级名”
14.关系数据模型通常由3部分组成,它们是( B )
A、数据结构,数据通信,关系操作
B、数据结构,数据操作,数据完整性约束
C、数据通信,数据操作,数据完整性约束
D、数据结构,数据通信,数据完整性约束
15.SQL语言集数据定义功能、数据操纵功能和数据控制功能于一体。如下所列语句中,哪一个是属于数据控制功能的?( A )
A、GRANT
B、CREATE
C、INSERT
D、SELECT
16.关系数据库中,实现实体之间的联系是通过表与表之间的( D)
A、公共索引
B、公共存储
C、公共元组
D、公共属性
17.SQL语言中,删除一个表的命令是( B )
A、DELETE
B、DROP
C、CLEAR
D、REMOVE
18.不同的实体是根据什么区分的?( D)
A、所代表的对象
B、实体名字
C、属性多少
D、属性的不同
19.有一个关系:学生(学号,姓名,系别),规定学号的值域是8个数字组成的字符串,这一规则属于( C )
A、实体完整性约束
B、参照完整性约束
C、用户自定义完整性约束
D、关键字完整性约束
20.从计算机软件系统的构成看,DBMS是建立在什么软件之上的软件系统?( B )
A、硬件系统
B、操作系统
C、语言处理系统
D、编译系统21.在数据库系统中,没有哪一种数据模型?( D )
A、网状模型
B、层次模型
C、关系模型
D、实体联系模型22.在下列关于关系的叙述中,不正确的是( B )
A、表中任意两行的值不能相同
B、表中任意两列的值不能相同
C、行在表中的顺序无关紧要
D、列在表中的顺序无关紧要
23.关于关系数据模型,下列哪一个选项不是它的优点?( D )
A、结构简单
B、适用于集合操作
C、有标准语言
D、可表示复杂的语义24.下面说法不正确的是( C )
A、关键字是关系中能够用来惟一标识元组的属性
B、在一个关系中,关键字的值不能为空
C、一个关系中的所有候选关键字均可以被指定为主关键字
D、关键字只能由单个的属性组成
25.下面系统中不属于关系数据库管理系统的是( C )
A、Oracle
B、MS_SQL SERVER
C、IMS
D、DB2
26.数据库系统的核心是(B )。
A、数据模型
B、数据库管理系统
C、软件工具
D、数据库27.下列叙述中正确的是( D )。
A、数据库是一个独立的系统,不需要操作系统的支持
B、数据库设计是指设计数据库管理系统
C、数据库技术的根本目标是要解决数据共享的问题
D、数据库系统中,数据的物理结构必须与逻辑结构一致
28.下列模式中,能够给出数据库物理存储结构与物理存取方法的是(B)。
A、内模式
B、外模式
C、概念模式
D、逻辑模式
29.数据库DB、数据库系统DBS、数据库管理系统DBMS三者之间的关系是( A )。
A、DBS包括DB和DBMS
B、DBMS包括DB和DBS
C、DB包括DBS和DBMS
D、DBS就是DB,也就是DBMS
30.要控制两个表中数据的完整性和一致性可以设置"参照完整性",要求这两个表(A )。
A、是同一个数据库中的两个表
B、不同数据库中的两个表
C、两个自由表
D、一个是数据库表另一个是自由表
31.下面有关E-R模型向关系模型转换的叙述中,不正确的是( C )
A、一个实体类型转换为一个关系模式
B、一个1 : 1联系可以转换为一个独立的关系模式,也可以与联系的任意一端实体所对应的关系模式合并
C、一个1 : n联系可以转换为一个独立的关系模式,也可以与联系的任意一端实体所对应的关系模式合并
D、一个m : n联系转换为一个关系模式
32.在SELECT语句的WHERE子句的条件表达式中,可以匹配0个到多个字符的通配符是(B)
A、*
B、%
C、-
D、?
33.假如有两个表的连接是这样的:table_1 INNER JOIN table_2 其中table_1和table_2是两个具有公共属性的表,这种连接会生成哪种结果集?(D)
A、包括table_1中的所有行,不包括table_2的不匹配行
B、包括table_2中的所有行,不包括table_1的不匹配行
C、包括和两个表的所有行
D、只包括table_1和table_2满足条件的行
34.若一个关系为R(学生号,姓名,性别,年龄),则(A)适合作为该关系的主码。
A、学生号
B、姓名
C、性别
D、年龄36.在SQL的查询语句中,order by选项实现对结果表的( D )功能。
A、分组统计
B、求和
C、查找
D、排序38.在SQL语言中,条件“BETWEEN 20 AND 30”表示年龄在20到30之间,且( A)
A、包括20岁和30岁
B、不包括20岁和30岁
C、包括20岁不包括30岁
D、不包括20岁包括30岁
40.数据库三级模式体系结构的划分,有利于保持数据库的( A )
A 、数据独立性B、数据安全性C、结构规范化D、操作可行性
二、填空题(20×1=20分)
1.关系模型的数据操纵即是建立在关系上的数据操纵,一般有(查询)、增加、删除和修改四种操作。
2.在SQL语言中,如果要为一个基本表增加列和完整性的约束条件,应该使用SQL语句(Alter table<表名> ADD [COLUNMN]<表名><数据类型>[完整性约束])。
3.如果要计算表中数据的平均值,可以使用的集函数是(AVG)函数。
4.在数据库的三级模式体系结构中,外模式与模式之间的映像(外模式/模式),实现了数据库的(数据与程序之间的)独立性。
5.在数据库技术中,数据分为概念数据模型和结构数据模型,常用的实体联系模型(E-R 模型)属于(关系)数据模型。
6.数据库恢复通常基于数据备份和(日志)文件。
7.在Transact-SQL语法中,用来插入数据的命令是(Insert),用于更新的命令是(update)。
8.在Transact-SQL语法中,SELECT语句的完整语法较复杂,但至少包括的部分(select...from...),使用关键字(distinct)可以把重复行屏蔽,将多个查询结果返回一个结果集合的运算符是(union ),如果要将查询结果分组,一定要使用(group by)子句。
9.SQL Server主数据文件、辅数据文件和事务日志文件默认的扩展名分别为(.mdf)、(.ndf)
和(.ldf)。
11.完整性规则是为了保证关系(表)中数据的正确、一致、有效而确定的规则。实体完整性规则是表中任意一行的主键值不能为(空值);参照完整性规则是一个表的(外键值)可以为空值,若不为空值,则必须等于另一个表中主键的某个值。
三、设有教学数据库的三个基本表:
学生S(S#,SNAME,AGE,SEX)
学习SC(S#,C#,GRADE)
课程C(C#,CNAME,TEACHER)
试用SQL的查询语句表达下列查询:(共40分)
(1)查询LIU老师所授课程的课程号和课程名。(5分)
SELECT C#, CNAME
FROM C
WHERE TEACHER=’LIU ‘
(2)查询年龄大于23岁的男学生的学号和姓名。(5分)
SELECT S#, SNAME
FROM S
WHERE (AGE>23) AND (SEX=’男’)
(3)查询至少选修LIU老师所授课程中一门课程的女学生姓名。(5×2=10分)
要求用两种写法实现:①用嵌套查询写法;②用连接查询写法
SELECT SNAME (连接查询方式)
FROM S,SC,C
WHERE S.S#=SC.S# AND SC.C#=C.C# AND SEX=’女’AND TEACHER=’LIU’;
SELECT SNAME (嵌套查询方式)
FROM S
WHERE SEX=’女’AND S# IN
(SELECT S#
FROM SC
WHERE C# IN
(SELECT C#
FROM C
WHERE TEACHER=’LIU’))
(4)查询LIU老师所授课程的每门课程的学生平均成绩。(5分)
SELECT C.C#,AVG(GRADE)
FROM SC,C
WHERE SC.C#=C.C# AND TEACHER=’LIU’
11(5)查询至少选修两门课程的学生学号。(5分)
SELECT DISTINCT X.S#
FROM SC AS X,SC AS Y
WHERE X.S#=Y.S# AND X.C#!=Y.C#;
(6)往基本表S中插入一个学生元组(‘59’,‘WU’,18)。(2分)INSERT
INTO S(S#,SNAME,AGE)
VALUES(‘59’,WU’,18)
(7)在基本表SC中删除尚无成绩的选课元组。(3分)
DELETE FROM SC
WHERE GRADE IS NULL
(8)把选修MATHS课不及格的成绩全改为空值。(5分)
UPDATE SC
SET GRADE=NULL
WHERE GRADE<60 AND C# IN
(SELECT C#
FROM C
WHERE CNAME=’MATHS ’)