第1页共7页1Oracle数据库测试题姓名:得分:一、选择题二、问答题1、事务是什么?事务的ACID特性指的是什么?oracle数据库的默认隔离级别是?2、oracle中truncate和delete命令有何区别?3、Oracle中char和varchar2数据类型有什么区别?有数据”test”分别存放到char(10)和varchar2(10)类型的字段中,其存储长度及类型有何区别?4、参见如下表结构出版社:出版社代码char(2),出版社名称varchar2(32)图书:图书编号char(8),图书名称varchar2(128),出版社代码char(2),作者代号char(4),图书简介varchar2(128)第2页共7页2作者:作者代号char(4),作者名称varchar2(10),性别char(1),年龄number(3),文学方向varchar2(64)获奖名单:获奖日期date,获奖人员char(4)(备注:为了便于看清楚题意,故表名和字段名都采用中文)编写SQL语句,找出“作者”表中没有出现在“获奖名单”表中所有作者信息的SQL语句(提示:使用notin、notexists以及外关联三种方法,并说明哪种方法最优。)5、见第四题“获奖名单”表,写出SQL语句,查询出在上一个月获奖的人员。6、见第四题“图书”表,在表上对图书名称、出版社代码、作者代号创建了组合索引,请问在执行如下语句时会不会利用到索引。a)Select*from图书where图书名称=’xxxx’b)Select*from图书where图书名称=’xxxx’and出版社代码=’bb’c)Select*from图书where图书名称=’xxxx’and作者代号=’ddd’d)Select*from图书where出版社代码=’yyy’7、编写一个SQL语句,从以下记录中找到唯一记录,并将其flag列更新为YNonamesexflag1张三1N1张三1N1张三1N第3页共7页38、Oracle中,需要在查询语句中把空值(NULL)输出为0,如何处理?三、数据库设计题背景:FUNTRAVELS公司是一家旅游预定的公司。该公司雇佣了若干名业务员,分别安排在全国各地50处分之机构,通过其中任何一处分支机构的业务员,客户都可以预定一次旅行。第一部分:创建新用户tours,给tours赋角色connect,resource使用tours创建以下各表,并根据描述指定合适的数据类型及字段大小:表名:operator表名:cruise列描述列描述oper_cdoper_nmoper_addoper_telnooper_faxnooper_email旅行业务员代码名字地址电话号码传真号码电子邮件地址cruise_cdcruise_nmoper_cddes_citycountry_nmdurationpriceairfare旅行代码。旅行名称旅游业务员代码目的地城市国家名称旅行时间(按天计)每位价格(按美元计)飞机票价含在价格中(Y–是,N–否)。表名:cruise_book表名:customer第4页共7页4列描述列描述cruise_cdstart_dttot_seatsseats_avail旅行代码行程开始日期座位总数未预定座位数cust_cdcust_nmcust_addtel_noe_mailcruise_cdstart_dtno_of_per客户代码姓名住址电话号码电子邮件地址所预定旅行代码所预定旅行开始日期预定人员数使以下三张表的三个列实现自动编号,创建序列并使用,如下所示:operator:oper_cdcruise:cruise_cdcustomer:cust_cd向表设置主键约束,如下所示:operator:oper_cdcruise:cruise_cdcruise_book:cruise_cd,start_dtcustomer:cust_cd向表设置外键约束,如下所示:cruise:oper_cd参照operator表中的oper_cdcruise_book:cruise_cd参照cruise表中的cruise_cdcustomer:cruise_cd参照cruise_book表中的cruise_cd,start_dt第5页共7页5向表设置唯一约束,如下所示:operator:oper_telno向表设置检查约束,如下所示:cruise:duration0,price0,airfare=‘Y’orairfare=‘N’向表设置默认约束,如下所示:customer:no_of_per=1第6页共7页6第二部分:1对每个表添加数据如下。operator:cruisecruise_bookcustomer1.显示当年七月到八月预约的顾客姓名2.显示所有预期收入低于20,00,00的旅游线及其预期收入的总和。3.使用子查询显示自10月以来没有一笔业务的业务员名单。第7页共7页74.查询行程大于8天的旅游线的代码、名称、目的城市、行程和价格。5.将所有线路的价格增加15%.6.查找所有业务员的业务量。7.查找每个业务员到现在为止没完成的业务量。