好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

关系型数据库基础

嗯 上周五考试题 测试题(笔试) 关系型数据库基础 成都朗沃信息技术有限公司 不定项选择题( 30 题,每题 2.5 分,满分 75 分) 1) 关系型数据库的核心单元是?(单选) b a) 对象 b) 表 c) 行 d) 列 2) 对于关系型数据库来说,表之间存在下面那些关系()

嗯 上周五考试题

测试题(笔试)

关系型数据库基础

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


不定项选择题( 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

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

c)

while(list.hasNext())

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

d)

for(int i=0;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)

关于 HashMap 和 Hashtable 描述正确的是 ( )( 多选 ) bcf

a)

HashMap 和 Hashtable 都是 Map 的子类

b)

HashMap 和 Hashtable 都是 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 Sno , SNAME FROM S WHERE SNAME= ′王 % ′

b)

SELECT Sno , SNAME FROM S WHERE SNAME LIKE ′王 % ′

c)

SELECT Sno , SNAME 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 =20

b)

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)

关于 Statement 和 PreparedStatement 说法正确的是()(多选) ad

a)

Statement 是 PreparedStatement 的父接口

b)

PreparedStatement 是 Statement 的父接口

c)

Statement 执行效率高

d)

PreparedStatement 执行效率高

25)

在 SQL 语言中,条件“ BETWEEN 20 AND 30 ”表示年龄在 20 到 30 之间,且( )(单选) 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 语言集数据查询、数据操作、数据定义和数据控制功能于一体,语句 INSERT 、 DELETE 、 UPDATE 实现哪类功能( )(单选) b

a)

数据查询

b)

数据操纵 (DML)

c)

数据定义 (DDL)

d)

数据控制 (DCL)

28)

在 JDBC 中,要将数据库表记录转化为对象数据时,需要使用()(单选) d

a)

Connection

b)

DriverManager

c)

PreparedStatement

d)

ResultSet

29)

关于 List 、 Set 、 Map 特点说法正确的是( )(多选) acd

a)

List 元素可以重复, Set 元素不可重复

b)

Set 元素可以重复, List 元素不可重复

c)

Map 一个元素放两个对象,而 List 和 Set 只放一个对象

d)

Map 元素键不可重复。

e)

Map 元素键可以重复。

30)

主键约束包括( )(多选) ac

a)

非空

b)

必须使用自动增长

c)

值不能重复

d)

只能用 int 类型

书写以下 SQL 语句(共 5 题,每题 5 分,满分 25 分)

有员工表 :employee(e_id,e_name,e_date,e_sex,d_id)

有部门表 dept(d_id,d_name)

1. 为员工表的 d_id 增加外键约束。

Alter table employee add contraint fk_em foreign key(d_id) references dept(d_id)

2. 增加一条如下记录:张三, 2008-1-2 参工,分配到 01 部门,工号使用自动编号。

insert into employee(e_name,e_date,d_id) values(' 张三 ','2008-01-02',1);

3. 将所有没有性别的人员性别更新为“男”。

Update employee set e_sex=' 男 ' where e_sex is null;

4. 请统计各部门的员工数。

Select count(*) from dept d left join employee e on e.d_id=d.d_id group by d.d_id;

5. 查询各部门员工人数超过 3 人及以上部门编号和名称。

Select d.d_id,d.d_name from employee e join dept d on e.d_id=d.d_id group by d.d_id having count(*)>3

查看更多关于关系型数据库基础的详细内容...

  阅读:64次