杰普软件2016年数据库测试题及答案.docx_第1页
杰普软件2016年数据库测试题及答案.docx_第2页
杰普软件2016年数据库测试题及答案.docx_第3页
杰普软件2016年数据库测试题及答案.docx_第4页
杰普软件2016年数据库测试题及答案.docx_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一 选择题(1分,共20分)1.为了考虑数据的安全性,要求每个教师只能存取自己讲授的课程的学生成绩,应该创建_A_a).视图b).索引 c).游标 d).表2.关于类型定义Number(9,2)说法正确的有_B_a)整数部分9位,小数部分2位,共11位b)整数部分7位,小数部分2位,共9位c)整数部分6位,小数点一位,小数部分2位,共9位d)以上说法均不正确3.获取当前系统时间的查询语句是_C_a)Sysdateb)Selectsysdatec)Selectsysdatefromdual;d)以上都可以4.在数据库中可以创建和删除表、视图、索引,可以修改表。这是因为数据库管理系统提供了_A_a)数据定义功能b)数据操纵功能c)数据维护功能d)数据控制功能5. 下列属于DDL语言的是:( C )A)insertB)select C)createD)commit6.数据库的并发操作可能带来的问题包括_B_a).非法用户的使用b)丢失更新c).数据独立性会提高d).增加数据冗余度7.使用sql查询时,使用where子句指出的是(B )a)查询目标 b)查询条件c)查询视图 d)查询结果8.在Oracle中,有一个教师表teacher的结构如下:IDNUMBER(5)NAMEVARCHAR2(25)EMAILVARCHAR2(50)下面哪个语句显示没有Email地址的教师姓名( C)a) SELECTnameFROMteacherWHEREemail=NULL;b) SELECTnameFROMteacherWHEREemailNULL;c) SELECTnameFROMteacherWHEREemailISNULL;d) SELECTnameFROMteacherWHEREemailISNOTNULL;9. 9.典型的jdbc程序按_顺序编写(DBECFA)A.释放资源 B.获取与数据库的物理连接 C.执行Sql语句D.注册jdbcdriver E.创建不同类型的statement F.如果有结果集,处理结果集10.在Oracle中,下面哪条语句当COMM字段为空时显示0,不为空时显示COMM的值_A_a)SELECTename,NVL(comm,0)FROMemp;b)SELECTename,NULL(comm,0)FROMemp;c)SELECTename,NULLIF(comm,0)FROMemp;d)SELECTename,DECODE(comm,NULL,0)FROMemp;11.在Oracle中,有一个名为seq的序列对象,以下语句能返回序列值但不会引起序列值增加的是_C_a). selectseq.ROWNUMfromdual;b). selectseq.ROWIDfromdual;c). selectseq.CURRVALfromdual;d). selectseq.NEXTVALfromdual;12.有表一的查询结果如下,该表为学生成绩表:selectid,gradefromstudent_gradeIDGRADE-150240370480530690表二为补考成绩表selectid,gradefromstudent_makeupIDGRADE-160280560现在通过如下语句把补考成绩更新到成绩表中,并提交:updatestudent_gradessets.grade=(selectt.gradefromstudent_makeuptwheres.id=t.id);commit;请问之后查询:selectGRADEfromstudent_gradewhereid=3;结果为_C_A 0B 70C NullD 以上都不对13.在Oracle中,可用于提取日期时间特定字符串(如年、月、日、时、分、秒)的函数有_B_a).DATEPARTb).TO_CHARc).TRUNCd). TIMPSTAMP14.MyBatis指定配置文件的根元素使用的是(B)。a)b)c)d)15. SQL语言按照用途可以分为三类,不包括下面选项中的(C)。 (A)DML (B)DCL (C)DQL (D)DDL 在sql语法中,SELECT语句的完整语法较复杂,但至少包括的部分(_16_B),使用关键字(_17_A)可以把行屏蔽,如果在SELECT语句中使用组函数时,可以在后面使用(_18_A)。 (16)A、SELECT,INTO B、SELECT,FROM C、SELECT,GROUP D、SELECT (17)A、DISTINCT B、UNION C、ALL D、TOP (18) A、GROUP BY B、COMPUTE BY C、HAVING D、COMPUTE 19.下列关于PreparedStatement对象的说法错误的是_C_a)PreparedStatement对象继承了Statement对象b)PreparedStatement可以有效的防止sql注入c)PreparedStatement不能用于批量更新操作d)PreparedStatement可以存储预编译的Sql,从而提升执行效率20.下面select语句的执行顺序正确的是_D_a)selectwheregroupbyorderbyb)selectgroupbyhavingwhereorderbyc)wheregroupbyhavingorderbyselectd)wheregroupbyhavingselectorderby二 填空题(1题2分,其余1分)1.使用SELECT语句显示当前系统时间,显示格式为如:2009-03-25 20:13:43select to_char(sysdate,yyyy-mm-dd hh24:mi:ss) from dual;2. 数据库事务的特性_原子性_、_一致性_、_隔离性_、_持久性_3. 执行脚本estore.sql文件的两种方式_和_start_。4. 请写出两种清空表order中数据的方法_delete_和_truncate_。哪一种方式是彻底删除数据_truncate_5.JDBC编程中负责事务管理的类是_Connection_;6. 设置name列显示长度为20个字符_col name format a20_,设置salary列显示格式为$23,200.00_col salary format $99,999.00_。7.oracle通配符:“_”代表:_通配一个字符_;“%”代表_通配0到多个字符_,通过_escape_关键字将字符转义。以练习的s_emp表,写出查询last_name第二个字符为g的用户信息语句select last_name from s_emp where last_name like _g%8. oracle数据库字符函数的substr(helloworld,3,4)操作的结果是:_llo _9. 在mybatis的配置文件中,我们使用_typeAliases_标签给类取别名三简答题(每题5分,共25分):1.请分别简述xml中原生的解析方式有哪两种,并且各自特点是什么。 DOM和SAX的不同: 1. DOM是基于内存的,不管文件有多大,都会将所有的内容预先装载到内存中。从而消耗很大的内存空间。而SAX是基于事件的。当某个事件被触发时,才获取相应的XML的部分数据,从而不管XML文件有多大,都只占用了少量的内存空间。 2. DOM可以读取XML也可以向XML文件中插入数据,而SAX却只能对XML进行读取,而不能在文件中插入数据。这也是SAX的一个缺点。 3.SAX的另一个缺点:DOM我们可以指定要访问的元素进行随机访问,而SAX则不行。SAX是从文档开始执行遍历的。并且只能遍历一次。也就是说我们不能随机的访问XML文件,只能从头到尾的将XML文件遍历一次(当然也可以中间截断遍历)。2.MyBatis实现一对一有几种方式?具体怎么操作的?(1) 使用嵌套结果ResultMap实现一对一关系映射,我们可以使用一个嵌套结果ResultMap方式来获取主表及其关联表信息,使用引用另外的在同一个XML文件中定义的。(2) 通使用嵌套select查询来获取主表及其关联表信息,此时引用另外的在同一个XML文件中定义的select查询语句。3.以练习的S_emp表为基表查看薪资高于Chang经理薪资的员工信息select * from s_emp where salary (select salaryfrom s_empwhere id = (select manager_idfrom s_empwhere last_name=Chang);4.查询平均工资大于1200的部门,并显示这些部门的部门编号,名字,和平均工资select sd.id,,avg(salary)from s_emp se,s_dept sdwhere se.dept_id = sd.idgroup by sd.id,having avg(salary)1200;select a.dept_id,d.id,a.sal ,from (select avg(salary) sal,dept_idfrom s_empgroup by dept_idhaving avg(salary)1200) a,s_dept dwhere a.dept_id=d.id5.请简述Statement对象和PreparedStatement对象的关系和区别。1、关系 PreparedStatement继承Statement,他们属于父与子的关系。使用上来说Statement使用的地方都可以换成PreparedStatement。2、安全性 Statement的直接执行SQL语句,无法防止SQL注入问题。PreparedStatement可以使用占位符,可以防止SQL注入问题。3、性能PreparedStatement:1) addBatch()将一组参数添加到PreparedStatement对象内部。2) executeBatch()将一批参数提交给数据库来执行,如果全部命令执行成功,则返回更新计数组成的数组。Statement:1) addBatch(String sql)方法会在批处理缓存中加入一条sql语句。2) executeBatch()执行批处理缓存中的所有sql语句。从第一次执行的角度:PreparedStatement由于占位符的使用,第一次执行需要很多额外的工作,例如占位符转换等等,这些都需要消耗一定的事件和资源。而Statement直接执行相对来说效率要高、消耗要少一些。从多次执行的角度:PreparedStatement由于使用占位符进行预编译时,保存的执行代码被缓存,下次调用的时候就可以不再被编译而可以直接执行。而Statement即使执行一样的操作,由于操作数据不同,所以执行语句也需要再次编译。四编程题1.数据库中有Student表,以下为建表语句。请将学生A的信息保存入数据库中,要求使用JDBC技术,采用两种方式(Statement,PreparedStatement)将此记录插入表中。学生A信息为:学号:001;姓名:张三;生日:2012年1月12号。createtableStudent_jdbc(idnumber(3)primarykey,namevarchar2(20),birthdaydate);Class.forName(oracle.jdbc.driver.OracleDriver);Connection connection = DriverManager.getConnection(jdbc:oracle:thin:localhost:1521:xe,briup16,briup16);/*String sql = insert into Student_jdbc values(001,张三,12-1月-2012);Statement statement = connection.createStatement();statement.execute(sql);if(statement!=null)statement.close();*/*String sql = insert into Student_jdbc values(?,?,?);PreparedStatement preparedStatement = connection.prepareStatement(sql);preparedStatement.setInt(1, 001);preparedStatement.setString(2, 张三);preparedStatement.setDate(3, new Date(new SimpleDateFormat(yyyy-mm-dd).parse(2012-01-12).getTime();preparedStatement.execute();if(preparedStatement!=null)preparedStatement.close();*/if(connection!=null)connection.close();2.现有用户表,以下为建表语句create table t_user(id number primary key,name varchar(20) not null,age number(2),birthday date)用户类(com.briup.mybatis.User)的属性如下private int userid;private int age;private String name;private Date birthday;映射文件内容为:(1) 向用户表中插入用户(写出:insert标签,mapper接口方法)insert into t_user(id,name,age,birthday) values(#userid,#name,#age,#birthday)public void insertUser(User user);(2) 查询id为001的用户的编号,姓名,年龄和生日,并将结果封装成User对象(xml中的select标签,mapper接口方法, 使用命名空间、接口两种方式的测试代码)Xmlselect id as userid,name,age,birthday from t_userwhere id=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论