跳转到主内容
新派编程网 - 新潮编程理念,全新技术课堂!

关系型数据库基础

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

嗯 上周五考试题测试题(笔试)

关系型数据库基础成都朗沃信息技术有限公司不定项选择题(30题,每题2.5分,满分75分)

1)关系型数据库的核心单元是?(单选)ba)对象b)表c)行d)列2)对于关系型数据库来说,表之间存在下面那些关系()。(多选)abca)一对一关系b)一对多关系c)多对多关系【需中间表描述】d)继承关系3)在SQL中,下面对于数据定义语言(DDL)描述正确的是(单选)da)DDL是对数据的查询操作b)完成数据的增、删、改、查操作c)控制对数据库的访问d)定义数据库的结构4)下面哪些属于mysql中存在的数据类型()。(多选)abdea)Float【记到起】b)datetimec)Stringd)chare)int 5)根据数据完整性实施的方法,可以将其分为( )。(多选)acdfa)实体完整性b)表完整性c)域完整性d)引用完整性【主表、从表】e)记录完整性f)用户自定义完整性6)Collection有两个子接口,分别是()。(多选)ada)Listb)ArrayListc)Mapd)Set 7)如果一个字段的数据必须来源另一个表的主键,那么要在这个字段上建立()。(单选)ba)PK(主键)b)FK(外键)c)UK(唯一键)d)复合主键8)当子查询返回多行时,可以采用的解决办法是()。(单选)ca)使用聚合函数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语句是() (单选) ca)SELECT * FROM sc WHERE grade=NULLb)SELECT * FROM sc WHERE grade IS ‘ ’c)SELECT * FROM sc WHERE grade IS NULLd)SELECT * FROM sc WHERE grade =‘ ’10)下面SQL是来源于考试成绩表t_exam:学号stuId、科目编号subId、成绩score,考试日期:ex_date。有以下sql,它表示的意思是:(单选)bSelect stu_id,subId,count(*) as xFrom t_examWhere ex_date=’2008-08-08’Group stu_id,subIdHaving count(*)>1Order by x desca)找出’2008-08-08’这天某科考试2次及以上的学生记录b)找出’2008-08-08’这天,某科考试2次及以上的学生记录,考试次数多的放在前面c)找出’2008-08-08’这天,某科考试2次及以上的学生记录,考试次数少的放在前面d)根据学号和学科分组,找出每个人考试科数,最后考试次数多的放在前面11)要打印出list储存的内容,以下语句正确的是()(多选)abArrayList list=new ArrayList();list.add("a");list.add("b");Iteratorit=list.iterator();【Iterator:迭代器】a)while(it.hasNext())System.out.println(it.next());b)for(int i=0;iSystem.out.println(list.get(i));c)while(list.hasNext())System.out.println(list.next());d)for(int i=0;iSystem.out.println(it(i));12)EMP表如下所示,下面哪些SQL语句的返回值为3:(多选)bdEMP雇员号  雇员名  部门号  工资001   张山   02   2000010   王宏达 01    1200056   马林生 02    1000101   赵敏    04    (null)a)select count(*) from empb)select count(distinct部门号) from empc)select count(*) from emp group by雇员号d)select count(工资) from emp 13)关于HashMap和Hashtable描述正确的是(   )(多选) bcfa)HashMap和Hashtable都是Map的子类b)HashMap和Hashtable都是Map的实现类c)HashMap允许空键和空值,Hashtable不允许d)Hashtable允许空键和空值,HashMap不允许e)HashMap线程安全,Hashtable线程不安全f)HashMap线程不安全,Hashtable线程安全14)下面关于SQL数据查询操作描述正确的有:()(多选) abda)投影操作是选择对表中的哪些列进行查询操作b)使用DISTINCT关键字可以过滤查询中其它重复的记录c)在模糊查询中,通配符“%”表示匹配单个字符,而“_”表示匹配零个或多个字符d)在MySQL中使用LIMIT关键字限制从数据库中返回记录的行数15)下面关于域完整性【列】的方法,不正确的是(单选)aa)主键约束b)检查约束c)非空约束d)默认值16)若要求查找S表中,姓名的第一个字为'王'的学生学号和姓名。下面列出的SQL语句中,哪个是正确的()(单选)ba)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语句中表示所有列(        )(单选)aa)*b)allc)descd)DISTINCT 18)下面可以通过聚合函数的结果来过滤查询结果集的SQL子句是()。(单选) ca)WHERE子句b)GROUP BY子句c)HAVING子句d)ORDER BY子句19)下面有关JDBC说法正确的是:()(多选)aba)JDBC就是一套接口,由SUN公司提出,各厂商实现b)使用JDBC连接不同数据库时调用的接口是相同的c)使用JDBC连接不同数据库时连接的字符串是相同的d)由于数据库厂商不一致,JDBC在连接不同的数据库时使用的接口不是一致的。

20)若要求“查询选修了3门以上课程的学生的学生号”,正确的SQL语句是()(单选)ba)SELECT Sno FROM SC GROUP BY Sno WHERE COUNT(*)> 3b)SELECT Sno FROM SC GROUP BY Sno HAVING  COUNT(*)> 3c)SELECT Sno FROM SC ORDER BY Sno WHERE COUNT(*)> 3d)SELECT Sno FROM SC ORDER BY Sno HAVING COUNT(*)> 3 21)有关索引的说法正确的是(        )(多选) bca)索引的目的是为增加数据操作的速度b)索引被用于优化查询c)索引建立得太多,会降低数据增加、删除、修改速度d)索引建立越多查询速度越快。

22)SQL中,“AGE  IN(20,22)”的语义是(        )。(单选) da)AGE=20b)AGE 20c)AGE =20  AND  AGE =22d)AGE =20  OR  AGE =22 23)SQL语言中,删除EMP表中全部数据的命令正确的是()。(多选)cda)delete * from empb)drop table emp【全删没了,表都没了,题意是保留数据结构】c)truncate table empd)delete  from emp 24)关于Statement和PreparedStatement说法正确的是()(多选)ada)Statement是PreparedStatement的父接口b)PreparedStatement是Statement的父接口c)Statement执行效率高d)PreparedStatement执行效率高25)在SQL语言中,条件“BETWEEN 20 AND 30”表示年龄在20到30之间,且()(单选)aa)包括20岁和30岁b)不包括20岁和30岁c)包括20岁,不包括30岁d)不包括20岁,包括30岁26)有关SQL注入,说法正确的有:()(多选)bda)SQL注入就是通过工具反复猜登录的用户名和密码,直到破解。b)SQL注入指的是在sql加入特殊命令,从而达到破坏数据库的效果。c)Statement可以防止SQL注入d)PreparedStatement可以防止SQL注入27)SQL语言集数据查询、数据操作、数据定义和数据控制功能于一体,语句INSERT、DELETE、UPDATE实现哪类功能()(单选)ba)数据查询b)数据操纵(DML)c)数据定义(DDL)d)数据控制(DCL) 28)在JDBC中,要将数据库表记录转化为对象数据时,需要使用()(单选)da)Connectionb)DriverManagerc)PreparedStatementd)ResultSet 29)关于List、Set、Map特点说法正确的是()(多选)acda)List元素可以重复,Set元素不可重复b)Set元素可以重复,List元素不可重复c)Map一个元素放两个对象,而List和Set只放一个对象d)Map元素键不可重复。e)Map元素键可以重复。

30)主键约束包括()(多选)aca)非空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

相关文章