现在的位置: 首页 > 综合 > 正文

关系型数据库基础

2013年08月21日 ⁄ 综合 ⁄ 共 3992字 ⁄ 字号 评论关闭

嗯 上周五考试题

 

测试题(笔试)

 

 

关系型数据库基础

 

 

 

 

 

 

 

 

 

 

 

成都朗沃信息技术有限公司



 

不定项选择题(30题,每题2.5分,满分75分)

1)

关系型数据库的核心单元是?(单选)b

 

a)

对象

 

b)

 

c)

 

d)

 

2)

对于关系型数据库来说,表之间存在下面那些关系()。(多选)abc

 

a)

一对一关系

 

b)

一对多关系

 

c)

多对多关系【需中间表描述】

 

d)

继承关系

 

3)

SQL中,下面对于数据定义语言(DDL)描述正确的是(单选)d

 

a)

DDL是对数据的查询操作

 

b)

完成数据的增、删、改、查操作

 

c)

控制对数据库的访问

 

d)

定义数据库的结构

 

4)

下面哪些属于mysql中存在的数据类型()。(多选)abde

 

a)

Float【记到起】

 

b)

datetime

 

c)

String

 

d)

char

 

e)

int

 

5)

根据数据完整性实施的方法,可以将其分为( )。(多选)acdf

 

a)

实体完整性

 

b)

表完整性

 

c)

域完整性

 

d)

引用完整性【主表、从表】

 

e)

记录完整性

 

f)

用户自定义完整性

 

6)

Collection有两个子接口,分别是()。(多选)ad

 

a)

List

 

b)

ArrayList

 

c)

Map

 

d)

Set

 

7)

如果一个字段的数据必须来源另一个表的主键,那么要在这个字段上建立(       
)。(单选)b

 

a)

PK(主键)

 

b)

FK(外键)

 

c)

UK(唯一键)

 

d)

复合主键

 

8)

当子查询返回多行时,可以采用的解决办法是(       
)。(单选)c

 

a)

使用聚合函数

 

b)

Where条件判断

 

c)

使用IN运算符

 

d)

使用Group by进行分组

【引申,若用<>,则后面只能返回单行】

9)

下面题基于学生-课程数据库中的三个基本表:

学生信息表:s(sno, sname, sex, age, dept)
主键为sno

课程信息表:c(cno, cname, teacher)
主键为cno

学生选课信息表:sc(sno, cno, grade)
主键为(sno, cno)

从学生选课信息表中找出无成绩的学生信息SQL语句是(       
) (单选) c

 

a)

SELECT * FROM sc WHERE grade=NULL

 

b)

SELECT * FROM sc WHERE grade IS ‘ ’

 

c)

SELECT * FROM sc WHERE grade IS NULL

 

d)

SELECT * FROM sc WHERE grade =‘ ’

 

10)

下面SQL是来源于考试成绩表t_exam:学号stuId、科目编号subId、成绩score,考试日期:ex_date。有以下sql,它表示的意思是:(单选)b

 

 

Select stu_id,subId,count(*) as x

    From t_exam

    Where ex_date=’2008-08-08’

    Group stu_id,subId

    Having count(*)>1

   Order by x desc

 

a)

找出’2008-08-08’这天某科考试2次及以上的学生记录

 

b)

找出’2008-08-08’这天,某科考试2次及以上的学生记录,考试次数多的放在前面

 

c)

找出’2008-08-08’这天,某科考试2次及以上的学生记录,考试次数少的放在前面

 

d)

根据学号和学科分组,找出每个人考试科数,最后考试次数多的放在前面

 

11)

要打印出list储存的内容,以下语句正确的是()(多选)ab

 

 

ArrayList list=new ArrayList();

list.add("a");

list.add("b");

Iterator
it=list.iterator();【Iterator:迭代器】

 

 

 

 

a)

while(it.hasNext())

   System.out.println(it.next());

 

b)

for(int i=0;i<list.size();i++)

   System.out.println(list.get(i));

 

c)

while(list.hasNext())

   System.out.println(list.next());

 

d)

for(int i=0;i<list.size();i++)

   System.out.println(it(i));

 

12)

EMP表如下所示,下面哪些SQL语句的返回值为3:(多选)bd

 

 

EMP

雇员号  雇员名  部门号  工资 

001   张山   02   2000

010   王宏达 01    1200

056   马林生 02    1000

101   赵敏    04    (null)

 

 

a)

select count(*) from emp

 

b)

select count(distinct
部门号) from emp

 

c)

select count(*) from emp group by
雇员号

 

d)

select count(工资) from emp

 

13)

关于HashMapHashtable描述正确的是(   )(多选)
bcf

 

a)

HashMapHashtable都是Map的子类

 

b)

HashMapHashtable都是Map的实现类

 

c)

HashMap允许空键和空值,Hashtable不允许

 

d)

Hashtable允许空键和空值,HashMap不允许

 

e)

HashMap线程安全,Hashtable线程不安全

 

f)

HashMap线程不安全,Hashtable线程安全

 

14)

下面关于SQL数据查询操作描述正确的有:(       
(多选) abd

 

a)

投影操作是选择对表中的哪些列进行查询操作

 

b)

使用DISTINCT关键字可以过滤查询中其它重复的记录

 

c)

在模糊查询中,通配符“%”表示匹配单个字符,而“_”表示匹配零个或多个字符

 

d)

MySQL中使用LIMIT关键字限制从数据库中返回记录的行数

 

15)

下面关于域完整性【列】的方法,不正确的是(单选)a

 

 

 

 

a)

主键约束      

 

b)

检查约束

 

c)

非空约束

 

d)

默认值

 

16)

若要求查找S表中,姓名的第一个字为''的学生学号和姓名。下面列出的SQL语句中,哪个是正确的()(单选)b

 

a)

SELECT SnoSNAME FROM S WHERE SNAME=′王%

 

b)

SELECT SnoSNAME FROM S WHERE SNAME LIKE′王%

 

c)

SELECT SnoSNAME FROM S WHERE SNAME LIKE′王_

 

d)

全部

 

17)

下列哪个关键字在Select语句中表示所有列(        )(单选)a

 

a)

*

 

b)

all

 

c)

desc

 

d)

DISTINCT

 

18)

下面可以通过聚合函数的结果来过滤查询结果集的SQL子句是( 
)。

(单选) c

 

 

 

 

a)

 WHERE子句     

 

b)

GROUP BY子句

 

c)

 HAVING
子句

 

d)

ORDER BY子句

 

19)

下面有关JDBC说法正确的是:()(多选)ab

 

 

 

 

a)

JDBC就是一套接口,由SUN公司提出,各厂商实现

 

b)

使用JDBC连接不同数据库时调用的接口是相同的

 

c)

使用JDBC连接不同数据库时连接的字符串是相同的

 

d)

由于数据库厂商不一致,JDBC在连接不同的数据库时使用的接口不是一致的。

 

 

20)

若要求“查询选修了3门以上课程的学生的学生号”,正确的SQL语句是(       
)(单选)b

 

a)

 SELECT Sno FROM SC GROUP BY Sno WHERE COUNT(*)> 3

 

b)

SELECT Sno FROM SC GROUP BY Sno HAVING  COUNT(*)> 3

 

c)

SELECT Sno FROM SC ORDER BY Sno WHERE COUNT(*)> 3

 

d)

SELECT Sno FROM SC ORDER BY Sno HAVING COUNT(*)> 3

 

21)

有关索引的说法正确的是(        )(多选) bc

 

 

 

 

a)

索引的目的是为增加数据操作的速度

 

b)

索引被用于优化查询

 

c)

索引建立得太多,会降低数据增加、删除、修改速度

 

d)

索引建立越多查询速度越快。

 

22)

SQL中,“AGE  IN(20,22)”的语义是(        )。(单选) d

 

 

 

 

a)

AGE<=22  AND  AGE >=20 

 

b)

AGE <22  OR  AGE >20  

 

c)

AGE =20  AND  AGE =22 

 

d)

AGE =20  OR  AGE =22

 

23)

SQL语言中,删除EMP表中全部数据的命令正确的是( 
)。(多选)cd

 

 

 

 

a)

delete * from emp

 

b)

drop table emp【全删没了,表都没了,题意是保留数据结构】

 

c)

 truncate table emp

 

d)

delete  from emp

 

24)

关于StatementPreparedStatement说法正确的是()(多选)ad

 

 

 

 

a)

StatementPreparedStatement的父接口

 

b)

PreparedStatementStatement的父接口

 

c)

Statement执行效率高

 

d)

PreparedStatement执行效率高

 

25)

SQL语言中,条件“BETWEEN 20 AND 30”表示年龄在2030之间,且(    
)(单选)a

 

 

 

 

a)

包括20岁和30

 

b)

不包括20岁和30

 

c)

包括20岁,不包括30

 

d)

不包括20岁,包括30

 

26)

有关SQL注入,说法正确的有:(    
)(多选)bd

 

 

 

 

a)

SQL注入就是通过工具反复猜登录的用户名和密码,直到破解。

 

b)

SQL注入指的是在sql加入特殊命令,从而达到破坏数据库的效果。

 

c)

Statement可以防止SQL注入

 

d)

PreparedStatement可以防止SQL注入

 

27)

SQL语言集数据查询、数据操作、数据定义和数据控制功能于一体,语句INSERTDELETE

抱歉!评论已关闭.