当前位置:文档之家› 专题1_数据库笔试模拟-answer

专题1_数据库笔试模拟-answer

专题1_数据库笔试模拟-answer
专题1_数据库笔试模拟-answer

CORE-E-001的综合练习:

1.用sqlplus连接数据库时,为什么会出Oracle not available错误?

oracle server(即通常所说的数据库)是否启动,ORACLE_SID是否正确设置。

2.找出员工的姓中(last_name)第三个字母是a的员工名字

select last_name from s_emp where last_name like '__a%';

3.找出员工名字中含有a和e的

select first_name from s_emp where first_name like '%a%' and first_name like '%e%';

比较:

select first_name from s_emp where first_name like '%a%e%';

4.找出所有有提成的员工,列出名字、工资、提出,显示结果按工资从小到大,提成从小到大

select first_name , salary , commission_pct from s_emp where commission_pct is not null order by salary , commission_pct;

5.42部门有哪些职位

select distinct title from s_emp where dept_id = 42

6.除了Sales部门还有哪些部门

select id , name ,region_id from s_dept where name <> 'Sales'

7.显示工资不在1000到1550之间的员工信息:名字、工资,按工资从大到小排序。

select first_name , salary from s_emp where salary not between 1000 and 1550 order by salary desc

8.显示职位为Stock Clerk和Sales Representative,年薪在14400和17400之间的员工的信息:名字、职位、年薪。

select first_name , title , salary*12 ann_sal from s_emp where title in ('Stock Clerk', 'Sales Representative' ) and salary between 1200 and 1450

9.解释select id ,commission_pct from s_emp where commission_pct is null和select id ,commission_pct from s_emp where commission_pct = null的输出结果。

is null判断是否为空,=null判断某个值是否等于null,null = null和null <> null都为null。

10.select语句的输出结果为

select * from s_dept;

select * from s_emp;

select * from s_region;

select * from s_customer;

……

当前用户有多少张表,结果集有多少条记录。

select 'select * from '||table_name||';' from user_tables;

11.判断select first_name , dept_id from s_emp where salary > '1450'是否抱错,为什么?

隐式数据类型转换

CORE-E-002的综合练习:

1.改变NLS_LANG的值,让select to_char(salary*12,’L99,999.99’) from s_emp 输出结果的货币单位是¥和$

setenv NLS_LANG ' SIMPLIFIED CHINESE_CHINA.ZHS16GBK'

setenv NLS_LANG ' AMERICAN_https://www.doczj.com/doc/1618364683.html,7ASCII'

2.列出每个员工的名字,工资、涨薪后工资(涨幅为8%),元为单位进行四舍五入

select first_name , salary , round(salary*1.08) from s_emp;

3.找出谁是最高领导,将名字按大写形式显示

select upper(first_name) from s_emp where manager_id is null;

4.Ben的领导是谁(Ben向谁报告)。

select e1.first_name from s_emp e1 , s_emp e2 where e2.manager_id = e1.id and e2.first_name = 'Ben';

select e1.first_name from s_emp e1 join s_emp e2 on e2.manager_id = e1.id and e2.first_name = 'Ben';

5.Ben领导谁。(谁向Ben报告)。

select e1.first_name from s_emp e1 , s_emp e2 where e1.manager_id = e2.id and e2.first_name = 'Ben';

select e1.first_name from s_emp e1 join s_emp e2 on e1.manager_id = e2.id and e2.first_name = 'Ben'

6.哪些员工的工资高于他直接上司的工资,列出员工的名字和工资,上司的名字和工资

select e.first_name , e.salary , m.first_name , m.salary from s_emp e , s_emp m where e.manager_id = m.id and e.salary > m.salary;

select e.first_name , e.salary , m.first_name , m.salary from s_emp e join s_emp m on e.manager_id = m.id and e.salary > m.salary

7.哪些员工和Biri(last_name)同部门

select e1.first_name from s_emp e1 , s_emp e2 where e1.dept_id = e2.dept_id and https://www.doczj.com/doc/1618364683.html,st_name = 'Biri' and https://www.doczj.com/doc/1618364683.html,st_name <> 'Biri';

select e1.first_name from s_emp e1 join s_emp e2 on e1.dept_id = e2.dept_id and https://www.doczj.com/doc/1618364683.html,st_name = 'Biri' where https://www.doczj.com/doc/1618364683.html,st_name <> 'Biri'

select e1.first_name from s_emp e1 join s_emp e2 on e1.dept_id = e2.dept_id and https://www.doczj.com/doc/1618364683.html,st_name = 'Biri' and https://www.doczj.com/doc/1618364683.html,st_name <> 'Biri'

8.哪些员工跟Smith(last_name)做一样职位

select e1.first_name from s_emp e1 , s_emp e2 where e1.title = e2.title and https://www.doczj.com/doc/1618364683.html,st_name = 'Smith' and https://www.doczj.com/doc/1618364683.html,st_name <> 'Smith';

select e1.first_name from s_emp e1 join s_emp e2 on e1.title = e2.title and https://www.doczj.com/doc/1618364683.html,st_name = 'Smith' where https://www.doczj.com/doc/1618364683.html,st_name <> 'Smith';

select e1.first_name from s_emp e1 join s_emp e2 on e1.title = e2.title and https://www.doczj.com/doc/1618364683.html,st_name = 'Smith' and https://www.doczj.com/doc/1618364683.html,st_name <> 'Smith';

9.哪些员工跟Biri(last_name)不在同一个部门

select e1.first_name from s_emp e1 , s_emp e2 where e1.dept_id = e2.dept_id(+) and https://www.doczj.com/doc/1618364683.html,st_name(+) = 'Biri' and https://www.doczj.com/doc/1618364683.html,st_name is null;

select e1.first_name from s_emp e1 left outer join s_emp e2 on e1.dept_id = e2.dept_id and https://www.doczj.com/doc/1618364683.html,st_name = 'Biri' where e2.id is null

10.哪些员工跟Smith(last_name)做不一样的职位

select e1.first_name , e1.title from s_emp e1 , s_emp e2 where e1.title = e2.title(+) and https://www.doczj.com/doc/1618364683.html,st_name(+) = 'Smith' and e2.id is null;

select e1.first_name,e1.title from s_emp e1 left outer join s_emp e2 on e1.title = e2.title and https://www.doczj.com/doc/1618364683.html,st_name = 'Smith' where e2.id is null

11.显示有提成的员工的信息:名字、提成、所在部门名称、所在地区的名称

select https://www.doczj.com/doc/1618364683.html, dname , https://www.doczj.com/doc/1618364683.html, rname , first_name , commission_pct from s_emp e , s_dept d , s_region r where e.dept_id = d.id and d.region_id = r.id and https://www.doczj.com/doc/1618364683.html,mission_pct is not null;

select https://www.doczj.com/doc/1618364683.html, dname , https://www.doczj.com/doc/1618364683.html, rname , first_name , commission_pct from s_emp e join s_dept d on e.dept_id = d.id and https://www.doczj.com/doc/1618364683.html,mission_pct is not null join s_region r on

d.region_id = r.id

12.显示Operations部门有哪些职位

select distinct e.title from s_emp e , s_dept d where e.dept_id = d.id and https://www.doczj.com/doc/1618364683.html, = 'Operations';

select distinct e.title from s_emp e join s_dept d on e.dept_id = d.id and https://www.doczj.com/doc/1618364683.html, = 'Operations'

13.整个公司中,最高工资和最低工资相差多少

select max(salary) – min(salary) from s_emp;

14.提成大于0的人数

select count(*) from s_emp where commission_pct > 0;

15.显示整个公司的最高工资、最低工资、工资总和、平均工资,保留到整数位。

select max(salary) , min(salary) , sum(salary) , round(avg(salary)) from s_emp; 16.整个公司有多少个领导

select count(distinct manager_id) from s_emp;

17.列出在同一部门入职日期晚但工资高于其他同事的员工:名字、工资、入职日期

select distinct e1.first_name , e1.start_date , e1.salary from s_emp e1 , s_emp e2 where e1.dept_id = e2.dept_id and e1.start_date > e2.start_date and e1.salary > e2.salary;

select distinct e1.first_name , e1.start_date , e1.salary from s_emp e1 join s_emp e2 on e1.dept_id = e2.dept_id and e1.start_date > e2.start_date and e1.salary > e2.salary

CORE-E-003的综合练习:

1.各个部门平均、最大、最小工资、人数,按照部门号升序排列

select dept_id , avg(salary) asal , max(salary) asal , min(salary) isal , count(*) cnt from s_emp group by dept_id order by dept_id;

2.各个部门中工资大于1500的员工人数

select dept_id , count(*) cnt from s_emp where salary > 1500 group by dept_id;

3.各个部门平均工资和人数,按照部门名字升序排列

select max(https://www.doczj.com/doc/1618364683.html,) dname , max(https://www.doczj.com/doc/1618364683.html,) rname , avg(e.salary) avgsal,count(*) cnt from s_emp e , s_dept d , s_region r where e.dept_id = d.id and d.region_id = r.id group by dept_id order by dname , rname;

select max(https://www.doczj.com/doc/1618364683.html,) dname , max(https://www.doczj.com/doc/1618364683.html,) rname , avg(e.salary) avgsal , count(*) cnt from s_emp e join s_dept d on e.dept_id = d.id join s_region r on d.region_id = r.id group by e.dept_id order by dname,rname

4.列出每个部门中有同样工资的员工的统计信息,列出他们的部门号,工资,人数

select dept_id,salary,count(*) cnt from s_emp group by dept_id,salary having count(*) >= 2

5.该部门中工资高于1000的员工数量超过2人,列出符合条件的部门:显示部门名字、地区名称

select max(https://www.doczj.com/doc/1618364683.html,) dname , max(https://www.doczj.com/doc/1618364683.html,) rname , count(*) cnt from s_emp e , s_dept d , s_region r where e.dept_id = d.id and d.region_id = r.id and e.salary > 1000 group by dept_id having count(*) > 2;

select max(https://www.doczj.com/doc/1618364683.html,) dname , max(https://www.doczj.com/doc/1618364683.html,) rname , avg(e.salary) avgsal , count(*) cnt from s_emp e join s_dept d on e.dept_id = d.id and e.salary > 1000 join s_region r on d.region_id = r.id group by e.dept_id having count(*) > 2

6.哪些员工的工资,高于整个公司的平均工资,列出员工的名字和工资(降序)

select first_name , salary from s_emp where salary > (select avg(salary) from s_emp) order by salary desc;

7.哪些员工的工资,介于32和33部门(33高些)平均工资之间

select first_name , salary from s_emp where salary between (select avg(salary) from s_emp where dept_id = 32) and (select avg(salary) from s_emp where dept_id = 33);

8.所在部门平均工资高于1500的员工名字

select first_name , salary from s_emp where dept_id in (select dept_id from s_emp group by dpet_id having avg(salary) > 1500);

9.列出各个部门中工资最高的员工的信息:名字、部门号、工资

select first_name , salary , dept_id from s_emp where (dept_id , salary) in (select dept_id , max(salary) from s_emp group by dept_id);

10.最高的部门平均工资值的是多少

select max(avg(salary)) from s_emp group by dept_id;

11.哪个部门的平均工资是最高的,列出部门号、平均工资

select dept_id,avg(salary) from s_emp group by dept_id having avg(salary) = (select max(avg(salary)) from s_emp);

12.哪些部门的人数比32号部门的人数多

select dept_id , count(*) cnt from s_emp group by dept_id having count(*) > (select count(*) from s_emp where dept_id = 32);

13.Ben的领导是谁(非关联子查询)

select first_name from s_emp where id in (select manager_id from s_emp where first_name = 'Ben');

14.Ben领导谁(非关联子查询)

select first_name from s_emp where manager_id = (select id from s_emp where first_name = 'Ben');

15.Ben的领导是谁(关联子查询)

select first_name from s_emp o where exists (select 1 from s_emp i where first_name = 'Ben' and i.manager_id = o.id);

16.Ben领导谁(关联子查询)

select first_name from s_emp o where exists (select 1 from s_emp i where first_name = 'Ben' and i.id = o.manager_id);

17.列出在同一部门共事,入职日期晚但工资高于其他同事的员工:名字、工资、入职日期(关联子查询)

select first_name from s_emp o where exists (select 1 from s_emp i where

i.dept_id = o.dept_id and o.start_date > i.start_date and o.salary > i.salary);

18.哪些员工跟Biri(last_name)不在同一个部门(非关联子查询)

select first_name from s_emp where dept_id not in (select dept_id from s_emp where last_name = 'Biri');

19.哪些员工跟Biri(last_name)不在同一个部门(关联子查询)

select last_name from s_emp o where not exists (select 1 from s_emp i where

i.dept_id = o.dept_id and https://www.doczj.com/doc/1618364683.html,st_name = 'Biri');

20.Operations部门有哪些职位(非关联子查询)

select distinct title from s_emp where dept_id in (select id from s_dept where name = 'Operations');

21.Operations部门有哪些职位(关联子查询)

select distinct title from s_emp e where exists (select 1 from s_dept d where e.dept_id = d.id and name = 'Operations';

CORE-E-004综合练习

定义

CORE-F-012——CORE-F-017的综合练习:

1.工资在1500至3000之间的员工,各自工作的年限(四舍五入,降序)。答:select first_name,start_date,round(months_between(sysdate,start_date)/12) years from s_emp

where salary between 1500 and 3000

order by years desc

2.公司规定,每个员工在工作25年的第一个周五,可以申请退休,查询每个员工的这天显示格式:2010-01-01

答:select first_name,to_char(start_date,'yyyy-mm-dd'),to_char(next_day(add_months(start_date ,12*25),'FRIDAY'),'yyyy-mm-dd') from s_emp

3.显示员工的名字、入职日期、周几入职(用英文全拼),显示顺序从周一至周日。

答:select first_name,start_date,to_char(start_date,'DAY')

from s_emp

order by to_char(start_date-1,'d')

select first_name,start_date,to_char(start_date,'DAY') ,

next_day(start_date, 'MONDAY')-start_date diff

from s_emp

order by diff desc

select first_name,start_date, to_char(start_date,'DAY'),

decode(to_char(start_date,'d'),1,8, to_char(start_date,'d')) d1

from s_emp

order by d1;

4.写一个sql脚本,实现多对多关系(暂时不实现约束):学生表、课程表、学生选课表,学生表包含如下信息:学号、姓名、性别、出生日期、政治面貌,课程表包含如下信息:课程号、课程名称、学分、学时、学期,学生选课表包含如下信息:学号、课程号、成绩并插入数据。

答:create table student(

id char(10),

name varchar2(20),

gender char(2),

birth date,

party varchar(10));

create table course(

id char(10),

name varchar2(20),

credit number(2,1),

period number(3),

term number(1));

create table st_c(

sid char(10),

cid char(10),

grade number(3,1));

insert into student values('2006015001','Mary','F','15-MAY-1988','A');

insert into student values('2006015002','John','M','05-JAN-1988','A');

insert into student values('2006015003','Kitty','F','23-MAY-1987','B');

insert into student values('2006015004','Tony','M','18-MAY-1989','A');

insert into student values('2006015005','Elice','F','15-MAY-1989','B');

insert into course values('MUST200901','Data structure',4,72,2);

insert into course values('MUST200902','Operating Systems',2,54,1);

insert into course values('MUST200903','Design Pattern',4,72,2);

insert into course values('MUST200904','Core Java',5,108,1);

insert into st_c values('2006015001','MUST200901',85);

insert into st_c values('2006015001','MUST200902',90);

insert into st_c values('2006015001','MUST200903',85);

insert into st_c values('2006015002','MUST200902',92);

insert into st_c values('2006015002','MUST200903',78);

insert into st_c values('2006015004','MUST200901',96);

insert into st_c values('2006015004','MUST200902',86);

insert into st_c values('2006015004','MUST200903',98);

insert into st_c values('2006015004','MUST200904',70);

insert into st_c values('2006015003','MUST200904',67);

5.在建好表的基础上完成查询:某个指定的学生(给出学生名字)选了哪些课程。

select https://www.doczj.com/doc/1618364683.html, student_name,https://www.doczj.com/doc/1618364683.html, course_name from student s ,course c,st_c sc where s.id=sc.sid and c.id = sc.cid and https://www.doczj.com/doc/1618364683.html, = 'Mary'

select https://www.doczj.com/doc/1618364683.html, student_name,https://www.doczj.com/doc/1618364683.html, course_name from student s join st_c sc on s.id = sc.sid and https://www.doczj.com/doc/1618364683.html, = 'Mary' join course c on c.id = sc.cid

Mary选了哪些课程

STUDENT_NAME COURSE_NAME

-------------------- --------------------

Mary Data structure

Mary Operating Systems

Mary Design Pattern

6.某个指定的学生(给出学号)没有选哪些课程。

select https://www.doczj.com/doc/1618364683.html, from course c, stu_c sc where c.id = sc.cid(+) and sc.sid(+) = '2006015004' and sc.cid is null;

select https://www.doczj.com/doc/1618364683.html, from course c left outer join stu_c sc on c.id = sc.cid and sc.sid = '2006015004' where sc.cid is null

(CORE-E-005)综合练习

定义

CORE-F-018——CORE-F-020的综合练习:

1.完善sql脚本中的建表语句,在三张表上增加约束:学生表、课程表、学生选课表,在数据处理上体现出事务的概念。

答:

//student_course.sql

drop table lm_student;

drop table lm_course;

drop table lm_sc;

create table lm_student(

id char(10) primary key,

name varchar2(20) not null,

gender char(2) default 'F' not null,

birth date not null ,

party varchar2(10));

create table lm_course(

id char(10) primary key,

name varchar2(20) not null,

credit number(2,1) ,

period number(3) ,

term number(1));

create table lm_sc(

sid char(10) references lm_student(id) on delete cascade,

cid char(10) references lm_course(id) on delete cascade,

grade number(3,1),

primary key (sid,cid)

);

insert into lm_student values('2006015001','Mary','F','15-MAY-1988','A'); insert into lm_student values('2006015002','John','M','05-JAN-1988','A'); insert into lm_student values('2006015003','Kitty','F','23-MAY-1987','B'); insert into lm_student values('2006015004','Tony','M','18-MAY-1989','A'); insert into lm_student values('2006015005','Elice','F','15-MAY-1989','B');

insert into lm_course values('MUST200901','Data structure',4,72,2); insert into lm_course values('MUST200902','Operating Systems',2,54,1); insert into lm_course values('MUST200903','Design Pattern',4,72,2); insert into lm_course values('MUST200904','Core Java',5,108,1);

insert into lm_sc values('2006015001','MUST200901',85);

insert into lm_sc values('2006015001','MUST200902',55);

insert into lm_sc values('2006015001','MUST200903',45);

insert into lm_sc values('2006015002','MUST200902',92);

insert into lm_sc values('2006015002','MUST200903',78);

insert into lm_sc values('2006015004','MUST200901',96);

insert into lm_sc values('2006015004','MUST200902',86);

insert into lm_sc values('2006015004','MUST200903',98);

insert into lm_sc values('2006015004','MUST200904',70);

insert into lm_sc values('2006015003','MUST200904',67);

insert into lm_sc values('2006015003','MUST200901',57);

commit;

3.修改某个学生的出生日期。

答:update lm_student set birth=add_months(birth,2) where name='Tony';

4.修改某门课程的学时。

答:update lm_course set period=80 where id = 'MUST200901';

5.删除某名学生。

答:delete from lm_student where name='Tony';

lm_sc的sid

上的FK定义成了on delete cascade,oracle先删完成了 e

delete from lm_sc where sid = (select sid from lm_student where name = 'Tony');

所以delete lm_student可以成功。

6.在学生选课表上添加两个字段学生名字和课程名称并填上值。

答:alter table lm_sc

add (sname varchar2(20),

cname varchar2(20));

update lm_sc sc set sname=(

select name from lm_student s

where s.id=sc.sid),

cname=(

select name from lm_course c

where c.id=sc.cid);

7.若有两门课程的成绩低于60分将其删除。

答:delete from lm_student where id in

(select sid

from lm_sc where grade<60 group by sid having count(*)>1)

delete from lm_student s where id = (select sid from stu_sc sc where s.id = sc.cid group by s.id having count(*) > 1 );

8.哪个学生选了所有的课程。

答:select id,name from lm_student s where not exists(

select * from lm_course c where not exists(

select * from lm_sc where sid = s.id and cid = c.id)

);

select id,max(name) from lm_students s,lm_sc sc where s.id = sc.sid group by s.id having count(cid) = (select count(*) from lm_course);

select id,max(name) from lm_students s join lm_sc sc on s.id = sc.sid group by s.id having count(cid) = (select count(*) from lm_course);

CORE-E-006的综合练习

1.补充前一天的sql脚本,在学生表、课程表、学生选课表上添加索引。学生表的姓名字段、出生日期字段,课程表上的学分字段,学生选课表的成绩字段。

create index name_lm_student_idx on lm_student(name);

create index birth_lm_studnet_idx on lm_student(birth);

create index credit_lm_course_idx on lm_course(credit);

create index grade_lm_sc_idx on lm_sc(grade);

2.将学生表上的id和课程表上的id用sequence实现。

create sequence lm_student_id;

create sequence lm_course_id;

insert into lm_student values('2006015'||lpad(lm_student_id.nextval,3,'0'),'Mary','F','15-MAY-1988','A');

insert into lm_student values('2006015'||lpad(lm_student_id.nextval,3,'0'),'John','M','05-JAN-1988','A');

insert into lm_student values('2006015'||lpad(lm_student_id.nextval,3,'0'),'Kitty','F','23-MAY-1987','B');

insert into lm_student values('2006015'||lpad(lm_student_id.nextval,3,'0'),'Tony','M','18-MAY-1989','A');

insert into lm_student values('2006015'||lpad(lm_student_id.nextval,3,'0'),'Elice','F','15-MAY-1989','B'); insert into lm_course values('MUST2009'||lpad(lm_course_id.nextval,2,'0'),'Data structure',4,72,2);

insert into lm_course values('MUST2009'||lpad(lm_course_id.nextval,2,'0'),'Operating Systems',2,54,1);

insert into lm_course values('MUST2009'||lpad(lm_course_id.nextval,2,'0'),'Design Pattern',4,72,2);

insert into lm_course values('MUST2009'||lpad(lm_course_id.nextval,2,'0'),'Core Java',5,108,1);

create sequence lm_student_id

start with 2006015001;

insert into lm_student values(lm_student_id.nextval,'Mary','F','15-MAY-1988','A');

create sequence lm_course_id

start with 200901;

insert into lm_course values('MUST'||lm_course_id.nextval,'Data structure',4,72,2);

insert into lm_sc values('2006015001','MUST200901',85);

insert into lm_sc values('2006015001','MUST200902',55);

insert into lm_sc values('2006015001','MUST200903',45);

insert into lm_sc values('2006015002','MUST200902',92);

insert into lm_sc values('2006015002','MUST200903',78);

insert into lm_sc values('2006015004','MUST200901',96);

insert into lm_sc values('2006015004','MUST200902',86);

insert into lm_sc values('2006015004','MUST200903',98);

insert into lm_sc values('2006015004','MUST200904',70);

insert into lm_sc values('2006015003','MUST200904',67);

insert into lm_sc values('2006015003','MUST200901',57);

commit;

3.哪些地区没有员工?

select name from s_region

where id not in (select region_id from s_emp e,s_dept d

where e.dept_id = d.id)

select name from s_region

where id not in (select region_id from s_emp e join s_dept d

on e.dept_id = d.id)

select https://www.doczj.com/doc/1618364683.html,

from s_region r,(select d.region_id from s_emp e,s_dept d

where e.dept_id = d.id) a

where r.id = a.region_id(+)

and a.region_id is null

select https://www.doczj.com/doc/1618364683.html,

from s_region r left outer join (select d.region_id from s_emp e

join s_dept d on e.dept_id = d.id) a on r.id = a.region_id

where a.region_id is null

select name from s_region r

where not exists (select 1 from (select d.region_id from s_emp e

join s_dept d on e.dept_id = d.id) a

where r.id = a.region_id)

4.某个指定学生(给出学生名字)没有选哪些课程

select https://www.doczj.com/doc/1618364683.html,

from course c,(select cid from student s,stu_c sc

where s.id = sc.sid

and https://www.doczj.com/doc/1618364683.html,='Mary') a

where c.id = a.cid(+)

and a.cid is null

select https://www.doczj.com/doc/1618364683.html,

from course c left outer join (select cid from student s join stu_c

on s.id = sc.sid

and https://www.doczj.com/doc/1618364683.html,='Mary') a

on c.id = a.cid

where a.cid is null

5.42部门员工的纳税情况,税率如下:

0.00 ——1999.99 0.00

2000.00——3999.99 0.09

4000.00——5999.99 0.20

6000.00——7999.99 0.30

8000.00——9999.99 0.40

10000.00——11999.99 0.42

12000.00——139999.99 0.44

140000.00 or greater 0.45

分别用decode和case when实现。

select first_name,salary,decode(trunc(salary/2000),0,0,

1,0.09,

2,0.20,

3,0.30,

4,0.40,

5,0.42,

6,0.44,

0.45)

from s_emp

select first_name,salary,(case when salary between 0 and 1999.99 then 0.00

when salary between 2000 and 3999.99 then 0.09

when salary between 4000 and 5999.99 then 0.20

when salary between 6000 and 7999.99 then 0.30

when salary between 8000 and 9999.99 then 0.40

when salary between 10000 and 11999.99 then 0.42

when salary between 12000 and 13999.99 then

0.44

else 0.45

end) tax

from s_emp

6.从emp表和dept表中完成如下查询:各个部门不同职位的工资总和?输出如下:

JOB DEPT_10 DEPT_20 DEPT_30 DEPT_40

--------- ---------- ---------- ---------- ---------- --------- ---------- ---------- ---

CLERK 1 2 1

SALESMAN 4

PRESIDENT 1

MANAGER 1 1 1

ANALYST 2

select count(decode(deptno,10,sal)),count(decode(deptno,20,sal)),

count(decode(deptno,30,sal)),count(decode(deptno,40,sal))

from emp

group by job

select job,max(decode(deptno,10,cnt)) dept_10, max(decode(deptno,20,cnt)) deptno_20,

max(decode(deptno,30,cnt)) dept_30, max(decode(deptno,40,cnt)) deptno_40

from (select job,deptno,count(sal) cnt from emp

group by job,deptno)

group by job

7.有一个权限表XT_QXMX:(权限序号,权限名称)

QXXH QXMC

1 发文填写

2 发文审批

3 收文填写

4 收文审批

权限-人员对应表XT_QXRY,如果某人有某个权限,则在此表有条记录

(序号,权限序号,用户名称)

XH QXXH YHMC

1 2 张三

2 3 张三

(张三有两个权限,发文审批和收文填写)

写一个查询:列出张三有哪些权限,同时列出所有的权限.查询结果如下: QXXH QXMC 是否有此权限

1 发文填写false

2 发文审批true

3 收文填写true

4 收文审批false

select m.qxxh,m.qxmc,decode(r.yhmc,'张三','true','false')

from xt_qxmx m ,xt_qxry r

where m.qxxh = r.qxxh(+)

and r.yhmc(+) = '张三'

order by m.qxxh

select m.qxxh,m.qxmc,decode(r.yhmc,'张三','true','false')

from xt_qxmx m left outer join xt_qxry r

on m.qxxh = r.qxxh

and r.yhmc = '张三'

order by m.qxxh

8.数据如下:

日期事务所标章NO.(varchar2) 12/12 北京 1

12/12 北京 2

12/12 北京 3

12/13 河北51

12/13 河北52

12/13 河北53

12/13 河北60

12/13 河北70

输出结果如下: 只要日期和事务所一样,标章号连续就把记录合并

日期事务所标章NO.(varchar2) 12/12 北京1-3

12/13 河北51-53

12/13 河北60

12/13 河北70

select b.日期,b.事务所,min(b.标章号),max(b.标章号)

from (

select a.*,to_number(a.标章号)-rownum cc

from (

select * from t order by 日期,事务所,标章号

) a

) b

group by b.日期,b.事务所,https://www.doczj.com/doc/1618364683.html, 项目实战

管理员

id

name

login_name login_passowrd phone

email

enroll_date close_date

模块信息

id

name

user_flag

管理员权限表

adm_id (FK)

module_id (FK)

用户信息

id

name

login_name

login_password

status

phone

email

enroll_date

close_date

payment_style

career

nationality

gender

company

address

post_code

用户业务帐号信息

id

user_id (FK)

pricing_id (FK)

lab_login_name

lab_login_password

lab_ip

user_status

enroll_date

close_date

资费信息

pricing_id

pricing_name

base_fee

rate_fee

pricing_desc

项目实战

1. 根据以上说明画出E-R图并设计出表结构,并设计索引。

2. 用DDL语句实现表结构、索引,其中主键用sequence实现、

3. 完成数据编辑。

/*****************************************************

t_adm 管理员表(用于保存管理员信息)

******************************************************/

drop sequence t_adm_id;

create sequence t_adm_id start with 10 cache 100;

drop table t_adm cascade constraints;

create table t_adm(

id number primary key, -- 管理员编码name varchar2(32), -- 管理员姓名

login_name varchar2(10) unique not null, -- 登录名

login_password varchar2(32), -- 登录密码

phone varchar2(32), -- 联系电话

email varchar2(32), -- E-Mail

enroll_date date, -- 注册日期

close_date date -- (不用字段)

);

insert into t_adm values(0,'tarena','tarena','tarena','62132839','tarena@https://www.doczj.com/doc/1618364683.html,',sysdate,null); insert into t_adm values(t_adm_id.nextval,'xuehl','hiloo','abc123','12345678','xuehl@https://www.doczj.com/doc/1618364683.html,',sys date,null);

insert into t_adm values(t_adm_id.nextval,'mull','hello','s1d3a4','234567','hello@https://www.doczj.com/doc/1618364683.html,',sysdate,nul l);

insert into t_adm values(t_adm_id.nextval,'xurg','bear','asd321','3456789','bear@https://www.doczj.com/doc/1618364683.html,',sysdate,n ull);

insert into t_adm values(t_adm_id.nextval,'maci','cheese','er34ty','4567891','cheese@https://www.doczj.com/doc/1618364683.html,',sysd ate,null);

commit;

/*****************************************************

t_module 模块表(用于保存模块信息)

******************************************************/

drop table t_module cascade constraints;

create table t_module(

id number primary key, -- 模块编号

name varchar2(32), -- 模块名称

user_flag char -- 使用者标记:0——管理员;1——用户;

);

insert into t_module values(1, '管理员管理', 0);

insert into t_module values(2, '资费管理', 0);

insert into t_module values(3, '用户管理', 0);

insert into t_module values(4, '账务查询', 0);

insert into t_module values(5, '账单查询', 0);

insert into t_module values(6, '用户自服务', 1);

commit;

/*****************************************************

t_adm_rights 管理员权限表(用于保存管理员

对模块的访问权限)

******************************************************/

drop table t_adm_rights;

create table t_adm_rights(

adm_id number references t_adm(id), -- 管理员编码

module_id number references t_module(id), -- 模块编号

primary key(adm_id, module_id)

);

insert into t_adm_rights values (0,1);

insert into t_adm_rights values (0,2);

insert into t_adm_rights values (0,3);

insert into t_adm_rights values (0,4);

insert into t_adm_rights values (0,5);

insert into t_adm_rights values (10,2);

insert into t_adm_rights values (11,4);

insert into t_adm_rights values (12,3);

insert into t_adm_rights values (13,5);

commit;

/*****************************************************

t_pricing 资费表

******************************************************/

drop table t_pricing cascade constraints;

create table t_pricing(

pricing_id number primary key, -- 资费编码(pk)

pricing_name varchar2(32) not null unique, -- 资费名称

base_fee number(5,2), -- 月租费

base_duration number(3), -- 时长

rate_fee number(4,2), -- 费用

over_fee number(4,2), -- 超出部分费用

pricing_desc varchar2(200) -- 资费描述

);

insert into t_pricing values (1,'20hour',10,20,2.45,0.01,'2.45yuan per 20 hour, over 0.01 yuan per minute');

insert into t_pricing values (2,'40hour',10,40,4.95,0.01,'4.95yuan per 40 hour, over 0.01 yuan per minute');

insert into t_pricing values (3,'100hour',10,100,9.95,0.01,'9.95yuan per 100 hour, over 0.01 yuan per minute');

insert into t_pricing values (4,'200hour',10,200,19,0.01,'19 yuan per 200 hour, over

0.01 yuan per minute');

commit;

/************************************************************* t_users 用户表(用于保存用户账务帐号信息及个人信息)

**************************************************************/

drop sequence t_users_id;

create sequence t_users_id cache 100;

drop table t_users cascade constraints;

create table t_users (

id number(32) primary key, -- 主键编码

name varchar2(32) not null, -- 用户姓名

login_name varchar2(10) unique, -- 用户账务帐号

login_password varchar2(32) not null, -- 用户账务帐号密码

status number(2) not null, -- 账务帐号状态(0:开通;1:暂停;2:删除)

phone varchar2(32), -- 联系电话

email varchar2(32), -- email

enroll_date date, -- 开通日期

close_date date, -- 暂停日期

payment_style number(2), -- 付款方式(0:现金;1:银行转帐;2:邮局汇款;3:其他)

career varchar2(32), -- 职业

nationality varchar2(32), -- 国籍(系统中在本字段记录省份)

gender char, -- 性别(0:男;1:女;2:不详)

company varchar2(32), -- 公司名称

address varchar2(32), -- 地址

post_code varchar2(16) -- 邮编

);

create index users_phone_ind on t_users(phone);

create index user_enroll_date_ind on t_users(enroll_date);

create index user_career on t_users(career);

insert into t_users values (t_users_id.nextval,'zhangsan','peach','qwe134',0,'12347835','zhangs@https://www.doczj.com/doc/1618364683.html,',sy sdate,null,0,'student','bj',0,'xj university','yan an road',830000);

insert into t_users values (t_users_id.nextval,'lisi','deer','sdg254',0,'12297872','lisi@https://www.doczj.com/doc/1618364683.html,',sysdate,null,2,'it', 'bj',1,'abc company','abc street',100000);

insert into t_users values (t_users_id.nextval,'wangwu','brown','cfg853',0,'65397811','wangwu@https://www.doczj.com/doc/1618364683.html,',sysda te,null,0,'finance','sh',0,'cbc','ccc street',200000);

commit;

/****************************************************************** t_users_services 用户业务帐号表(用于保存用户业务帐号信息)

*******************************************************************/ drop sequence services_id;

create sequence services_id cache 100;

drop table t_user_services;

create table t_user_services (

id number(32) primary key, -- 主键编码

user_id number(32) references t_users(id), -- 用户表主键编码lab_login_name varchar2(10), -- 用户业务帐号lab_login_password varchar2(32), -- 用户业务帐号密码

lab_ip varchar2(32) not null, -- 服务器编码

user_status number(2), -- 业务帐号状态(0:正常;1:暂停;2:删除)

pricing_id number references t_pricing(pricing_id), -- 资费编码enroll_date date, -- 开通日期

close_date date, -- 暂停日期

unique(lab_login_name,lab_ip)

);

create index services_user_id_ind on t_user_services(user_id);

create index services_pricing_id on t_user_services(pricing_id);

create index services_enroll_date on t_user_services(enroll_date);

insert into t_user_services values (services_id.nextval,1,'s090901','w34er1','192.168.0.26',0,4,sysdate,null);

insert into t_user_services values (services_id.nextval,1,'s090901','w34er1','192.168.0.23',0,1,sysdate,null);

insert into t_user_services values (services_id.nextval,2,'c090612','dhe376','192.168.0.26',0,3,sysdate,null);

insert into t_user_services values (services_id.nextval,3,'w091021','s8ekf1','192.168.0.23',0,2,sysdate,null);

commit;

4.每个管理员有哪些权限?

select https://www.doczj.com/doc/1618364683.html,,https://www.doczj.com/doc/1618364683.html,

from t_adm a,t_module m,t_adm_rights r

where a.id = r.adm_id

and m.id = r.module_id

order by https://www.doczj.com/doc/1618364683.html,

select https://www.doczj.com/doc/1618364683.html,,https://www.doczj.com/doc/1618364683.html,

sql数据库基础面试题复习试题考试题_全

不定项选择题(针对以下题目,请选择最符合题目要求的答案,每道题有一项或二项正确答案。针对每一道题目,所有答案都选对,则该题得分,所选答案错误或不能选出所有答案,则该题不得分。题量为50道,每题2分,总分为100分。) 第一章 1、是SQLServer数据库的主数据文件的扩展名。(选择一项) A、.sql B、.mdb C、.ldf D、.mdf 2、在SQL Server 2005中,有系统数据库和用户数据库,下列不属于系统数据库的是()。 (选择一项) A、master B、pubs C、model D、msdb 3、当安装完SQL Server2005数据库时,系统默认当前的超级管理员是( ) (选择一项) A、sa B、master C、administrator D、super 4、在使用SQL Server2005数据库时,有时需要将本机的数据库移动到其他机器上,恢复成对应的数据库使用。移动数据库分两步进行,应包括()和附加数据库(选择一项)A、分离数据库 B、删除数据库 C、新建数据库 D、合并数据库 5、在SQL Server2005中,附加数据库操作是指()(选择一项) A、把SQL Server 数据库文件保存为其他数据文件 B、根据数据库物理文件中的信息,把数据库在SQL Server 2005中恢复 C、把所有该数据库表的数据清空 D、把数据库删除掉 6、某单位由不同的部门组成,不同的部门每天都会生产一些报告、报表等数据,以为都采用纸张的形式来进行数据的保存和分类,随着业务的发展,这些数据越来越多,管理这些报告越来越费力,此时应考虑()(选择一项) A、由多个人来完成这些工作 B、在不同的部门中,由专门的人员去管理这些数据 C、采用数据库系统来管理这些数据 D、把这些数据统一成一样的格式 7、在SQL Server 2005中,对于数据库的定义正确的是()(选择一项) A、数据库是用来描述事物的符号记录 B、数据库是位于用户与操作系统之间的一层数据管理软件

(完整版)数据库原理及应用-期末考试试题

数据库原理及应用期末考试试题 1. 组织层数据模型的三要素是[ ]。 A.外模式,概念模式和内模式 B.关系模型,网络模型,层次模型 C.1:1的联系,1:n的联系,n:m的联系 D.数据结构,数据操作,数据约束条件 2在关系模型中,任何关系必须满足约束条件包括实体完整性、[ ]和用户自定义完整性。 A.动态完整性 B.数据完整性 C.参照完整性 D.结构完整性 3 SQL Server 中的角色是[ ]。 A. 一个服务器登录 B. 一个数据库用户 C. 一组权限的集合 D. 一个服务器用户 4.当数据的物理存储结构改变时,应用程序无需改变,这样的特性称为数据的[ ]。 A.逻辑独立性 B.物理独立性 C.程序无关性 D.物理无关性 5.下列哪个不是以处理大量数据为中心的应用程序的特点[ ]。 A.涉及的数据量大 B.数据需长期联机保存 C.数据的计算复杂 D.数据可被多个应用所共享 6.E-R图适用于建立数据库的[ ]。 A.概念模型 B.结构模型 C.逻辑模型 D.物理模型 7. 在关系数据库设计中,设计关系模型属于[ ]。 A.需求分析 B.物理结构设计 C.逻辑结构设计 D.概念结构设计 8.[ ]记录了对数据库中数据进行的每一次更新操作。 A.后援副本 B.日志文件 C.数据库 D.缓冲区 9. [ ]是用户定义的一组数据库操作序列,是一个基本的不可分割的工作单元。 A.程序 B.进程 C.事务 D.文件 10.信息世界中,实体是指[ ]。 A.客观存在的事物 B. 客观存在的属性 C. 客观存在的特性 D. 某一具体事件 11. 数据库系统中, DBA表示[ ] 。 A.应用程序设计者 B. 数据库使用者

数据库模拟试卷一

一、单项选择题(每小题1分,共20分) 1.DBS是采用了数据库技术的计算机系统。DBS是一个集合体,包含数据库、计算机硬件、软件和 C 。 A.系统分析员 B.程序员 C.数据库管理员 D.操作员 2.模型是对现实世界的抽象,在数据库技术中,用模型的概念描述数据库的结构与语义,对现实世界进行抽象。表示实体类型及实体间联系的模型称为 A 。 A.数据模型 B.实体模型 C.逻辑模型 D.物理模型 3.关系模型概念中,不含有多余属性的超键称为 A 。 A.候选键 B.对键 C.内键 D.主键 4.在SQL语言的SELECT语句中,能实现投影操作的是 A 。 A.SELECT B.FROM C.WHERE D.GROUP BY 5.下面列出的关于视图的条目中,不正确的是C 。 A.视图是外模式B.视图是虚表 C.使用视图可以加快查询语句的执行速度D.使用视图可以简化查询语句的编写6.数据库系统中,类是指具有相同的消息,使用相同的方法,具有相同的变量名和 D 。 A. 变量值 B. 特征 C. 定义 D. 类型 7.随着计算机应用领域的扩大,第一代、第二代DBS不能适应处理大量的 C 。 A.格式化数据 B.网络数据 C.非格式数据 D.海量数据 8.在关系数据库中,表(table)是三级模式结构中的___B___。 A) 外模式B) 模式C) 存储模式D) 内模式 9.数据库并发控制概念中,使用X封锁的规则称为___B___。 A.PS协议 B.PX协议 C.PSC协议 D.两段封锁协议 10.在数据库操作过程中事务处理是一个操作序列,必须具有以下性质:原子性、一致性、隔离性和___C___。 A.共享性 B.继承性 C.持久性 D.封装性 11.面向对象模型概念中,类可以有嵌套结构。系统中所有的类组成一个有根的___A___。 A.有向无环图 B.有向有环图 C.无向有环图 D.无向无环图 12.在教学管理系统中,有教师关系T(T#,NAME),学生关系S(S#,NAME),学生成绩关系S(S#,NU)。其中T#表示教师工号,S#表示学生学号,则T和N存在联系为___C___。 A. 1:1 B. 1:N C. M:N D. 无联系 13.一个数据库一般不是由独立的对象组成的,对象的聚集形式的数学意义是___A___。 A. 笛卡尔积 B. 选择 C. 投影 D. 联接 14.对象标识是指针一级的概念是一个强有力的数据操纵原语言,是集合、元组和递归等复合对象操纵的基础,标识是___D___。 A.任意的 B. 可以改变的 C.不唯一的 D.不能改变的 15.数据库系统中除了可用层次模型和关系模型表示实体类型及实体间联系的数据模型以外,还有___C___。 A. E-R 模型 B. 信息模型 C.网状模型 D.物理模型 16、在下面所列出的条目中,哪些是数据库管理系统的基本功能__D_。 Ⅰ.数据库定义Ⅱ.数据库的建立和维护Ⅲ.数据库存取 Ⅳ.数据库和网络中其他软件系统的通信 A) Ⅰ和ⅡB) Ⅰ、Ⅱ和ⅢC) Ⅱ和ⅢD) 都是 17、设属性A是关系R的主属性,则属性A不能取空值(NULL)。这是__A__。 A) 实体完整性规则B) 参照完整性规则 C) 用户定义完整性规则D) 域完整性规则 18、设关系R和关系S具有相同的元数,且对应的属性取自相同的域。集合{t/t∈R∧t∈S}标记的是_D__。 A) R∪S B) R-S C) R×S D) R∩S 19、设关系R和关系S的元数分别是3和4,关系T是R与S的广义笛卡尔积,即:T=R×S,则关系T 的元数是__A_。

数据库模拟试题2(含答案)

模拟试题2 一.单项选择题(本大题共15小题,每小题2分,共30分) 1.对现实世界进行第二层抽象的模型是[ ] A.概念数据模型B.用户数据模型 C.结构数据模型D.物理数据模型 2.数据库在磁盘上的基本组织形式是[ ] A.DB B.文件 C.二维表 D.系统目录 3.在关系模型中,起导航数据作用的是[ ] A.指针 B.关键码 C.DD D.索引 4.查询优化策略中,正确的策略是[ ] A.尽可能早地执行笛卡尔积操作B.尽可能早地执行并操作 C.尽可能早地执行差操作D.尽可能早地执行选择操作 5.SQL中,“DELETE FROM 表名”表示[ ] A.从基本表中删除所有元组B.从基本表中删除所有属性 C.从数据库中撤消这个基本表D.从基本表中删除重复元组 6.设关系模式R(A,B,C),F是R上成立的FD集,F={A→B,C→B},ρ={AB,AC}是R的一个分解,那么分解ρ[ ] A.保持函数依赖集F B.丢失了A→B C.丢失了C→B D.丢失了B→C 7.在关系模式R分解成数据库模式ρ时,谈论无损联接的先决条件是[ ] A.数据库模式ρ中的关系模式之间有公共属性B.保持FD集 C.关系模式R中不存在局部依赖和传递依赖D.存在泛关系8.在关系数据库设计中,子模式设计是在__________阶段进行。[ ] A.物理设计 B.逻辑设计 C.概念设计 D.程序设计 9.如果有9个不同的实体集,它们之间存在着12个不同的二元联系(二元联系是指两个实体集之间的联系),其中4个1:1联系,4个1:N联系,4个M:N 联系,那么根据ER模型转换成关系模型的规则,这个ER结构转换成的关系模式个数为[ ] A.9个 B.13个 C.17个 D.21个 10.在DB技术,未提交的随后被撤消了的数据,称为[ ] A.报废的数据 B.过时的数据 C.撤消的数据 D.脏数据11.SQL中的“断言”机制属于DBS的[ ] A.完整性措施 B.安全性措施 C.物理安全措施 D.恢复措施12. ORDB中,同类元素的无序集合,并且允许一个成员可多次出现,称为[ ] A.结构类型 B.集合类型 C.数组类型 D.多集类型 13.在OODB中,包含其他对象的对象,称为[ ] A.强对象 B.超对象 C.复合对象 D.持久对象 14.在DDBS中,数据传输量是衡量查询时间的一个主要指标,导致数据传输量大的主要原因是[ ] A.场地间距离过大B.数据库的数据量大 C.不同场地间的联接操作D.在CPU上处理通信的代价高

数据库期末考试模拟试题及答案(一)

四、程序设计题(本大题共2小题,每小题15分,共30分) 1.对于教学数据库的三个基本表 学生student (sno,sname,sex,sage,sdept) 学习sc(sno,cno,grade) 课程course(cno,cname,cpno,ccredit) 试用SQL语句表示:下列语句。 (1)"查询全男同学信息情况" "select * from student where sex='男'" (2)"查询选修了1号课的学生的学号和成绩" "select sno,grade from sc where cno='1'" (3)"查询所有选修过课的学生的姓名,课程名及成绩" "select sname,cname,grade from student,sc,course where student.sno=sc.sno and https://www.doczj.com/doc/1618364683.html,o=https://www.doczj.com/doc/1618364683.html,o" (4)"查询选修了数据库原理课的最高成绩" "select max(grade) as '最高成绩' from student,sc,course where student.sno=sc.sno and https://www.doczj.com/doc/1618364683.html,o=https://www.doczj.com/doc/1618364683.html,o and cname='数据库原理'" (5)查询所有选修了1号课程的同学的姓名" " select sname from student where student.sno in (select sc.sno from sc where cno='1')" 2.设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式(20分)供应商表S(SNO,SNAME,STATUS,CITY); 零件表P(PNO,PNAME,COLOR,WEIGHT); 工程项目表J(JNO,JNAME,CITY); 供应情况表SPJ(SNO,PNO,JNO,QTY);SPJ表 J表 S表 P表 请用关系代数完成如下查询: 1.求供应工程J1零件的供应商号 SNO 2.求供应工程J1零件P1的供应商号吗SNO 3.求供应工程J1零件为红色的供应商号码SNO 4.求没有使用天津供应商生产的红色零件的工程号JNO 5.求至少用了供应商S1所供应的全部零件的工程号JNO 1.∏sno(σJNO=‘J1’(SPJ)) 2.∏sno(σJNO=‘J1’ΛPNO=’P1’(SPJ)) 3.∏sno(σJNO=‘J1’(SPJ)∞σcolor=‘红’(P)) 4.∏jno(SPJ)-∏jno(∏sno(σcity=‘天津’(S))∞∏sno,jno (SPJ)∞∏jno σcolor=‘红’(P)) 5.∏jno, pno(SPJ)÷∏pno(σsno=‘s1’(SPJ)) 五、分析题(本大题共2小题,每小题15分本大题共30分) 1. 学生运动会模型: (1)有若干班级,每个班级包括: 班级号,班级名,专业,人数 (2)每个班级有若干运动员,运动员只能属于一个班,包括:运动员号,姓名,性别,年龄

吉首大学数据库期末模拟考试试题(AB卷)

数据库期末模拟考试试题 吉首大学 数据库原理试题(A卷) 一、填空题(每空1 分,共20 分) 1. 对于一个国家来说,数据库的建设规模、数据库信息量的_____________ 和_____________ 已成为这个国家信息化程度的________________ 。 2. 数据模型通常由:________________ 、________________ 和_____________ 三部分组成。 3. 游标的功能是把________________ 转换为________________ 。 4. 最常用的数据库的恢复技术是_____________ 和_____________。 5. _____________ 模型是现实世界到_____________ 机器模型的中间桥梁。 6. 数据独立性是指_____________ 和_____________ 独立性。 7. 数据库应用程序开发工具目前有________________ 、_________________ 、________________ 、和________________ 等。 8. 目前数据库产品有SQL Server 和________________ 、________________ 等。 二、选择题(每小题1 分,共10 分) 1. 关于冗余数据的叙述中,不正确的是( ) 。 A .冗余的存在容易破坏数据库的完整性 B .冗余的存在给数据库的维护增加困难 C .不应该在数据库中存储任何冗余数据 D .冗余数据是指可由基本数据导出的数据 2. 概念模型独立于( ) 。 A .ER 模型 B .硬件设备 C .DBMS D .操作系统 3. 下列叙述正确的为()。 A. 主码是一个属性,它能唯一表识一列 B. 主码是一个属性,它能唯一表识一行 C. 主码是一个属性或属性集,它能唯一表识一列 D. 主码是一个属性或属性集,它能唯一表识一行 4. 数据库三级模式体系结构的划分,有利于保持数据库的( ) 。 A .数据独立性 B .数据安全性 C .结构规范化 D .操作可行性 5. 一个关系中的候选关键字()。 A .至多一个 B .可多个 C .必须多个 D .至少3 个 6. 常用的关系运算是关系代数和()。 A .集合代数 B .逻辑演算 C .关系演算 D .集合演算 7. 在基本层次联系中,记录型之间的联系是()。 A .一对一联系 B .一对多联系 C .多对多联系 D .多对一联系 8. 并发操作会带来哪些数据不一致性()。 A .不可修改、不可重复读、脏读、死锁 B .不可重复读、脏读、死锁 C .丢失修改、脏读、死锁 D .丢失修改、不可重复读、脏读 9. 在数据库与宿主语言之间传递信息是通过()。 A. 全局变量 B. 共性变量 C. 公共数据区 D. 系统缓冲区 10. 数据库的()是指数据的正确性和相容性。 A. 安全性 B. 完整性 C. 并发控制 D. 恢复

数据库原理模拟试卷五答案

一、单项选择题(本大题共15小题,每小题1分,共15分) 1. 在数据库系统中,数据独立性是指( C ) A.用户与计算机系统的独立性 B.数据库与计算机的独立性 C.数据与应用程序的独立性 D.用户与数据库的独立性 2. 文件系统与数据库系统相比较,其缺陷主要表现在数据联系弱、数据冗余和( C ) A. 数据存储量低 B.处理速度慢 C.数据不一致 D.操作烦琐 3.设计数据库概念结构时,常用的数据抽象方法是聚集和( D ) A.分类 B.继承 C.分析 D.概括 4. 在下列的数据库模式中,独立于计算机系统的模式是( A ) A.概念模式 B.逻辑模式 C.内模式 D.外模式 5. 在SQL中使用CREATE ASSERTION 的作用是建立( C ) A.数据库 B.基本表 C.完整性规则 D.视图 6. 客户/服务器体系结构的关键在于( D ) A.资源共享 B.数据的分布 C.逻辑上的统一 D.功能的分布 7. 在关系模式R(U,F)中,如果X→Y,如果不存在X的真子集X1,使X1→Y,称函数依赖X→Y为( C ) A.平凡函数依赖 B. 部分函数依赖 C.完全函数依赖 D.传递函数依赖 8. 要使数据库具有可恢复性,最基本的原则是( D ) A.加强机房安全管理 B.安装防病毒设施 C.经常检修计算机系统 D.数据重复存储 9.在关系模式R(U,F)中,F是最小函数依赖集,属性T只在F中诸函数依赖“→”的左端出现,则属性T具有以下性质( C ) A.属性T仅是R的主属性,但不包含于侯选键中 B.属性T必是R的非主属性 C.属性T必是组成R候选键的主属性 D.属性T可能是R的主属性,也可能是R的非主属性 解释:函数依赖是语义范畴的概念,本题可以直接从语义上理解:(1)如果t 不包含在任一侯选键中,它至少依赖于候选键,所以它肯定会在F中“→”的右端出现;(2)包含在任何一个候选键中的属性称为主属性。 10. 对关系R进行投影运算后,得到关系S,则( C ) A.关系R的元组数等于关系S的元组数

数据库期末考试试题及答案

一、选择题(每题1分,共20分) 1.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。在这几个阶段中,数据独立性最高的是( A )阶段。 A. 数据库系统 B. 文件系统 C. 人工管理 D.数据项管理 2.数据库三级视图,反映了三种不同角度看待数据库的观点,用户眼中的数据库称为(D)。 A. 存储视图 B. 概念视图 C. 内部视图 D. 外部视图 3.数据库的概念模型独立于(A)。 A.具体的机器和DBMS B. E-R图 C. 信息世界 D. 现实世界 4.数据库中,数据的物理独立性是指(C)。 A. 数据库与数据库管理系统的相互独立 B. 用户程序与DBMS的相互独立 C. 用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的 D. 应用程序与数据库中数据的逻辑结构相互独立 5.关系模式的任何属性(A)。 A. 不可再分 B. 可再分 C. 命名在该关系模式中可以不惟一 D.以上都不是 6.下面的两个关系中,职工号和设备号分别为职工关系和设备关系的关键字: 职工(职工号,职工名,部门号,职务,工资) 设备(设备号,职工号,设备名,数量) 两个关系的属性中,存在一个外关键字为( C )。 A. 职工关系的“职工号” B. 职工关系的“设备号” C. 设备关系的“职工号” D. 设备关系的“设备号” 7.以下四个叙述中,哪一个不是对关系模式进行规X化的主要目的( C )。 A. 减少数据冗余 B. 解决更新异常问题 C. 加快查询速度 D. 提高存储空间效率 8.关系模式中各级X式之间的关系为( A )。 A. B. C. D. 9.保护数据库,防止未经授权或不合法的使用造成的数据泄漏、非法更改或破坏。这是指数据的( A )。 A. 安全性 B.完整性 C.并发控制 D.恢复 10.事务的原子性是指( B )。 A. 事务一旦提交,对数据库的改变是永久的 B. 事务中包括的所有操作要么都做,要么都不做 C. 一个事务内部的操作及使用的数据对并发的其他事务是隔离的 D. 事务必须使数据库从一个一致性状态变到另一个一致性状态 11.下列哪些运算是关系代数的基本运算( D )。 A. 交、并、差 B. 投影、选取、除、联结 C. 联结、自然联结、笛卡尔乘积 D. 投影、选取、笛卡尔乘积、差运算

数据库期末试题 附答案

《数据库原理》课程考试模拟题四 一、单项选择题(在每小题的四个备选答案中选出一个正确答案。本题共16分,每小题1分) 1. 在数据库中,下列说法()是不正确的。 A.数据库中没有数据冗余 B.数据库具有较高的数据独立性 C.数据库能为各种用户共享 D.数据库加强了数据保护 2. 按照传统的数据模型分类,数据库系统可以分为( )三种类型。 A.大型、中型和小型 B.西文、中文和兼容 C.层次、网状和关系 D.数据、图形和多媒体 3. 在数据库的三级模式结构中,( )是用户与数据库系统的接口,是用户用到的那部分数据的描述。 A.外模式 B.内模式 C.存储模式D.模式 4. 下面选项中不是关系的基本特征的是( )。 A. 不同的列应有不同的数据类型 B. 不同的列应有不同的列名 C. 没有行序和列序 D. 没有重复元组 5. SQL语言具有两种使用方式,分别称为交互式SQL和( )。 A.提示式SQL B.多用户SQL C.嵌入式SQL D.解释式SQL 6. 设关系模式R(ABCD),F是R上成立的FD集,F={A→B,B→C},则(BD)+为( )。 A.BCD B.BC C.ABC D.C 7. E-R图是数据库设计的工具之一,它适用于建立数据库的( )。 A.概念模型 B.逻辑模型 C.结构模型 D.物理模型 8. 若关系模式R(ABCD)已属于3NF,下列说法中( )是正确的。 A.它一定消除了插入和删除异常 B.仍存在一定的插入和删除异常C.一定属于BCNF D.A和C都是 9. 解决并发操作带来的数据不一致性普遍采用( )。 A.封锁技术 B.恢复技术 C.存取控制技术 D.协商 10. 数据库管理系统通常提供授权功能来控制不同用户访问数据的权限,这主要是为了实现数据库的( )。 A.可靠性 B.一致性 C.完整性 D.安全

数据库技术模拟试题答案.docx

一、单项选择题(本大题共20 小题,每小题 1 分,共 20 分) 1.位于用户和数据库之间的一层数据管理软件是( C ) A.DBS B.DB C.DBMS D.MIS 2. 一个事务中所有对数据库操作是一个不可分割的操作序列,这称为事务的( A ) A. 原子性 B.一致性 C.隔离性 D.持久性 3. 关系代数的五个基本操作是:并、差、选择、投影和( D ) A. 等值连接 B.F 连接 C.自然连接 D.笛卡儿积 4.在关系数据库中,表与表之间的联系是通过( B ) 实现的。 A. 实体完整性规则 B.参照完整性规则 C.用户自定义的完整性规则 D.主键 5.数据字典产生于数据库设计步骤的( A ) A. 需求分析阶段 B.概念设计阶段 C.逻辑设计阶段 D.物理设计阶段 6. 在数据库技术中,未提交的随后又被撤消的数据称为( D ) A. 错误数据 B.冗余数据 C.过期数据 D.脏数据 7. 在 SQL 中,建立视图用的命令是( C ) A.CREATE SCHEMA B.CREATE TABLE C.CREATE VIEW D.CREATE INDEX 8. 分布式数据库系统的透明性主要表现在位置透明性和( C ) A. 数据透明性 B.处理透明性 C.复制透明性 D.映射透明性 9. 在数据库的E-R 图中,菱形框表达的是( C ) A. 属性 B. 实体 C.实体之间的联系 D.实体与属性之间的联系 10. 设关系 R 和 S 的结构相同,并且各有80 个元组,假如这两个关系作并运算,其运算结果的元组个

A .80 B. 小于等于 80 C.大于等于 160 D. 大于等于 80,小于等于160 11.以下操作中,不能用 DML 实现的是 ( B ) A. 数据查询 B.定义数据库的三级结构 C.数据插入 D.数据删除 12. 如果关系 R 和 S 进行自然连接时,只把 S 中原该舍弃的元组保存到新关系中,这种操作称为( D ) A. 外连接 B.内联接 C.左连接 D.右外连接 13. 把 E-R 图转换成关系模型的过程,属于数据库设计的( C ) A. 总体结构设计 B.概念结构设计 C.物理结构设计 D.逻辑结构设计 14. ORDBS 的中文意思是( C ) A. 面向对象的数据库系统 B.数据库管理系统 C.对象关系数据库系统 D.关系数据库系统 15. 在较低层上的抽象表达了与之联系的较高层上抽象的特殊情况时,称为较高层上抽象是较低层抽象的 (D) A. 概括 B. 聚集 C.细化 D. 泛化 16. 在 SQL 中, SELECT 语句的 "SELECT DISTINCT"表示查询结果中( C ) A. 属性名都不相同 B.去掉了重复的列 C.行都不相同 D.属性值都不相同 17. 在采用客户机 /服务器体系结构的数据库应用系统中,应该将用户应用程序安装在( A ) A. 客户机端 B.服务器端 C.终端 D.系统端 18.事务日志用于保存 ( D ) A. 程序运行过程 B.数据操作 C.程序的执行结果 D.对数据的更新操作 19. 在第一个事务以S 锁方式读数据 A 时,第二个事务可以进行的操作是( D ) A. 对数据实行X 锁并读数据 B. 对数据实行S 锁并写数据 C.对数据实行X 锁并写数据 D. 不加封锁的读数据

数据库原理模拟试卷一(答案)

一、单项选择题(本大题共20小题,每小题1分,共20分) 1. 提供数据库数据描述的集中管理的是( D ) A.数据库模式 B.数据库 C.数据库管理系统 D.数据字典 2. 授权和完整性管理器属于DBMS的( B ) A.查询处理器 B.存储管理器 C.事务管理器 D.用户管理器 3. 使用CREATE SCHEMA 语句建立的是( A ) A.数据库模式 B.表 C.视图 D.索引 4. 设关系R和S的结构相同,并且各有80个元组,假如这两个关系作交运算,其运算结果的元组个数为( B ) A.80 B.小于等于80 C.大于等于160 D.大于等于80,小于等于160 5. 在SQL的授权语句中使用“ALL PRIVILEGES”,表示( B ) A.授权所有用户 B.所有的操作权限 C.对所有的数据集合 D.允许再授权 6. 表达业务流程分析结果的图表是( B ) A.业务流程图 B.数据流图 C.局部E-R图D、基本E-R图 7. 对数据库模式进行规范化处理,是在数据库设计的( C ) A.需求分析阶段 B.概念设计阶段 C.逻辑设计阶段 D.物理设计阶段 8. 能够消除冗余的键的范式是( C ) A.2NF B.3NF C.4NF D. BCNF 9. 在下列几种故障中,不破坏数据库内容的是( B ) A.计算机病毒发作 B.供电系统故障 C.瞬时的强磁场干扰 D.磁盘介质损坏 10. 在数据库技术中,独立于计算机系统的模型是( A ) A.E-R模型 B.层次模型 C.关系模型 D.面向对象的模型 11. 五种基本关系代数运算是( A ) A.∪,-,×,π和σ B.∪,-,∞,π和σ C.∪,∩,×,π和σ D.∪,∩,∞,π和σ 12. SQL中,下列涉及空值的操作,不正确的是( C ) A.AGE IS NULL B.AGE IS NOT NULL C.AGE = NULL D.NOT (AGE IS NULL) 13. 单个用户使用的数据视图的描述称为( A ) A.外模式 B.概念模式

数据库原理期末模拟试题大全及部分答案

数据库原理模拟试卷(1) 一、项选择题(在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的 字母填在题后的括号内。每小题1分,共15分) 1.数据库系统的体系结构是(C ) A、两级模式结构和一级映象 B、三级模式结构和一级映象 C、三级模式结构和两级映象 D、三级模式结构和三级映象 2.SQL语言称为(C )。 A、结构化定义语言 B、结构化控制语言 C、结构化查询语言 D、结构人操纵语言 3.在视图上不能完成的操作是(D)。 A、在视图上定义新的视图 B、查询操作 C、更新视图 D、在视图上定义新的基本表 4.数据库的并发操作有可能带来的三个问题中包括(D)。 A、数据独立性降低 B、无法读出数据 C、权限控制 D、丢失更新 5.当前应用最广泛的数据模型是(B)。 A、ER模型 B、关系模型 C、网状模型 D、层次模型 6.现有一个关系:借阅(书号、书名,库存数,读者号,借期,还期),假如同一本书允许一个读者多次借阅,但不能同时对一种书借多本。则该关系模式的码是(D )。 A、书号 B、读者号 C、书号+读者号 D、书号+读者号+借期 7.要保证数据库物理数据独立性,需要修改的是( B ) A.模式 B.模式与内模式的映射 C.模式与外模式的映射 D.内模式 8.下列四项中,不属于数据库特点的是( D ) A.数据共享 B.数据完整性 C.数据冗余较小 D.数据独立性低 9.数据库中存储的是( D ) A.数据 B.数据模型 C.数据之间的联系 D.数据以及数据之间的联系 10.反映现实世界中实体及实体间联系的信息模型是( D ) A.关系模型 B.层次模型 C.网状模型 D.E—R模型 11. 五种基本关系代数运算是( a) A. ∪,-,×,π和σ B. ∪,-,∞,π和σ C. ∪,∩,×,π和σ D. ∪,∩,∞,π和σ

数据库经典笔试题总结

数据库经典笔试题总结.txt和英俊的男人握握手,和深刻的男人谈谈心,和成功的男人多交流,和普通的男人过日子。数据库经典笔试题总结 面试穿什么着装合适,这里找答案! 1,范式 7大范式:1NF, 2NF,3NF,BCNF,4NF,5NF,6NF 什么叫normalization?Denormalization? Normalization是数据库规范化,denormalization是数据库逆规范化。 在设计和操作维护数据库时,关键的步骤就是要确保数据正确地分布到数据库的表中。使用正确的数据结构,不仅便于对数据库进行相应的存取操作,而且可以极大地简化应用程序的其他内容(查询、窗体、报表、代码等)。正确进行表设计的正式名称就是"数据库规范化"。目的:减少数据库中数据冗余,增进数据的一致性。 范式概念: 1)1NF:目标就是表中每列都不可分割; 2)2NF:目标就是表中的每行都是有标识的。前提是满足了1NF. 当关键字为单field时,一定满足2NF。当关键字为组合field时(即超过一个field),不能存在组合关键字中有某个字段能够决定非关键字段的某部分。非主field非部分依赖于主field,即非关键字段必须完全依赖于一组组合关键字,而不是组合关键字的某一部分。 3)3NF:目标是一个table里面所有的列不依赖于另外一个table里面非关键的列。前提是满足了2NF,不存在某个非关键字段决定另外一个非关键字段。即:不存在传递依赖(关键字x->非关键属性y->非关键属性z) 4)BCNF:前提是满足了2NF,不存在某个非关键字段决定另外一个非关键字段。也不存在某个关键字段决定另外一个关键字段。即:在3NF基础上,加上约束:不存在某个关键字段决定另外一个关键字段。 1 第一范式(1NF) 在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库。所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。如果出现重复的属性,就可能需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间为一对多关系。在第一范式(1NF)中表的每一行只包含一个实例的信息。例如,对于图3-2 中的员工信息表,不能将员工信息都放在一列中显示,也不能将其中的两列或多列在一列中显示;员工信息表的每一行只表示一个员工的信息,一个员工的信息在表中只出现一次。简而言之,第一范式就是无重复的列。 2 第二范式(2NF) 第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。第二范式(2NF)要求数据库表中的每个实例或行必须可以被惟一地区分。为实现区分通常需要为表加上一个列,以存储各个实例的惟一标识。如图3-2 员工信息

数据库模拟试题1(含答案)汇编

模拟试题1 一. 单项选择题(本大题共15小题,每小题2分,共30分) 1.在文件系统中,所具有的数据独立性是 [ ] A .系统独立性 B .物理独立性 C .逻辑独立性 D .设备独立性 2.数据库系统中存放三级结构定义的DB 称为 [ ] A .DBS B .DD C .DDL D .DBMS 3.设有关系R(A,B,C)和关系S(B,C,D),那么与R ?S 等价的关系代数表达式[] A .σ1=5(R ?S ) B .σ1=5(R ×S ) C .σ1=2(R ?S ) D .σ1=2(R ×S ) 4.与域表达式 { ab | ( c) (R(ac) ∧ R(cb))} 等价的关系代数表达式是 [ ] A .π 1,4(σ2=3(R ×R )) B .π1,3(R ?R ) C .π1,4(R ?R ) D .π 1,3(R ?S ) 5.设有两个关系R (A ,B )和S (B ,C ),与下列SELECT 语句 SELECT A ,B FROM R WHERE B NOT IN (SELECT B FROM S WHERE C='C56'); 等价的关系代数表达式是 [ ] A .πA ,B (σC ≠'C56'(R ?S )) B .πA ,B (R ? S ) C .R -πA ,B (σC= 'C56'(R ?S )) D .R -πA ,B (σC ≠'C56'(R ?S )) 6.嵌入式SQL 的预处理方式,是指 [ ] A .识别出SQL 语句,加上前缀标识和结束标志 B .把嵌入的SQL 语句处理成函数调用形式 C .对源程序进行格式化处理 D .把嵌入的SQL 语句编译成目标程序 7.设关系模式R (A ,B ,C ,D ),F 是R 上成立的FD 集,F={ B →D ,AD →C }, 那么 ρ={ ABC ,BCD }相对于F [ ] A .是无损联接分解,也是保持FD 的分解 B .是无损联接分解,但不保持FD 的分解 C .不是无损联接分解,但保持F D 的分解 D .既不是无损联接分解,也不保持FD 的分解 8.设有关系模式R (A ,B ,C ,D ),F 是R 上成立的FD 集,F={A→B ,C→D }, 则F +中左部为(BC )的函数依赖有 [ ] C ≠'C56' 2=1 2=3

数据库考试题目试卷 附答案

第一章复习题 一、单项选择题 1.在数据库系统中,当数据库的内模式发生改变时,应用程序也可以不变。这是( A )A)物理数据独立性 B)逻辑数据独立性 C)位置数据独立性 D)存储数据独立性 2.在下面列出的数据模型中,哪一个是概念数据模型( D ) A)关系模型 B) 层次模型 C) 网状模型 D) 实体-联系模型 3.下面列出的数据管理技术发展阶段中,哪个(些)阶段数据不能保存在计算机中? ( A ) Ⅰ.人工管理阶段 Ⅱ.文件系统阶段 Ⅲ.数据库阶段 A)只有Ⅰ B) 只有Ⅱ C) Ⅰ和Ⅱ D) Ⅱ和Ⅲ 4.用二维表结构表示实体以及实体间联系的数据模型称为( C ) A)网状模型 B) 层次模型 C) 关系模型 D) 实体-联系模型 5.下面列出的条目中,哪些是数据库技术的主要特点( A ) Ⅰ.数据共享度高 Ⅱ.数据的冗余小 Ⅲ.较高的数据独立性 Ⅳ.程序的标准化 A)Ⅰ、Ⅱ和Ⅲ B) Ⅰ和Ⅱ C) Ⅰ、Ⅱ和Ⅳ D) 都是 6.数据库管理系统DBMS中用来定义逻辑模式、内模式和外模式的语言是( C ) A)DML B)C C)DDL D)Basic 7.层次模型的典型代表是( A )数据库管理系统。 A)IMS B)IBM C)DBTG D)ATM 8.负责数据库系统的正常运行,承担创建、监控和维护数据库结构责任的是( C ) A)应用程序员 B)终端用户 C)数据库管理员 D)数据库管理系统的软件设计员 9.在以下各条叙述中,正确的叙述有几条( B ) 1)数据库避免了一切数据重复 2)数据库减少了数据冗余 3)数据库中,如果逻辑模式改变,则需将与其有关的外模式做相应改变, 否则应用程序需改写 4)数据库中的内模式如有改变,逻辑模式可以不变 A)1 B)2 C)3 D)4 10.在三级模式之间引入两级映像,其主要功能之一是( A ) A)使数据与程序具有较高的独立性 B)使系统具有较高的通道能力 C)保持数据与程序的一致性 D)提高存储空间的利用率 11.视图对应于数据库系统三级模式结构中的( A ) A)外模式 B)逻辑模式 C)内模式D)都不对应 12.对数据库中数据可以进行查询、插入、删除、修改,这是因为数据库管理系统提供

数据库基础与应用课程期末模拟试卷(2015秋季-徐孝凯)

国家开放大学 数据库基础与应用课程(2478号)模拟试卷 1015年11月理工教学部徐孝凯 一、单项选择题。把合适的选项编号填写在括号内。(每小题3分,共36分) 1.在利用计算机进行数据处理的四个发展阶段中,第二个发展阶段是()。 A. 人工管理 B. 文件系统 C. 数据库系统 D. 分布式数据库系统 2.在数据库系统中,存取数据的基本单位是()。 A. 记录 B. 数据项 C. 二进制位 D. 字节 3.设两个关系R1和R2中分别包含有m和n个元组,R1对R2存在着一对多的联系,将其进行自然连接,在得到的运算结果中最多包含的元组个数为()。 A. m*n B. m+n C. m D. n 4. 设一个关系为R(A,B,C,D,E),它的最小函数依赖集为FD={A→B,A→C,(C,D)→E},则该关系的候选码为( )。 A. (A,C) B. (C,D) C. (A,D) D. (B,D) 5. 在SQL的建立基本表操作中,定义单值约束所使用的保留字为()。 A. PRIMARY B. UNIQUE C.CHECK D. FOREIGN 6. 以一个基本表中的主码同另一个基本表中的外码建立联系,则这种联系的类型为()。 A. 1对1 B. 1对多 C. 多对多 D. 多对1 7. 在Access的主界面操作窗口中,不存在的区域为()。 A. 功能区 B. 导航区 C. 工作区 D. 描述区 8. 在Access的表设计视图中,其上半部分所列的数据项不包括()。 A.字段名称 B.数据类型 C.字段属性 D.说明 9. 在Access中,参数查询属于()。 A.更新查询 B.追加查询 C.交叉表查询 D.选择查询 10. 在Access中,有四种自动创建窗体的命令,下面不属于此类命令的是()。 A.窗体 B.分割窗体 C.空白窗体 D.数据表 11. 报表由5个部分所组成,则最末尾的部分是()。 A.报表页眉 B.页面页脚C.页面页眉 D.报表页脚 12. 在Access中,若利用宏打开一个查询,则选择的宏操作命令是()。

数据库系统概论模拟试题

数据库系统概论模拟试题 一、填空题: 1、如果事务T对数据D加了S锁,则在T释放D上的S锁以前,其他事务只能对D加()而不能加()。 A:() B:() 二、单选题 2、()是数据库物理结构和存储方式的描述。 A:模式 B:外模式 C:内模式 D:概念模式: 3、对象查询语言的路径表达式中,如果a表示某类的对象,p表示属性,则a.p表示()。A: a的该属性值 B: 与a相连的对象 C: 把p用于a的结果 D: a的该属性名 4、对象查询语言的路径表达式中,如果a表示某类的对象,p表示联系,则a.p表示()。A: a的该联系名 B: 通过p与a相连的对象 C: 通过p与a相连的对象或对象的聚集 D: 把p用于a的结果 5、对于如下E/R图,一个既是谋杀片又是卡通片的对象:《谁陷害了兔子罗杰》,错误的描述是()。

A: 实体《谁陷害了兔子罗杰》具有属性Title, Y ear, Length, Type B: 实体《谁陷害了兔子罗杰》具有属性Weapon C :实体《谁陷害了兔子罗杰》具有属于Cartoon的联系voice D: 实体《谁陷害了兔子罗杰》具有属性Name, Birthday 6、如果F只涉及X中的属性. 则πX(σF(E)) 等价于()。 A: πX(E) B: σF(E) C: πF(σX(E)) D: σF(πX(E)) 7、在关系演算公式中,同一括号内的各种运算符中优先级最高的是()。 A: 算术比较运算符 B: 逻辑运算符 C: 存在量词 D: 全称量词 8、若关系模式R(U,F)属于3NF,则()。 A: 一定属于BCNF B: 消除了插入的删除异常 C: 仍存在一定的插入和删除异常 D: 属于BCNF且消除了插入和删除异常 9、数据逻辑规则:D(x,y,z)←NOT R(x,y,z) AND S(x,y,z) 表达的是()。 A: R∪S B: R∩S C: RS D: SR 10、已知关系R包含属性A1,A2,…,An,R只有键码为{A1,A2},则R的超键码有

数据库原理期末考试习题

第一章 绪论 一、选择题: 1、使用二维表格结构表达数据和数据间联系的数据模型是(C ) A 、层次模型 B 、网状模型 C 、关系模型 D 、实体—联系模型 2、DB 、DBS 、DBMS 间的关系是(C ) A 、D B 包括 DBMS 和 DBS B 、DBMS 包括 DB 和 DBS C 、DBS 包括 DB 和 DBMS 3、在数据库中存储的是( C ) D 、DBS 与 DB 和 DBMS 无关 A 、数据 B 、数据模型 C 、数据及数据之间的联系 D 、信息 4、数据库系统中,用( B )描述全部数据的整体逻辑结构。 A 、外模式 B 、模式 C 、内模式 D 、数据模式 5、数据库中,导致数据不一致的根本原因是(C ) A 、数据量太大 C 、 数据冗余 B 、数据安全性不高 D 、数据完整性约束不强 6、划分层次型、网状型和关系型数据库的原则是(D ) A 、记录的长度 C 、联系的复杂程度 B 、文件的大小 D 、数据及联系的表示方式 7、数据库三级模式体系结构的划分,主要有利于保持数据库的(B ) A 、数据安全性 B 、数据独立性 C 、结构规范化 D 、操作可行性 8、数据库系统中,用(A )描述用户局部数据的逻辑结构,它是用户和数据库系统间的接口。 A 、外模式 B 、模式 C 、内模式 D 、数据模式 9、数据库系统中,用(C )描述全部数据的物理存储视图。 A 、外模式 B 、模式 C 、内模式 D 、数据模式 10、数据库系统中用于定义和描述数据库逻辑结构的语言是(B ) A 、DML B 、DDL C 、DCL D 、SQL 11、数据库系统支持的数据共享指的是(D ) A 、同一应用的多个程序共享同一数据集合 B 、多个用户、同一语言程序共享同一数据集合 C 、多个用户共享同一数据文件 D 、多种语言、多个用户、多个应用相互覆盖地使用同一数据集合 12、数据库系统中,当内模式发生变化时,采用(B )来保证数据的物理独立性。 A 、修改模式定义 A 、修改模式\内模式映像 A 、修改应用程序 B 、修改外模式定义 二、填空题 1、指出下列缩写的含义: (1)DML :DBMS 提供了数据操纵语言 (2)DBMS :数据库管理系统 ,为数据库的建立、使用和维护而配置的软件系统 (3)DDL :DBMS 提供了数据定义语言 (4)DD :数据字典,将数据库作为对象建立数据库,也称系统目录 (5)DBS :数据库系统,是指带有数据库并利用数据库技术进行数据管理的计算机 系统。 (6)DB A :数据库管理员 。、2、数据管理技术经历了(人工管理)(文件系统)(数据库系统)三个阶段。 3、DBS 组成部分包括(数据库)(数据库管理系统)(应用系统)(数据库管理员)(用户)五部 分。 、 、 、 4、DBMS 是位于(用户)和(操作系统)之间的一层管理软件。 5、数据库和文件系统的根本区别是(数据的整体结构化)。

相关主题
文本预览
相关文档 最新文档