数据库基础及应用试题题库

更新时间:2024-01-13 09:58:02 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《数据库基础及应用》选择题题库(单选)

1.在学生成绩表tblCourseScore中的列Score用来存放某学生学习某课程的考试成绩(0~100分,没有小数), 用下面的哪种类型最节省空间?C A. int

B. smallint C. tinyint

D. decimal(3,0)

2.订单表Orders的列OrderID的类型是小整型(smallint),根据业务的发展需要改为整型(integer),应该使用下面的哪条语句?C

A. ALTER COLUMN OrderID integer FROM Orders B. ALTER TABLE Orders ( OrderID integer )

C. ALTER TABLE Orders ALTER COLUMN OrderID integer D. ALTER COLUMN Orders.OrderID integer

3. 小王在SQL Server 2005数据库中创建了如下两个表: CREATE TABLE 雇员表

( 雇员代号 int IDENTITY(10001,1) PRIMARY KEY NONCLUSTERED, 雇员姓名 varchar(20) NOT NULL, 通信地址 varchar(200) NULL )

CREATE TABLE 订单表

( 订单号 int IDENTITY(1,1) PRIMARY KEY, 雇员代号 int NOT NULL, 客户代号 int NOT NULL, 订购日期 datetime NOT NULL, 订购金额 money NOT NULL )

他需要获得2003年9月1日每个雇员的最高的一笔销售金额,要求列出“雇员代号”、“雇员姓名”、“订购日期”、最高的“订购金额”。下面哪个语句能完成该功能?B A. SELECT a.雇员代号,a.雇员姓名,b.订购日期,b.订购 金额 FROM 雇员表 AS a LEFT OUTER JOIN 订单表 AS b ON a.雇员代号 = b.雇员代号 WHERE b.订购日期 = '09/01/2003'

AND 订购金额 IN (SELECT MAX(订购金额) FROM 订单表) B. SELECT a.雇员代号,a.雇员姓名,b.订购日期,MAX(订购金额) FROM 雇员表 AS a LEFT OUTER JOIN 订单表 AS b

ON a.雇员代号 = b.雇员代号 AND b.订购日期 = '09/01/2003' GROUP BY a.雇员代号,a.雇员姓名,b.订购日期

C. SELECT a.雇员代号,a.雇员姓名,b.订购日期,MAX(订购金额) FROM 雇员表 AS a INNER JOIN 订单表 AS b ON a.雇员代号 = b.雇员代号

WHERE b.订购日期 = '09/01/2003'

GROUP BY a.雇员代号,a.雇员姓名,b.订购日期,b.订单号 D. SELECT a.雇员代号,a.雇员姓名,b.订购日期,MAX(订购金额) FROM 雇员表 AS a INNER JOIN 订单表 AS b ON a.雇员代号 = b.雇员代号 WHERE b.订购日期 = '09/01/2003'

AND 订购金额 IN (SELECT MAX(订购金额) FROM 订单表)

4.使用下列哪个数据类型可以存储达2 GB的数据? A A. text

B. varbinary C. varchar(max) D. varchar

5.用于定义、撤销和修改数据库对象的语言是() A A.DDL B.DML C.DCL D.DEL 6.用于数据库中数据的修改和检索的语言是() B A.DDL B.DML C.DCL D.DEL 7.用于数据访问权限的控制的语言是() C A.DDL B.DML C.DCL D.DEL 8.关系模型的数据结构是() D

A.树 B.图 C.表 D.二维表

9.在Products数据库中建立一个新表Authors,表中应该包含name列和每个作者的ID 列,下列语法正确的是(c)。

a) CREATE TABLE AUTHORS ON Prpducts(name varchar(50),IDsmallint) b) ALTER DATABASE products

ADD TABLE Authors(name varchar(50),IDsmallint)

c) CREATE TABLE Products.Authors(name varchar(50),IDsmallint) d) Create TABLE Products.Authors(name,ID) 10.记录SQL Server的初始化信息的数据库是() A

A.master B.model C.msdb D.tempdb 11.为用户提供模板和原型的数据库是() B

A.master B.model C.msdb D.tempdb 12.供SQL Server代理程序调度警报和作业以及记录操作员时使用的数据库是() C A.master B.model C.msdb D.tempdb 13.在系统启动时总是干净的数据库是() D

A.master B.model C.msdb D.tempdb 14.在SQL Server每次启动时都重新创建的数据库是() D

A.master B.model C.msdb D.tempdb 15.删除数据库的命令是() A

A.DROP DATABASE B.USE DATABASE C.CLOSE DATABASE D.OPEN DATABASE

16. 在SQL Server中,每个表格仅可以有的簇索引个数是() A

A.1 B.2 C.8 D.10 17. 在SQL Server中,每个表格仅可以有的非簇索引个数是() D A.10 B.21 C.128 D.249 18.从表中删除一行或多行记录的语句是() A

A.DELETE B.UPDATE C.DROP D.INSERT

19.在Transact-SQL语法中,SELECT语句的完整语法较复杂,但至少包括的部分()B A.SELECT,INTO B.SELECT,FROM C.SELECT,GROUP D.仅SELECT 20. SELECT语句要把重复行屏蔽使用关键字()A

A.DISTINCT B.UNION C.ALL C.GROUP

21.如果在SELECT语句中使用集合函数时,一定在后面使用()A

A.GROUP BY B、COMPUTE BY C.HAVING D.COMPUTE

22.只能匹配一个字符的匹配符是() B

A.% B.- C.^ D.< 23. 能匹配任意长度字符的匹配符是() B

A.- B.% C.^ D.< 24. 能匹配指定范围或集合中的任何单个字符的匹配符是() C A.- B.% C.[] D.< 25.判断字段为空的关键字是() A

A.IS NULL B.NULL C.IS IN D.IN

26.当向数据库表中插入数据时,如果没有明确地提供输入值时,SQL Server自动为该列输入指定值,这属于哪种约束() A

A.DEFAULT约束 B.CHECK约束 C.PRIMARY KEY约束 D.FOREIGN KEY约束 27.通过逻辑表达式判断限制插入到列中的值,这属于哪种约束() B A.DEFAULT约束 B.CHECK约束 C.PRIMARY KEY约束 D.FOREIGN KEY约束

28.不允许数据库表在指定列上具有相同的值,且不允许有空值,这属于哪种约束() C A.DEFAULT约束 B.CHECK约束 C.PRIMARY KEY约束 D.FOREIGN KEY约束

29.定义数据库表中指定列上插入或更新的数值必须在另一张被参照表中的特定列上存在,这属于哪种约束() D

A.DEFAULT约束 B.CHECK约束 C.PRIMARY KEY约束 D.FOREIGN KEY约束

30.不允许数据库表在指定列上具有相同的值,但允许有空值,这属于哪种约束() B A.DEFAULT约束 B.UNIQUE约束 C.PRIMARY KEY约束 D.FOREIGN KEY约束

31.只对某一列起作用的约束称为() A

A.列约束 B.惟一约束 C.默认约束 D.表约束 32.包含了数据库表中一个以上的列的约束称为() D

A.列约束 B.惟一约束 C.默认约束 D.表约束

33.约束可以通过哪条命令创建() B

A.SET TABLE B.CREATE TABLE C.USE TABLE D.UPDATE TABLE

34.在下列选项中不是SQL Server提供给用户查看约束信息的方法是() B

A.使用系统存储过程 B.使用查询分析器 C.使用企业管理器 D.使用规划视图

35.可以删除约束的方法是() A

A.利用企业管理器 B.使用ALTER函数 C.使用DELETE函数 D.使用ERASE函数 36. 可以删除约束的方法是() A

A.利用DROP函数B.使用ALTER函数 C.使用DELETE函数 D.使用ERASE函数

37.DEFAULT约束只作用于执行哪条语句时() D

A.CREATE B.ALTER C.UPDATE D.INSERT 38.被FOREIGN KEY参照的列在表中应该具有() C

A.DEFAULT约束 B.CHECK约束 C.PRIMARY KEY约束 D.REIGN KEY约束 39.UNIQUE约束强制了数据的() A

A.实体完整性 B.域完整性 C.引用完整性 D.用户定义完整性 40. FOREIGN KEY约束强制了数据的() C

A.实体完整性 B.域完整性 C.引用完整性 D.用户定义完整性 41.对于基础的完整性逻辑应该采用() B

A.域完整性 B.声明数据完整性 C.引用完整性 D.过程定义数据完整性 42.对于复杂全面的完整性逻辑应该采用() D

A.域完整性 B.声明数据完整性 C.引用完整性 D.过程定义数据完整性 43.为数据表创建索引的目的是()A

A.提高查询的检索性能 B.创建唯一索引 C.创建主键 D.归类 44. 在创建表时创建唯一索引可以用()C

A.设置唯一约束 B、Create table C.设置主键约束 D.以上都可以 45.可以创建视图的是() D

A.CREATE RULE B.CREATE DEFAULT C.CREATE TABLE D.CREATE VIEW 46.视图是一种常用的数据对象,可以对数据进行()D A.查看 B.插入 C.更新 D.以上都是 47. 视图删除的语句是() D

A.SET VIEW B.UPDATE VIEW C.ALTER VIEW D.DROP VIEW 48 有关数据冗余说法错误的是(d)。

a) 数据库中,数据存在副本的现象,就是数据冗余

b) 通过分类存储,可以有效减少数据冗余,但是会增加数据查找的复杂性

c) 在数据库设计阶段,一定要尽最大可能避免数据冗余,最好做到无数据冗余。 d) 数据冗余通常是由于数据库设计引起的。 49.数据库的性能是由(c)来衡量的. a)数据库的结构 b)数据库的记录数量 c)数据库检索启示的进度 d)数据库操作的复杂性

50.在数据库设计中,以下(a)情况是数据冗余的一种形式. a)对相同的数据进行多次备份 b)在多个位置存储相同的数据 c)对重要数据类型进行复制操作

d)使用不同类型的数据库存储不同应用系统的数据

51 关于标识列,以下说法正确的是(b)。

a) 使用sql语句插入数据时,可以为标识列指定要插入的值。 b) 设定标识时,必须同时指定标识种子和标识递增量。

c) 若设定标识时,未指定标识递增量,那么使用sql语句插入数据时,可以为标识列指定递增值。

d) 只能把主键设定为标识列。

52现有表user,字段:userid,username, salary, deptid,email; 表department,字段:deptid, deptname;下面(c)应采用检查约束来实现。

a) 若department中不存在deptid为2的纪录,则不允许在user表中插入deptid为2的数据行。

b) 若user表中已经存在userid为10的记录,则不允许在user表中再次插入userid为10的数据行。

c) User表中的salary(薪水)值必须在1000元以上。

d) 若User表的email列允许为空,则向user表中插入数据时, 可以不输入email值。 53.在数据库层次结构模型中,每个子级可以有(d)个父级。 a)一 b)两 c)至少两 d)多

54.在关系型数据库中,基于公共字段将两个或多个表联系起来称为联接,联接包括以下不同的类型,除了(d). a)内部联接 b)外键联接 c)外部联接 d)自联接

55 以下(b)语句从表TABLE_NAME中提取前10条记录。

a) select * from TABLE_NAME where rowcount=10 b) select TOP 10 * from TABLE_NAME c) select TOP of 10 * from TABLE_NAME

d) select * from TABLE_NAME where rowcount<=10

56 从“产品”表里查询出价格高于产品名称为“一次性纸杯”的产品的记录,此SQL语句为(d)。

a) SELECT * FROM 产品WHERE 价格>‘一次性纸杯’;

b) SELECT * FROM 产品WHERE 价格>(SELECT * FROM 产品WHERE 产品名称>’ 一次性纸杯’);

c) SELECT * FROM 产品WHERE EXISTS 产品名称=’ 一次性纸杯’);

d) SELECT * FROM 产品WHERE 价格>(SELECT 价格FROM 产品WHERE 产品名称=’ 一次性纸杯’);

57 查找 student表中所有电话号码(列名:telephone)的第一位为8或6,第三位为0的电话号码(c)。

a) SELECT telephone FROM student WHERE telephone LIKE '[8,6]%0*' b) SELECT telephone FROM student WHERE telephone LIKE '(8,6)*0%' c) SELECT telephone FROM student WHERE telephone LIKE '[8,6]_0%' d) SELECT telephone FROM student WHERE telephone LIKE '[8,6]_0*'

58 现有表book,字段:id (int),title (varchar), price (float); 其中id字段设为标识, 使用insert语句向book表中插入数据,以下语句错误的是(a)。

a) insert into book (id,title,price) values(1,'java',100) b) insert into book (title,price) values('java',100) c) insert into book values ('java',100) d) insert book values('java',100)

59 不可以启动和停止SQL Server 2000服务的工具是(a)。

a) SQL Server企业管理器 b) SQL Server服务管理器 c) Windows服务

d) SQL Server查询分析器

60 现有表Employee,字段:id (int),firstname(varchar), lastname(varchar); 以下sql语句错误的是(b)。

a) select firstname+'.'+lastname as 'name' from employee b) select firstname+'.'+lastname='name' from employee c) select 'name'=firstname+'.'+lastname from employee d) select firstname,lastname from employee

61 在sql server 2000中,关于数据库说法错误的是(c)。

a) 数据库在磁盘上默认的存储位置是:SQL Server安装路径\\Microsoft SQL Server\\MSSQL\\Data

b) 一个数据库至少应包含一个数据库文件(*.mdf)和一个事务日志文件(*.ldf) c) 只有当数据库中不存在数据的情况下,才可以进行数据库的收缩操作。

d) 可以通过从A机器拷贝数据库文件和事务日志文件至B机器,然后通过在B机器上执行相应的附加数据库操作,实现数据库从A机器到B机器的复制。

62. 检索选修4门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。正确的SELECT语句是( )。B A. SELECT S#,SUM(GRADE) FROM SC WHERE GRADE>=60 GROUP BY S# ORDER BY 2 DESC HAVING COUNT(*)>=4 B. SELECT S#,SUM(GRADE) FROM SC WHERE GRADE>=60 GROUP BY S# HAVING COUNT(*)>=4 ORDER BY 2 DESC C. SELECT S#,SUM(GRADE) FROM SC WHERE GRADE>=60 HAVING COUNT(*)>=4 GROUP BY S# ORDER BY 2 DESC D. SELECT S#,SUM(GRADE) FROM SC WHERE GRADE>=60 ORDER BY 2 DESC GROUP BY S# HAVING COUNT(*)>=4

63 你现在要建立一个Access数据库,一个表保存图书馆图书信息,表的主要字段为:出版社,作者,版本和简要介绍,对于”简要介绍”字段应该选择(a )类型。(注:“简要介绍”字段的内容可以超过100个字符) a 文本 b 超级连接

c 备注 d 数字

64 包含元数据的表由关系型数据库管理系统创建和维护,其中,表的创建涉及是内容包括以下的方面,除了(d).

a指定数据类型

b指定可以输入到字段中的数据的大小

c实施任何必要的约束以确保输入的数据有效 d实施限制权限

65 Sql server提供了一些字符串函数,以下说法错误的是(a)。

a) select right('hello',3) 返回值为:hel

b) select ltrim(rtrim(' hello ')) 返回值为:hello(前后都无空格) c) select replace('hello','e','o') 返回值为:hollo d) select len('hello') 返回值为:5

66 现有书目表book,包含字段:价格price (float),类别type(char); 现在查询各个类别的平均价格、类别名称,以下语句正确的是(a)。

a) select avg(price),type from book group by type b) select count(price),type from book group by price c) select avg(price),type from book group by price d) select count (price),type from book group by type

67. 检索选修课程“C2”的男生中的最高成绩,正确的SELECT语句是( )。C A. SELECT MAX(GRADE) FROM SC WHERE CN='C2’ AND SEX='男'; B. SELECT MAX(GRADE) FROM SC,C,S WHERE CN=‘C2‘ AND SEX=’男‘; C. SELECT MAX(GRADE) FROM SC,S

WHERE SC.C#=C.C# AND CN=’C2‘ AND SEX=’男‘; D. SELECT MAX(GRADE) FROM SC,C,S

WHERE SC.C#=C.C# AND SC.S#=S.S# AND CN='C2' AND SEX='男'; 68 查询student表中的所有非空email信息, 以下语句正确的是(d)。

a) Select email from student where email !=null

b) Select email from student where email not is null c) Select email from student where email <> null d) Select email from student where email is not null

69 以下不属于企业管理器功能的是(d)。

a) 创建并管理所有数据库、登陆、用户、权限等。

b) 管理和执行数据导入导出、数据库备份等多项辅助功能。 c) 定义 sql server组。

d) 调试、执行sql语句, 批处理和脚本。 70 以下(c)语句的返回值不是22。

a) Select abs(-22) b) Select abs(22)

c) Select ceiling(22.1) d) Select floor(22.9)

71 现有订单表orders,包含用户信息userid, 产品信息 productid, 以下(d)语句能够返回至少被订购过两回的productid?

a) select productid from orders where count(productid)>1 b) select productid from orders where max(productid)>1 c) select productid from orders where having count(productid)>1 group by productid d) select productid from orders group by productid having count(productid)>1 72 关于聚合函数,以下说法错误的是(b)。

a) Sum返回表达式中所有数的总合,因此只能用于数字类型的列。 b) Avg返回表达式中所有数的平均值,可以用于数字型和日期型的列。 c) Max和Min可以用于字符型的列。 d) Count可以用于字符型的列。

73 现有顾客表customers, 包含数据如下表,若执行sql语句:select count(distinct(city)) from customers,以下(b)是输出结果。 cid cname city 1 jac null 2 lee beijing 3 tom null 4 chen beijing a) 1 b) 2 c) 3 d) 4

74 现有顾客表customers, 包含数据如下表,若执行sql语句:select avg(discount) from customers,以下(a)是输出结果。 cid cname discount 1 jack null 2 lee 8

3 tom 7 4 chen 1

a) 错误提示:不能对null进行avg操作 b) 16 c) 8 d) 4

75 现有书目表book,数据见下表。 现在执行sql语句:update book set title=replace(replace(title,'j','a'),'servlet','csharp'),执行结果是(a)。 bookid title 1 jsp&servlet 2 jsp

3 Professional servlet 4 asp

a) 更新了3条记录 b) 更新了2条记录 c) 更新了1条记录

d) 该sql语句有错误,无法执行

76 使用以下(a)不可以进行模糊查询。 a) OR

b) Not between c) Not IN d) Like

77 关于多表联接查询,以下(b)描述是错误的。

a) 外联接查询返回的结果集行数可能大于所有符合联接条件的结果集行数。 b) 多表联接查询必须使用到JOIN关键字

c) 内联接查询返回的结果是:所有符合联接条件的数据。 d) 在where子句中指定联接条件可以实现内联接查询。

78 以下(b)说明了代码:not( (付款方式=’信用卡’) or (信用卡<>’阳光卡’)) 的含义。

a) 付款方式不能是信用卡。

b) 付款方式不能是信用卡,或者信用卡是阳光卡。 c) 如果付款方式是信用卡,那么信用卡不能是阳光卡。 d) 付款方式是信用卡,并且信用卡不能是阳光卡。

79 执行Sql语句:select *, score*0.5+20 as 加权成绩 from grade where (score*0.5+20)<60 order by score*0.5+20,以下(c)描述是正确的。

a) 错误提示:order by 子句中不能出现表达式。

b) 正确执行,显示grade表中各列值,按照score由低到高排序。

c) 正确执行,显示grade表中各列值,以及加权成绩列,按照score由低到高排序。 d) 错误提示:where 子句中不能出现表达式。

80 创建一个名为‘Customers’的新表,同时要求新表中包含表‘clients’的所有记录,sql语句是(a)。

a) Select * into customers from clients b) Select into customers from clients

c) Insert into customers select * from clients d) Insert customers select * from clients

81 表book中包含三个字段:title(varchar), author(varchar), price(float)。Author的默认值是’UNKNOW’,执行sql语句:insert book (title,price) values (‘jsp’, 50)。以下结果正确的是(b)。

a) 插入失败,sql语句有错

b) 插入成功,author列的数据是UNKNOW c) 插入成功,author列的数据是NULL d) 插入成功,author列的数据是50

82 关于sql server常用的数据类型,以下(c)说法是错误的。

a) Image数据类型可以用来存储图像。

b) 使用字符数据类型时,可以改变长度信息。 c) 使用数字数据类型时,可以改变长度信息。

d) Bit数据类型为1位长度,可以存储表示是/否的数据。 83 现有学生表student(主键:学生编号sid),成绩表score(外键:学生编号sid), 两表中的数据如下。执行sql语句:select * from student st left outer join score sc on st.sid=sc.sid。正确的返回结果是(c)条记录。 student表 sid sname 1 Lee 2 Chen 3 Jack 4 rose score表 sid score 1 80 2 75

a) 0 b) 2 c) 4 d) 6

84 定义列中可以接受的数据值或格式,称为(b)。

a) 唯一性约束 b) 检查约束 c) 主键约束 d) 默认约束

85 假设订单表orders用来存储订单信息,cid代表客户编号,money代表单次订购额,现要查询每个客户的订购次数和每个客户的订购总金额,下面(d)sql语句可以返回正确结果。

a) select cid,count(distinct(cid)),sum(money) from orders group by cid b) select cid,count(distinct(cid)),sum(money) from orders order by cid c) select cid,count(cid),sum(money) from orders order by cid d) select cid,count(cid),sum(money) from orders group by cid 86. FOREIGN KEY约束是( )约束。B

A.实体完整性 B.参照完整性 C.用户自定义完整性 D.域完整性 87. 若要修改基本表中某一列的数据类型,需要使用ALTER语句中的( )子句。C A. DELETE B. DROP C. MODIFY D. ADD 88. 向基本表中增加一个新列后,原有元组在该列上的值是( )。C

A.TRUE B.FALSE C.空值 D.不确定 89. 当FROM子句中出现多个基本表或视图时,系统将执行( )操作。C

A. 并 B.等值连接 C.自然联结 D.广义笛卡儿积 90. 视图创建完成后,数据字典中存放的是( )。C

A. 查询语句 B.查询结果 C.视图的定义 D.所引用的基本表的定义

91. 查询中需要统计行的个数时,应使用( )函数。C

A.SUM(列名) B.COUNT(列名) C.COUNT(*) D.AVG(列名) 92. 查询中需要统计某列中值的个数应使用( )函数。B

A.SUM(列名) B.COUNT(列名) C.COUNT(*) D.AVG(列名) 93 Sql server提供了一些系统函数,以下说法错误的是(a)。

a) select datalength(‘ab cde’) 返回值为:5 b) select convert(char(3),12345) 返回值为:123 c) select datalength(‘abcde’) 返回值为:5

d) select convert(char(5),12345) 返回值为:12345 94 家庭住址最好采用(c)数据类型进行存储。

a) Char/Nchar b) text/Ntext

c) Varchar/Nvarchar

d) Char2/Nchar2

95 现有客户表customers(主键:客户编号cid),包含10行数据,订单表orders(外键:客户编号cid),包含6条数据。执行sql语句:select * from customers right outer join orders on customers.cid=orders.cid。最多返回(b)条记录。 a) 10 b) 6 c) 4 d) 0

96 假设一系统原来使用Access数据库,现要使用sql server数据库,采用(d)方法可以完成两个数据库之间的数据转换工作。

a) Sql server的附加数据库功能 b) Sql server的还原数据库功能

c) 在Sql server中可直接打开Access数据库,另存即可。 d) Sql server的导入\\导出功能

97 现有学生住处表Student_info,其中包括姓名(stu_name),学号(stu_id),成绩(stu_grade)。我们需要查询成绩为80分的学生姓名,要求结果按照学号降序排列。下面查询语句正确的是(b)。

a) SELECT stu_name FROM student_info Where stu_grade=80 ORDER BY stu_id ASC;

b) SELECT stu_name FROM student_info WHERE stu_grade=80 ORDER BY stu_id DESC;

c) SELECT stu_id,stu_name FROM student_info WHERE stu_grade=80 ORDER BY stu_name ASC;

d) SELECT stu_name FROM student_info WHERE stu_grade LIKE 80 ORDER BY stu_id DESC;

98 关于IDENTITY属性,下列说法错误的是(c)。 a 一个表只能有一个列具有IDENTITY属性

b 你不能对定义了IDENTITY属性的列加上default约束 c 附加了IDENTITY属性的列可以是任意数据类型 d 你不能更新一个定义了IDENTITY属性的列

99\商品表\里所有商品价格加2,下列更新记录的语句,正确的是(a). a)UPDATE 商品表 SET 价格=价格+2; b)INSERT 商品表 SET 价格=价格+2;

c)UPDATE 商品表 SET 价格=价格+2 WHERE 商品名=“面包”; d)SELECT * FROM 商品表 SET 价格=价格+2;

100在Products数据库中建立一个新表Authors,表中应该包含name列和每个作者的ID 列,下列语法正确的是(c)。

a) CREATE TABLE AUTHORS ON Prpducts(name varchar(50),IDsmallint) b) ALTER DATABASE products

ADD TABLE Authors(name varchar(50),IDsmallint)

c) CREATE TABLE Products.Authors(name varchar(50),IDsmallint) d) Create TABLE Products.Authors(name,ID)

101. 以下关于SQL语句的书写准则中不正确的是( )。A A. SQL语句对大小写敏感,关键字需要采用大写形式 B. SQL语句可写成一行或多行,习惯上每个子句占用一行 C. 关键字不能在行与行之间分开,并且很少采用缩写形式 D. SQL语句的结束符为分号“;”

102. SQL语言的数据操纵语句包括SELECT、INSERT、UPDATE和DELETE等。其中最重要的也是使用最频繁的语句是( )。A

A.SELECT B.INSERT C.UPDATE D.DELETE 103. 关于IDENTITY属性,下列说法错误的是()。C a 一个表只能有一个列具有IDENTITY属性

b 你不能对定义了IDENTITY属性的列加上default约束 c 附加了IDENTITY属性的列可以是任意数据类型 d 你不能更新一个定义了IDENTITY属性的列

104. 两个子查询的结果( )时,可以执行并、交、差操作。A

A.结构完全一致 B.结构完全不一致 C.结构部分一致在 D.主码一致 105. 在SQL语句中,可以用来实现关系代数中π运算功能的是( )语句。A A. SELECT B.ALTER C.DELETE D.DROP 106. 在SELECT语句中,与关系代数中σ运算符对应的是( )子句。C A. SELECT B.FROM C.WHERE D.GROUP BY

107. 使用SQL语句进行查询操作时,若希望查询结果中不出现重复元组,应在SELECT子句中使用( )保留字。D

A. UNIQUE B.ALL C.EXCEPT D.DISTINCT 108. 在以下SELECT 语句的子句中,放在最后的应该是( )子句。D A.GROUP BY B.HAVING C.WHERE D.ORDER BY 109. 与HAVING子句一起使用的子句是( )。A

A.GROUP BY B.ORDER BY C.WHERE D.JOIN 110. 若用如下的SQL语句创建一个student表: CREATE TABLE student( NO CHAR(4) NOT NULL, NAME CHAR(8) NOT NULL, SEX CHAR(2),

AGE SMALLINT );

可以插入到student表中的是( )。A

A.('1031','曾华',男,23) B.('1031','曾华',NULL,NULL) C.(NULL,'曾华','男',23) D.('1031',NULL,'男',23)

111. 检索学生姓名及其所选修课程的课程号和成绩,正确的SELECT语句是( )。C A. SELECT S.SN,SC.C#,SC.GRADE FROM S WHERE S.S#=SC.S#; B. SELECT S.SN,SC.C#,SC.GRADE FROM SC WHERE S.S#=SC.GRADE; C. SELECT S.SN,SC.C#,SC.GRADE FROM S,SC WHERE S.S#=SC.S#;

D. SELECT S.SN,SC.C#,SC.GRADE FROM S,SC;

112 在数据库方式下,信息处理中占据中心位置的是( C ) A.磁盘 B.程序 C.数据 D.内存

113 DB 的三级体系结构是对_________抽象的三个级别。( B ) A.存储器 B.数据 C.程序 D. 外存

114数据库系统具有“数据独立性”特点的原因是因为在数据库系统中[B ] A.采用磁盘作为外存 B.采用三级模式结构

C.使用OS 来访问数据 D.用宿主语言编写应用程序

115 在DBS 中,“数据独立性”和“数据联系”这两个概念之间联系是[A ] A.没有必然的联系 B.同时成立或不成立 C.前者蕴涵后者 D.后者蕴涵前者

116 对DB 中数据的操作分成两大类: [A ] A.查询和更新 B.检索和修改 C.查询和修改 D.插入和修改

117 嵌入式SQL 实现时,采用预处理方式是[C] A.把SQL 语句和主语言语句区分开来 B.为SQL 语句加前缀标识和结束标志 C.识别出SQL 语句,并处理成函数调用形式 D.把SQL 语句编译成二进制码

《数据库基础及应用》选择题题库(多选)

1.下面哪些关键字能影响SELECT语句返回的结果的行数? abd A. TOP n B. WHERE

C. ORDER BY D. DISTINCT

2. 假定有一个用户表,表中包含字段:userid (int)、username (varchar)、 password(varchar)、等,该表需要设置主键,以下说法正确的是(ab)。

a) 如果不能有同时重复的username和password,那么username和password可以组合在一起作为主键。

b) 此表设计主键时,根据选择主键的最小性原则,最好采用userid作为主键。

c) 此表设计主键时,根据选择主键的最小性原则,最好采用username和password作为组合键。

d) 如果采用userid作为主键,那么在userid列输入的数值,允许为空。

3. 关于数据完整性,以下说法正确的是(ad)。

a) 引用完整性通过主键和外键之间的引用关系实现。 b) 引用完整性通过限制数据类型、检查约束等实现。

c) 数据完整性是通过数据操纵者自身对数据的控制来实现的。

d) 如果两个表中存储的信息相互关联,那么只要修改了一个表,另外一个表也要做出相应的修改,则称该这两个表中的数据具备完整性。

4. 现有表book,主键bookid设为标识列。若执行语句:select * into book2 from book, 以下说法正确的是(ac)。

a) 若数据库中已存在表book2, 则会提示错误。 b) 若数据库中已存在表book2, 则语句执行成功,并且表book2中的bookid自动设为标识。 c) 若数据库中不存在表book2, 则语句执行成功,并且表book2中的bookid自动设为主键。 d) 若数据库中不存在表book2, 则语句执行成功,并且表book2中的bookid自动设为标识。 5. Microsoft SQL Server 2000 在安装的时候就创建的示例用户数据库包括(ac)。 a) Pubs b) Master c) Northwind d) Msdb

6. 若要删除book表中所有数据,以下语句错误的是(bc)。

a) truncate table book b) delete * from book c) drop table book d) delete from book

7. 学生成绩表grade中有字段score(float),现在要把所有在55分至60之间的分数提高5分,以下sql语句正确的是(bcd)。

a) Update grade set score=score+5

b) Update grade set score=score+5 where score>=55 or score <=60 c) Update grade set score=score+5 where score between 55 and 60 d) Update grade set score=score+5 where score >=55 and score <=60

8. 现有书目表book,包含字段:price (float); 现在查询一条书价最高的书目的详细信息,以下语句正确的是(bc)。

a) select top 1 * from book order by price asc b) select top 1 * from book order by price desc

c) select top 1 * from book where price= (select max (price)from book) d) select top 1 * from book where price= max(price)

9. 若student表中包含主键sudentid,则执行语句:update student set studentid=100 where studentid=101, 结果可能是(ac)。

a) 错误提示:主键列不能更新。 b) 更新了一条数据。

c) 错误提示:违反主键约束。 d) 既不提示错误,也不更新数据。

10. 成绩表grade中字段score代表分数,以下(bc)语句返回成绩表中的最低分。

a) select max(score) from grade

b) select top 1 score from grade order by score asc c) Select min(score) from grade

d) select top 1 score from grade order by score desc 11.使用Sql server提供的(ab),可以创建数据库。

a) 查询分析器 b) 企业管理器 c) 服务管理器 d) 事件探查器

12. Sql server提供了一些日期函数,以下说法错误的是(ad)。

a) select dateadd(mm,4,’01/01/1999’) 返回值为:05/01/99 b) select datediff(mm,'03/06/2003','03/09/2003') 返回值为:3 c) select datepart(day,'03/06/2003') 返回值为:6 d) select datename(dw,'03/06/2003') 返回值为:6

13. 现有订单表orders, 包含数据如下表。若查询既订购了产品P01,又订购了产品P02的顾客编号,可以执行以下(bd)sql语句。

cid (顾客编号) Pid (产品编号) C01 P01 C01 P02 C02 P01 C03 P02

a) select distinct(cid) from orders o1 where o1.pid in ('p01','p02')

b) select distinct(cid) from orders o1,orders o2 where o1.pid='p01' and o2.pid='p02' and o1.cid=o2.cid

c) select distinct(cid) from orders o1 where pid='p01' and cid in (select cid from orders where pid ='p02')

d) select distinct(cid) from orders o1,orders o2 where o1.pid='p01' and o2.pid='p02'

14. 关于分组查询,以下(c)描述是错误的。

a) 使用group by 进行分组查询

b) 对分组后的条件的筛选必须使用Having子句

c) Having子句不能与where子句同时出现在一个select语句中

d) 在使用分组查询时,在select列表中只能出现被分组的列。如:select courseid from grade group by courseid.

15. Sql语句:select * from students where SNO like ‘010[^0]%[A,B,C]%’,可能会查询出的SNO是(ad)。

a) 01053090A b) 01003090A01 c) 01053090D09 d) 0101A01

16. 关于Truncate table, 以下(ad)描述是错误的。

a) Truncate table 可跟Where从句,根据条件进行删除。 b) Truncate table 用来删除表中所有数据。 c) 触发器对Truncate table无效。 d) delete 比Truncate table速度快。

17. 关于主键,以下(bd)说法是错误的。

a) 主键可以用来确保表中不存在重复的数据行。 b) 一个表必须有一个主键。 c) 一个表只能有一个主键。 d) 只能对整数型列设置主键。 18. SQL具有( )功能。BCD

A.关系规范化 B.数据定义 C.数据操纵 D.数据控制 19. SQL语言的使用方法有( )。AC

A.交互式SQL B.解释式SQL C.嵌入式SQL D.多用户SQL 20. 下列命令中属于SQL语言中数据定义功能的语句有( )。ACD A. CREATE B. SELECT C. DROP D. ALTER 21. 在SQL语言中可以用来表示“1010 AND x<15 B. x BETWEEN 10 AND 15 C. x IN (11,12,13,14) D. x BETWEEN 11 AND 14 22. 使用聚合函数进行统计时,忽略空值的有( )。ABD

A.SUM B.MAX C.COUNT D.AVG 23. 在SELECT语句的FROM子句中允许出现( )。 BC

A. 列名 B.基本表名 C.视图名 D.表达式 24. 某查询语句中有“%田_”语句,在查询结果中有可能含有( )。CD A.张田 B.陈力田 C.田华 D.刘田耕 25. 在CREATE TABLE语句中实现完整性约束的子句有( )。ABCD

A.NOT NULL B.PRIMARY KEY C.FOREIGN KEY D.CHECK

26. 已知基本表S对应的关系模式为(S#,SNAME,AGE),在下列SELECT的子句中,正确的是( )。ABC

A.SELECT S#,AVG(AGE) B.SELECT DISTINCT AGE C.SELECT SNAME 姓名 D.SELECT AGE>20

27. 对于下列语句TeacherNo INT NOT NULL UNIQUE,正确的描述是( )。BD A. TeacherNo是主码 B. TeacherNo不能为空

C. TeacherNo的值可以是“王大力” D. 每一个TeacherNo必须是惟一的 28. 在Transact-SQL中,查询时将student表的bh列标题命名为\编号\的正确操作是(ABD )。

A.SELECT bh 编号 FROM student B.SELECT ' 编号'= bh FROM student C.SELECT bh=编号 FROM student D.SELECT bh AS '编号' FROM student

29.在数据库系统中,DBMS 和OS 之间关系以下不正确的是( A B C ) A.并发运行 B.相互调用 C.OS 调用DBMS D.DBMS 调用OS

30 DB 的三级模式分别是( A B C D )

A.子模式 B.外模式 C.概念模式 D.内模式

31 在SQL 中,用户可以进行查询操作的是[ ABCD] A.虚表 B.实表 C.视图 D.基本表

32 SQL 中,聚合函数COUNT(列名)作用的描述,一下错误的是[ ABD ] A.计算元组个数 B.计算属性的个数

C.对一列中的非空值计算个数 D.对一列中的非空值和空值计算个数 33 SQL 中,与“NOT IN”不等价的操作符是[ABC ] A.=SOME B.<>SOME C.=ALL D.<>ALL

34 SQL 中,谓词EXISTS 不可用来测试一个集合是否[ ABD] A.有重复元组 B.有重复的列名 C.为非空集合 D.有空值

35 对于基本表EMP(ENO,ENAME,SALARY,DNO) 其属性表示职工的工号、姓名、工资和所在部门的编号。 基本表DEPT(DNO,DNAME)其属性表示部门的编号和部门名。 有一SQL 语句:

SELECT COUNT(DISTINCT DNO) FROM EMP;其不等价的查询语句是[ ABD]

A.统计职工的总人数 B.统计每一部门的职工人数

C.统计职工服务的部门数目 D.统计每一职工服务的部门数目 36 对于35题的两个基本表,有以下SQL 语句: SELECT ENO,ENAME FROM EMP WHERE DNO NOT IN (SELECT DNO FROM DEPT

WHERE DNAME='金工车间';

与上述SQL语句不等价的SQL语句是: [ ABD]

A.select ENO,ENAME from emp,dept where emp.dno = dept.dno and dname≠'金工车间'

B. select ENO,ENAME from emp,dept where emp.dno = dept.dno

C.select eno,ename from emp shere dno not in (select emp.dno from emp,dept where dname = '金工车间')

D.select eno,ename from emp where dno not in (select emp.dno from emp,dept where dname ≠'金工车间')

37 仍然是上面的第35题定义的两个基本表,有一个SQL 语句: UPDATE EMP

SET SALARY=SALARY*1.05 WHERE DNO='D6'

AND SALARY<(SELECT AVG(SALARY) FROM EMP);

其不等价的修改语句为[ ABD]

A.为工资低于D6 部门平均工资的所有职工加薪5% B.为工资低于整个企业平均工资的职工加薪5%

C.为在D6 部门工作、工资低于整个企业平均工资的职工加薪5% D.为在D6 部门工作、工资低于本部门平均工资的职工加薪5% 38 有关嵌入式SQL 的叙述,正确的是[ACD ] A.宿主语言是指C 一类高级程序设计语言 B.宿主语言是指SQL 语言

C.在程序中要区分SQL 语句和宿主语言语句 D.SQL 有交互式和嵌入式两种使用方式 39 以下关于子查询的描述,正确的有[ABC ]

A.当使用IN子查询时,外部的select查询需要在IN内部的子查询完成,得到对应的查询结果后才开始;

B.子查询可以用在where条件子句中,也可以用在FROM子句中。 C.用IN能够实现子查询,用EXISTS也能实现子查询。

D.IN实现的子查询和EXISTS实现的子查询执行过程是完成一样的。 40以下哪种约束的定义对数据列的取值是否为空可以没有约束 (ABD) A.DEFAULT约束 B.CHECK约束

C.PRIMARY KEY约束 D.FOREIGN KEY约束 41 以下关于空值的描述,错误的是[ABCD] A. 空值是和空字符串、零等价的一个概念;

B. 判断一个变量的值是否为空,首先判断它是什么类型,不同类型的变量判断空值的方法也不同;

C. 空值是指什么都没有,因此没法判断; D. 判断一个变量S是否为空,写做if s = null;

42 在用聚合函数实现数据记录的统计时,以下关于Count()函数的描述正确的是[AB] A. 当用count(*)完成统计时,统计的是满足条件的记录行的总数目,不论其是否包含NULL值;

B.当用count(列名)完成统计时,对于“列名”对应列取值的空的记录不进入统计范围,因此,这时仅统计“列名”对应值不为NULL的记录行的总数目。 C.用count(*)和count(列名)统计,在任何情况下统计结果都相等; D.用count(*)和count(列名)统计,在任何情况下统计结果都不可能相等; 43下列哪些是视图所具备的特点?( ABC ) A. 分割数据,屏蔽用户所不需要浏览的数据

B. 提高应用程序和表之间的独立性,充当程序和表之间的数据 C. 降低对最终用户查询水平的要求 D. 提高数据的网络传输速度

44下列哪些关键字在Select语句中不能表示所有列?( BCD ) A.* B.ALL C.DESC D.DISTINCT 45 以下关于外键的说法中,不正确的有( ABCD ) A. 外键描述的是表与表之间的约束关系;

B. 外键一定是一个表的一个字段关联到另外一张表的某个字段上去; C. 外键可以保证数据表中记录的完整性; D. 定义为外键的字段其数据值一定不能为空。

46 以下关于SQL语句描述中不正确的是( ABC ) A. 在SQL查询语句中,一定有where子句; B. 在SQL查询语句中,一定有having子句;

C. 在SQL查询语句中,可以没有group by 子句,但having子句不能少; D. 在SQL查询语句中,如果有having子句,那么一定先有group子句;

本文来源:https://www.bwwdw.com/article/z8eo.html

Top