‘壹’ 数据库试题
1/A
2/B
3/A
4/A
5/B
6/C
7/数据结构,数据操作,完整性约束条件
8/表
9/DBA
10/数据独立性差
11/sql
12/内模式
13/存储
14/外模式,模式和内模式
15/应用程序,操作系统,数据库管理系统
16/数据库管理系统
17/增删改查
18/实体,属性和联系
19/A
20/属性
欢迎批评指正。
‘贰’ 数据库经典笔试题和面试题答案
如下这些有关数据库知识考查的经典笔试题,非常全面,对计算机专业毕业生参加笔试会很有帮助,建议大家收藏。
一、选择题
1. 下面叙述正确的是___c___。
A、算法的执行效率与数据的存储结构无关
B、算法的空间复杂度是指算法程序中指令(或语句)的条数
C、算法的有穷性是指算法必须能在执行有限个步骤之后终止
D、以上三种描述都不对
2. 以下数据结构中不属于线性数据结构的是___c___。
A、队列B、线性表C、二叉树D、栈
3. 在一棵二叉树上第5层的结点数最多是__b____。2的(5-1)次方
A、8 B、16 C、32 D、15
4. 下面描述中,符合结构化程序设计风格的是___a___。
A、使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑
B、模块只有一个入口,可以有多个出口
C、注重提高程序的执行效率 D、不使用goto语句
5. 下面概念中,不属于面向对象方法的是___d___。
A、对象 B、继承 C、类 D、过程调用
6. 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是___b___。
A、可行性分析 B、需求分析 C、详细设计 D、程序编码
7. 在软件开发中,下面任务不属于设计阶段的是__d____。
A、数据结构设计 B、给出系统模块结构 C、定义模块算法 D、定义需求并建立系统模型
8. 数据库系统的核心是___b___。
A、数据模型 B、数据库管理系统 C、软件工具 D、数据库
9. 下列叙述中正确的是__c____。
A、数据库是一个独立的系统,不需要操作系统的支持
B、数据库设计是指设计数据库管理系统
C、数据库技术的根本目标是要解决数据共享的问题
D、数据库系统中,数据的物理结构必须与逻辑结构一致
10. 下列模式中,能够给出数据库物理存储结构与物理存取方法的是___a___。
A、内模式 B、外模式 C、概念模式 D、逻辑模式
11. Visual FoxPro数据库文件是___d___。
A、存放用户数据的文件 B、管理数据库对象的系统文件
C、存放用户数据和系统的文件 D、前三种说法都对
12. SQL语句中修改表结构的命令是___c___。
A、MODIFY TABLE B、MODIFY STRUCTURE
C、ALTER TABLE D、ALTER STRUCTURE
13. 如果要创建一个数据组分组报表,第一个分组表达式是"部门",第二个分组表达式是"性别",第三个分组表达式是"基本工资",当前索引的索引表达式应当是__b____。
A、部门+性别+基本工资 B、部门+性别+STR(基本工资)
C、STR(基本工资)+性别+部门 D、性别+部门+STR(基本工资)
14. 把一个项目编译成一个应用程序时,下面的叙述正确的是___a___。
A、所有的项目文件将组合为一个单一的应用程序文件
B、所有项目的包含文件将组合为一个单一的应用程序文件
C、所有项目排除的文件将组合为一个单一的应用程序文件
D、由用户选定的项目文件将组合为一个单一的应用程序文件
15. 数据库DB、数据库系统DBS、数据库管理系统DBMS三者之间的关系是_a___。
A、DBS包括DB和DBMS B、DBMS包括DB和DBS
C、DB包括DBS和DBMS D、DBS就是DB,也就是DBMS
16. 在"选项"对话框的"文件位置"选项卡中可以设置___b___。
A、表单的默认大小 B、默认目录
C、日期和时间的显示格式 D、程序代码的颜色
17. 要控制两个表中数据的完整性和一致性可以设置"参照完整性",要求这两个表_a_。
A、是同一个数据库中的两个表 B、不同数据库中的两个表
C、两个自由表 D、一个是数据库表另一个是自由表
18. 定位第一条记录上的命令是___a___。
A、GO TOP B、GO BOTTOM C、GO 6 D、SKIP
19. 在关系模型中,实现"关系中不允许出现相同的元组"的约束是通过__b____。
A、候选键 B、主键 C、外键 D、超键
20. 设当前数据库有10条记录(记录未进行任何索引),在下列三种情况下,当前记录号为1时;EOF()为真时;BOF()为真时,命令?RECN()的结果分别是___a___。
A、1,11,1 B、1,10,1 C、1,11,0 D、1,10,0
21. 下列表达式中结果不是日期型的是___c___。
A、CTOD("2000/10/01") B、{^99/10/01}+365
C、VAL("2000/10/01") D、DATE()
22. 只有满足联接条件的记录才包含在查询结果中,这种联接为___c___。
A、左联接 B、右联接 C、内部联接 D、完全联接
23. 索引字段值不唯一,应该选择的索引类型为___b___。
A、主索引 B、普通索引 C、候选索引 D、唯一索引
24. 执行SELECT 0选择工作区的结果是___b___。
A、选择了0号工作区 B、选择了空闲的最小号工作区
C、关闭选择的工作区 D、选择已打开的工作区
25. 从数据库中删除表的命令是___a___。
A、DROP TABLE B、ALTER TABLE C、DELETE TABLE D、USE
26. DELETE FROM S WHERE 年龄>60语句的功能是__b____。
A、从S表中彻底删除年龄大于60岁的记录
B、S表中年龄大于60岁的记录被加上删除标记
C、删除S表 D、删除S表的年龄列 1 2
‘叁’ 谁有sql 笔试题,要多的不要选择填空。
javaeye里面转的,十几个问题覆盖多个方面,含答案
目前在职场中很难找到非常合格的数据库开发人员。我的一个同事曾经说过:“SQL开发是一门语言,它很容易学,但是很难掌握。”
在面试应聘的SQL Server数据库开发人员时,我运用了一套标准的基准技术问题。下面这些问题是我觉得能够真正有助于淘汰不合格应聘者的问题。它们按照从易到难的顺序排列。当您问到关于主键和外键的问题时,后面的问题都十分有难度,因为答案可能会更难解释和说明,尤其是在面试的情形下。
您能向我简要叙述一下SQL Server 2000中使用的一些数据库对象吗?
您希望听到的答案包括这样一些对象:表格、视图、用户定义的函数,以及存储过程;如果他们还能够提到像触发器这样的对象就更好了。如果应聘者不能回答这个基本的问题,那么这不是一个好兆头。
什么是索引?SQL Server 2000里有什么类型的索引?
任何有经验的数据库开发人员都应该能够很轻易地回答这个问题。一些经验不太多的开发人员能够回答这个问题,但是有些地方会说不清楚。
简单地说,索引是一个数据结构,用来快速访问数据库表格或者视图里的数据。在SQL Server里,它们有两种形式:聚集索引和非聚集索引。聚集索引在索引的叶级保存数据。这意味着不论聚集索引里有表格的哪个(或哪些)字段,这些字段都会按顺序被保存在表格。由于存在这种排序,所以每个表格只会有一个聚集索引。非聚集索引在索引的叶级有一个行标识符。这个行标识符是一个指向磁盘上数据的指针。它允许每个表格有多个非聚集索引。
NULL是什么意思?
NULL(空)这个值是数据库世界里一个非常难缠的东西,所以有不少应聘者会在这个问题上跌跟头您也不要觉得意外。
NULL这个值表示UNKNOWN(未知):它不表示“”(空字符串)。假设您的SQL Server数据库里有ANSI_NULLS,当然在默认情况下会有,对NULL这个值的任何比较都会生产一个NULL值。您不能把任何值与一个 UNKNOWN值进行比较,并在逻辑上希望获得一个答案。您必须使用IS NULL操作符。
什么是主键?什么是外键?
主键是表格里的(一个或多个)字段,只用来定义表格里的行;主键里的值总是唯一的。外键是一个用来建立两个表格之间关系的约束。这种关系一般都涉及一个表格里的主键字段与另外一个表格(尽管可能是同一个表格)里的一系列相连的字段。那么这些相连的字段就是外键。
什么是触发器?SQL Server 2000有什么不同类型的触发器?
让未来的数据库开发人员知道可用的触发器类型以及如何实现它们是非常有益的。
触发器是一种专用类型的存储过程,它被捆绑到SQL Server 2000的表格或者视图上。在SQL Server 2000里,有INSTEAD-OF和AFTER两种触发器。INSTEAD-OF触发器是替代数据操控语言(Data Manipulation Language,DML)语句对表格执行语句的存储过程。例如,如果我有一个用于TableA的INSTEAD-OF-UPDATE触发器,同时对这个表格执行一个更新语句,那么INSTEAD-OF-UPDATE触发器里的代码会执行,而不是我执行的更新语句则不会执行操作。
AFTER触发器要在DML语句在数据库里使用之后才执行。这些类型的触发器对于监视发生在数据库表格里的数据变化十分好用。
您如何确一个带有名为Fld1字段的TableB表格里只具有Fld1字段里的那些值,而这些值同时在名为TableA的表格的Fld1字段里?
这个与关系相关的问题有两个可能的答案。第一个答案(而且是您希望听到的答案)是使用外键限制。外键限制用来维护引用的完整性。它被用来确保表格里的字段只保存有已经在不同的(或者相同的)表格里的另一个字段里定义了的值。这个字段就是候选键(通常是另外一个表格的主键)。
另外一种答案是触发器。触发器可以被用来保证以另外一种方式实现与限制相同的作用,但是它非常难设置与维护,而且性能一般都很糟糕。由于这个原因,微软建议开发人员使用外键限制而不是触发器来维护引用的完整性。
对一个投入使用的在线事务处理表格有过多索引需要有什么样的性能考虑?
您正在寻找进行与数据操控有关的应聘人员。对一个表格的索引越多,数据库引擎用来更新、插入或者删除数据所需要的时间就越多,因为在数据操控发生的时候索引也必须要维护。
您可以用什么来确保表格里的字段只接受特定范围里的值?
这个问题可以用多种方式来回答,但是只有一个答案是“好”答案。您希望听到的回答是Check限制,它在数据库表格里被定义,用来限制输入该列的值。
触发器也可以被用来限制数据库表格里的字段能够接受的值,但是这种办法要求触发器在表格里被定义,这可能会在某些情况下影响到性能。因此,微软建议使用Check限制而不是其他的方式来限制域的完整性。
返回参数和OUTPUT参数之间的区别是什么?
如果应聘者能够正确地回答这个问题,那么他的机会就非常大了,因为这表明他们具有使用存储过程的经验。
返回参数总是由存储过程返回,它用来表示存储过程是成功还是失败。返回参数总是INT数据类型。
OUTPUT参数明确要求由开发人员来指定,它可以返回其他类型的数据,例如字符型和数值型的值。(可以用作输出参数的数据类型是有一些限制的。)您可以在一个存储过程里使用多个OUTPUT参数,而您只能够使用一个返回参数。
什么是相关子查询?如何使用这些查询?
经验更加丰富的开发人员将能够准确地描述这种类型的查询。
相关子查询是一种包含子查询的特殊类型的查询。查询里包含的子查询会真正请求外部查询的值,从而形成一个类似于循环的状况。
关于面试过程的思考
这些问题只不过是确定一个SQL Server数据库开发人员是否合格的起点。根据应聘者对上面这些问题的回答情况,我可能会要求他们参加我的TSQL编程考试,这一般是一套根据不同情况进行的10到12个数据库查询。
您需要自己决定将要雇用的开发人员具有什么样的专业技能。然后,需要通过自己的经验、判断以及在面试时对应聘者的感受(来做最终决定)。
您在面试数据库开发人员时一般会问哪些问题呢?让我们一起来讨论一下吧。
Tim Chapman是肯塔基州路易维尔市一家银行的SQL Server数据库管理员,他有超过7年的行业经验。他还通过了微软SQL Server 2000和SQL Server 2005的认证。
‘肆’ 三级数据库笔试题 求高手解答 感谢万分!
答案选A,关于模式分解有三个标准:
1、分解是具有无损连接性的;
2、分解是保持函数依赖的;
3、分解既要具有无损连接又要保持函数依赖两种。
按三个标准进行分解后,还要记住一些东西:
1、分解具有无损连接性和分解保持函数依赖是两个互相独立的标准。具有无损连接性的分解不一定保持函数依赖,保持函数依赖的分解不一定具有无损连接性。
2、 若要求分解具有无损连接性,那么模式分解一定可以达到4NF。
3、 若要求分界保持函数依赖,那么模式分解可以达到3NF,但不一定能达到4NF。
4、 若要求分解既具有无损连接性,又保持函数依赖,则模式分解可以达到3NF,但不一定能达到4NF。
详情请参看下面的链接:
‘伍’ 求恒生电子 软件运维工程师,数据库笔试题!!!
1、写C语言的拷贝函数,要求复制字符串,并且将复制后的字符串逆序
比如form中是1234, 则to中是4321
void strcyp(char * to,const char * form)
不能使用库函数 不能定义其他的变量
最佳答案
int main()
{
char a[10],b[10];
printf("请输入a字符可以随意输入小于10个字符")
/*这里不知道为什么查过10个就前面一部分对
且a字符串就没有值了你可以自己事实*/
scanf("%s",a);
printf("a字符串:%s\n",a);
turnto(a,b);
printf("b字符串:%s\n",b);
printf("a字符串:%s\n",a);
return 0;
}
void turnto(char *q,char *p)
{
int length,i,j;
for(length=0;;length++)
{
if(q[length]=='\0')
break;
}
j=length-1;
for(i=0;i
{
// *(p+i)=*(q+(j--));
p[i]=q[j--];
}
// *(p+i)='\0';
p[i]='\0';
}
第一个编程题:
827328929 数字反转,不能使用类库,不能使用数组。
第二个编程题:
public int[] getNum(aArray[] ,bArray[]){ }
求出数组aArray[] ,和bArray[]两个数组的交集,交集放在数组中返回。
数据库题目:
学生表(student){学好,姓名,年龄,所在系}
课程表(course){课程编号,课程名,学分}
关系表(sc){学号,课程编号,成绩}
1、查询出选修了“数据库”的学生姓名。
2、查询平均成绩大于85分的学生姓名和平均成绩(悲剧的没有写出来)
3、添加一个课程信息(“Java”,’1001‘,2)
4、添加一个唯一索引
5、在学生表中添加身份证列,大小18,非空
‘陆’ 数据库考试的内容包含哪些内容
一、数据库考试内容:
(1)计算机体系结构以及各主要部件的性能和基本工作原理。
(2)操作系统、程序设计语言的基础知识,了解编译程序的基本知识。
(3)常用数据结构和常用算法。
(4)软件工程和软件开发项目管理的基础知识。
(5)计算机网络的原理和技术。
(6)数据库原理及基本理论。
(7)常用的大型数据库管理系统的应用技术。
(8)数据库应用系统的设计方法和开发过程。
(9)数据库系统的管理和维护方法,了解相关的安全技术。
(10)数据库发展趋势与新技术。
(11)常用信息技术标准、安全性,以及有关法律、法规的基本知识。
(12)了解信息化、计算机应用的基础知识。
(13)正确阅读和理解计算机领域的英文资料。
二、考试目标
作为数据库管理员管理信息系统中的数据资源,作为数据库管理员建立和维护核心数据库;担任数据库系统有关的技术支持,同时具备一定的网络结构设计及组网能力;具有工程师的实际工作能力和业务水平,能指导计算机技术与软件专业助理工程师(或技术员)工作。
三、考试范围
信息系统知识
1.计算机系统知识
2.数据库技术
3.系统开发和运行维护知识
4.安全性知识
5.标准化知识
6.信息化基础知识
7.计算机专业英语
数据库系统设计与管理
1.数据库设计
2.数据库应用系统设计
3.数据库应用系统实施
4.数据库系统的运行和管理
5.SQL
6.网络环境下的数据库
7.数据库的安全性
8.数据库发展趋势与新技术
(6)数据库管理员笔试题扩展阅读:
有些考生在报名软考中级数据库系统工程师考试的时候发现没有这项资格考试,以为数据库系统工程师考试没有了,其实并不是这样的。
数据库系统工程师每年只有一次考试,通常安排在上半年开考,而下半年是没有安排数据库系统工程师考试的。因此,要报名数据库系统工程师考试的考生要在上半年报名。
由于软考每年的开考资格安排可能会有所变动,并不是固定在上半年或者下半年考试,因此要报名的考生请关注软考办公布的每年的开考资格安排,及时报名
‘柒’ 数据库常见笔试面试题
数据库常见笔试面试题
数据库常见笔试面试题有哪些?数据库常见笔试面试会考什么?下面是数据库常见面试题总结,为大家提供参考。
1、SQL的表连接方式有哪些?
SQL中连接按结果集分为:内连接,外连接,交叉连接
内连接:inner join on,两表都满足的组合。内连接分为等值连接,不等连接,自然连接。
等值连接:两表中相同的列都会出现在结果集中。
自然连接:两表中具体相同列表的列会合并为同一列出现在结果集中。
外连接:分为左(外)连接,右(外)连接,全连接
左(外)连接:A left (outer) join B,以A表为基础,A表的全部数据,B表有的组合,没有的为null。
右(外)连接:A right(outer) join B,以B表为基础,B表的全部数据,A表有的组合,没有的位null。
全连接:A full (outer) join 两表相同的组合在一起,A表有,B表没有的数据(显示为null),同样B表有,A表没有的显示为null。
交叉连接:cross join,就是笛卡尔乘积。
2、三范式
1NF:表中的字段都是单一属性,不再可分。
2NF:在1NF的基础上,表中所有的非主属性都必须完全依赖于任意一组候选键,不能仅依赖于候选键中的某个属性。
3NF:在2NF的基础上,表中所有的属性都不依赖其他非主属性。
简单的说就是:1NF表示每个属性不可分割,2NF表示非主属性不存在对主键的部分依赖,3NF表示不存在非主属性对主键的依赖传递。
3、表的操作
表的创建:create table 表名 (列名1 类型 约束,列2 类型 约束…)
表的删除: 表名
表的更改(结构的更改,不是记录的更新):alter table 表名 add|drop 列名|约束名
插入记录: into 表名…values…
更新记录:表名 set 列名=值 where 条件
删除记录: from 表名 where 条件
4、数据的完整性
数据完整性指的是存储在数据库中的数据的一致性和准确性。
完整性分类:
(1)实体完整性:主键值必须唯一且非空。(主键约束)
(2) 引用完整性(也叫参照完整性):外键要么为空,要么引用主表中存在的记录。(外键约束)。
(3)用户自定义完整性:针对某一具体关系数据库中的约束条件。
5、SQL的查询优化
(1)从表连接的角度优化:尽量使用内连接,因为内连接是两表都满足的行的组合,而外连接是以其中一个表的全部为基准。
(2)尽量使用存储过程代替临时写SQL语句:因为存储过程是预先编译好的SQL语句的集合,这样可以减少编译时间。
(3)从索引的角度优化:对那些常用的查询字段简历索引,这样查询时值进行索引扫描,不读取数据块。
(4)还有一些常用的select优化技巧:
(5)A.只查询那些需要访问的字段,来代替select*
B、将过滤记录越多的where语句向前移:在一个SQL语句中,如果一个where条件过滤的数据库记录越多,定位越准确,则该where条件越应该前移。
6、索引的作用,聚集索引与非聚集索引的区别
索引是一个数据库对象,使用索引,可以是数据库程序无须对整个数据进行扫描,就可以在其中找到目标数据,从而提高查找效率。索引的底层采用的是B树。
聚集索引:根据记录的key再表中排序数据行。
非聚集索引:独立于记录的结构,非聚集所以包含的`key,且每个键值项都有指向该简直的数据行的指针。
聚集索引与非聚集索引的区别:
(1)聚集索引的物理存储按索引排序,非聚集所以的物理存储不按索引排序。
(2) 聚集索引插入,更新数据的速度比非聚集索引慢,单查询速度更快。
(3) 聚集索引的叶级结点保存的是时间的数据项,而非聚集结点的叶级结点保存的是指向数据项的指针。
(4)一个表只能有一个聚集索引(因为只有一种排序方式),但可以有多个非聚集索引。
7、存储过程与函数的区别
(1)函数有返回值,存储过程没有返回值。
(2) 因为存储过程没有返回值,所以不能将存储过程的执行结果赋值给变量;函数有返回值类型,调用函数时,可以将函数的执行结果赋值给变量。也就是说,函数可以在select语句中使用,而存储过程则不能。
‘捌’ 请问有谁知道2011年3月的全国计算机四级数据库工程师考试题型和以前的还一样不谢谢!
一样的。我刚过3月的。有三种题型:选择题+填空题+设计与应用题
如果需要真题,请留下邮箱。
2010年3月计算机等级考试四级数据库笔试试题(文字版)
一、选择题
(1)在数据库应用系统的需求分析阶段,需要考虑数据的安全性需求。下列不属于数据安全性需求分析内容的是
A)分析数据的安全性需求,以确定每个关系表上定义的数据约束能够满足使用要求
B)分析全局用户对数据的存取需求,以确定全局数据的安全控制策略
C)分析特殊用户对数据的存取需求,以保证数据库的安全控制策略能够满足其使用要求
D)分析各类用户对数据的存取需求,以确定各类用户能够操作的数据
(2)有学生表(学号, 姓名, 性别, 身份证号, 出生日期, 所在系号),在此表上使用如下语句建立索引:
CREATE NONCLUSTERED INDEX Idx_Name ON学生表(姓名);
此索引被称为
A)非聚集散列索引
B)非聚集辅索引
C)非聚集顺序索引
D)非聚集主索引
(3)在数据库物理设计阶段,使用聚集文件组织数据可以提高一些查询的效率。下列关于聚集文件和聚集键的描述错误的是
A)聚集文件将不同关系表中有关联关系的记录存储在一起,以减少系统的物理I/O次数
B)聚集键应该选用频繁用于进行自然连接的属性或属性组
C)聚集文件可以提高某些连接查询的速度,但是它可能导致其他类型的查询处理变慢
D)关系表中某个属性的数据重复率越高,越适合作聚集键
(4)己知有描述科研项目及负责教师的关系模式:科研项目(项目号, 项目名称, 经费, 负责教师号, 姓名, 职称),该关系模式满足函数依赖集:F={项目号→项目名称, 项目号→经费, 项目号→负责教师号, 负责教师号→姓名, 负责教师号→职称}。下列分解中最合理的符合3NF的关系模式是
A)科研项目(项目号, 项目名称, 经费),教师(教师号, 姓名, 职称)
B)科研项目(项目号, 项目名称, 经费),教师(教师号, 姓名, 职称, 项目号)
C)科研项目(项目号, 项目名称, 经费, 负责教师号),教师(教师号, 姓名, 职称)
D)科研项目(项目号, 项目名称, 经费),项目_教师(项目号, 负责教师号), 教师(教师号, 姓名, 职称)
(5)在IDEF0图中矩形框代表功能活动。关于连接到矩形框4条边上的箭头的语义,下列说法错误的是
A)左边的箭头表示完成功能活动需要的数据,它强调被活动消耗或变换的内容
B)上边的箭头表示影响这个活动执行的事件或约束,它强调被活动变换的内容
C)右边的箭头表示由这个活动产生的信息,它强调活动变换和处理的结果
D)下边的箭头表示实施该活动的手段或完成活动需要的资源,它强调如何做
(6)数据库的运行管理与维护主要由数据库管理员负责,工作内容主要包括日常维护、系统监控与分析、性能优化等。下列关于数据库管理员工作内容的说法错误的是
A)数据库的备份和恢复是重要的维护工作,数据库管理员应根据不同的应用要求制定不同的备份计划,在备份计划中应包含备份的时间、周期、备份方式和备份内容等
B)性能优化是数据库管理员的重要工作,性能优化的主要手段有查询优化、索引调整、模式调整等,这些工作一般无需开发人员参与
C)数据库管理员应监控数据库中各种锁的使用情况,并处理可能出现的死锁情况,若发现问题应及时通知相关人员
D)数据库管理员需要定期检查存储空间使用情况并根据需求扩展存储空间,这些工作一般无需最终用户参与
(7)若系统中存在4个等待事务T0、T1、T2、T3,其中T0正等待被T1锁住的数据项Al,T1正等待被T2锁住的数据项A2,T2正等待被T3锁住的数据项A3,T3正等待被T0锁住的数据项A0。根据上述描述,系统所处的状态是
A)活锁
B)死锁
C)封锁
D)正常
(8)在SQL Server 2000中,某数据库中有教师表(教师号, 姓名, 职称),其中教师号的数据类型是整型,其他均为字符类型。若教师表中当前没有数据,用户在数霜尾币藕次执行下列语句:
Ⅰ.BEGIN TRANSACTION T1
Ⅱ.INSERT INTO教师表VALUES(1000,'张三','助教');
Ⅲ.INSERT INTO教师表VALUES(1001,'王二','助教');
Ⅳ.COMMIT T1;
Ⅴ.BEGIN TRANSACTION T2
Ⅵ.INSERT INTO教师表VALUES(1002,'王三','讲师');
Ⅶ.INSERT INTO教师表VALUES(1003,'李四','讲师');
Ⅷ.COMMIT T2;
在Ⅶ执行的时候数据库所在的服务器突然掉电,当数据库系统重新启动后,教师表中包含的数据条数为
A)4条
B)3条
C)2条
D)0条
(9)已知学生关系(学号, 姓名, 性别, 课程号, 成绩, 所在系号)有下列函数依赖
Ⅰ.(学号, 课程号)→课程号 Ⅱ.(学号, 课程号)→成绩
Ⅲ.(学号, 课程号)→所在系号 Ⅳ.(学号, 课程号)→姓名,性别
Ⅵ.(学弓, 桌程号)→学号
以上函数依赖属于非平凡函数依赖的是
A)仅I和V
B)仅Ⅱ和V
C)仅Ⅲ和Ⅳ
D)仅II、Ⅲ和Ⅳ
(10)数据库管理系统采用三级加锁协议来防止并发操作可能导致的数据错误。在三级加锁协议中,1级加锁协议能够解决的问题是
A)丢失修改
B)不可重复读
C)读脏数据
D)死锁
(11)在SQL Server 2000中,假设某数据库使用一段时间后,其数据文件和日志文件的空间均己快用完,如果要以手工方式扩大该数据库的空间,下列说法正确的是
A)可以扩大单个数据文件的大小,但不能扩大单个日志文件的大小
B)可以一次按比例扩大整个数据库的数据文件和日志文件的大小
C)可以添加一块新的磁盘,并在新的磁盘上为数据库建立新的数据文件和日志文件
D)可以一次按比例扩大整个数据文件的大小,但不能扩大日志文件的大小
(12)在SQL Server 2000中,设有职工表(职工号, 职工名, 电子邮箱),现要限制电子邮箱的最后几位的取值为“@abc.com”,且“@”前至少有一位字符。下列添加约束的语句正确的是
A)ALTER TABLE职工表
ADD CONSTRAINT chk_email CHECK(电子邮箱LIKE '_%@abc.com')
B)ALTER TABLE职工表
ADD CONSTRAINT chk_email CHECK(电子邮箱 = '_%@abc.com')
C)ALTER TABLE职工表
ADD CONSTRAINT chk_email CHECK(电子邮箱LIKE '[email protected]')
D)ALTER TABLE职工表
ADD CONSTRAINT chk_email CHECK(电子邮箱 = '[email protected]')
(13)OLE DB是一种通用数据访问接口。下列关于OLE DB的说法错误的是
A)OLE DB是Microsoft OLE对象标准的一个实现,它由一系列的COM接口组成
B)与ODBC驱动程序需要支持几乎所有的DBMS特性不同,OLE DB允许只支持DBMS的部分功能
C)OLE DB支持访问关系数据库和非关系数据库
D)OLE DB定义了数据提供者、数据消费者和数据驱动理序三类数据访问组件
(14)日志文件是数据库系统出现故障以后,保证数据正确、一致的重要机制之一。下列关于日志文件的说法错误的是
A)日志的登记顺序必须严格按照事务执行的时间次序进行
B)为了保证发生故障时能正确地恢复数据,必须保证先写数据库后写日志
C)检查点记录是日志文件的一种记录,用于改善恢复效率
D)事务故障恢复和系统故障恢复都必须使用日志文件
(15)统一建模语言UML是一种定义良好、易于表达、功能强大、通用的可视化建模语言,下列关于UML说法错误的是
A)在UML的用例模型中,一个角色可以执行多个用例,一个用例可以被多个角色使用
B)UML也适用于对象建模,其中的类图和对象图用于描述类模型、对象模型以及它们之间的动态关系,这两种图都属于UML的动态视图
C)UML的包图是表明包以及包之间的关系的类图,包是对模型中涉及的元素进行分组后得到的结果。在进行元素分组时,应尽量追求包间低耦合、包内高内聚的目标
D)UML中的顺序图和协作图都描述交互,但是顺序图强调的是时间,协作图强调的是空间
(16)对数据库中的数据进行及时转储是保证数据安全可靠的重要手段。下列关于静态转储和动态转储的说法正确的是
A)静态转储过程中数据库系统不能运行其他事务,不允许在转储期间执行数据插入、修改和删除操作
B)静态转储必须依赖数据库日志才能保证数据的一致性和有效性
C)动态转储需要等待正在运行的事务结束后才能开始
D)对一个24小时都有业务发生的业务系统来说,比较适合采用静态转储技术
(17)设某并行数据库系统中有表T(al, a2, . . .,an),因数据量大,需采用一维划分法将数据划分到不同的磁盘上,以提高系统效率。设al是划分属性,针对表T的查询操作多数为点查询,则适合采用的元组划分策略是
A)轮转法与范围划分
B)轮转法与散列划分
C)散列划分与范围划分
D)以上都不合适
(18)软件开发模型是对软件开发过程的一种规范描述,用于表示软件开发过程的整体框架和软件开发活动各阶段间的关系。下列模型属于软件开发模型的是
Ⅰ.爆布模型 Ⅱ.快速原型模型
Ⅲ.增量模型 Ⅳ.螺旋模型
A)仅Ⅰ和Ⅱ
B)仅Ⅰ、Ⅲ和Ⅳ
C)仅Ⅱ和Ⅲ
D)Ⅰ、II、Ⅲ和Ⅳ
(19)设有某大型联锁商场,建立有面向业务的数据库应用系统和面向决策支持的数据仓库系统,数据仓库系统每天夜间需要从数据库应用系统的数据库导入新数据。在下列数据表中,最不适合采用快照方式从数据库应用系统中获取数据的是
A)商品表和商品类别表
B)员工表和供应商表
C)商品销售表和商品采购表
D)商场组织机构表
(20)在数据库应用系统中,查询效率是考核数据库应用系统的一个重要方面。下列方法中,通常有利于提高查询效率的是
Ⅰ.尽可能避免无用的排序操作
Ⅱ.尽可能消除对大型表行数据的顺序存取
Ⅲ.尽可能避免使用否定查询
Ⅳ.尽可能避免使用外连接操作
Ⅴ.尽可能用子查询代替连接查询
A)仅I、Ⅱ、Ⅲ和Ⅳ
B)仅I、Ⅱ和Ⅳ
C)仅II、Ⅲ、Ⅳ和V
D)全部
(21)数据库概念设计需要对一个企业或组织的应用所涉及的数据进行分析和组织。现有下列设计内容
Ⅰ.分析数据,确定实体集
Ⅱ.分析数据,确定实体集之间的联系
Ⅲ.分析数据,确定每个实体集的存储方式
Ⅳ.分析数据,确定实体集之间联系的基数
Ⅴ.分析数据,确定每个实体集的数据量
Ⅵ.分析数据,确定每个实体集包含的属性
以上内容不属于数据库概念设计的是
A)仅I、Ⅳ和Ⅵ
B)仅Ⅱ和Ⅴ
C)仅Ⅲ、Ⅳ和Ⅵ
D)仅Ⅲ和Ⅴ
(22)客户端、服务器(C/S)架构和浏览器/服务器(B/S)架是现在常用的两种数据库应用系统架构。关于C/S和B/S架构,下列说法错误的是
A)在C/S和B/S架构中,数据库服务器都承担了数据共享和管理的功能
B)如果系统的最终用户群体大,用户地域分布广,一般应采用B/S架构
C)C/S架构的应用程序需要发布给每个用户,并在每个用户计算机上进行安装。B/S架构一般以通用浏览器为业务应用界面,较为复杂的数据处理功能一般还可通过与浏览器进行交互的组件实现
D)一般来说,对于功能需求相同的数据库应用系统项目,C/S架构的应用开发成本要高于B/S架构的应用开发成本
(23)数据库应用系统环境中存在各种类型的数据,设有如下数据
Ⅰ.为提高查询效率建立的索引
Ⅱ.描述表结构信息的数据字典
Ⅲ.用于优化查询的统计分析数据
Ⅳ.用户会话信息
Ⅴ.用户查询结果
以上数据一般会存储在数据库中的是
A)仅Ⅰ、Ⅱ和Ⅴ
B)仅Ⅰ和Ⅲ
C)仅Ⅰ、Ⅱ和Ⅲ
D)仅II、Ⅲ和Ⅳ
(24)在数据库应用系统生命周期中,系统规划与分析是一个重要的环节。关于系统规划与分析,下列说法错误的是
A)规划与分析是数据库应用系统生命周期的起点。规划与分析阶段的主要工作包括系统规划与定义、可行性分析和项目规划
B)系统规划与定义是规划与分析的主要环节,它需要在系统设计过程中逐步完成
C)可行性分析是从技术、经济和操作等方面进行项目可行性的分析,它在明确目标和任务之后,评估系统在给定条件下是否可行
D)项目规划是对项目所需的资源、成本和进度进行合理估算,并制定初步的项目开发计划
(25)在SQL Server 2000中,某数据库的数据量比较大,且存储在无磁盘阵列的存储设备上。为尽可能提高数据的操作效率,下列构建数据库文件的方法中,最合适的是
A)尽可能选择一块足够大的磁盘,并在此磁盘上建立一个数据文件和一个日志文件
B)尽可能建立多个数据文件,让每个数据文件位于不同的磁盘上,并尽可能将日志文件一与数据文件分别建立在不同的磁盘上
C)尽可能建立多个数据文件,将这些数据文件建立在一块足够大的磁盘上,并将全部日志文件建立在另一块足够大的磁盘上
D)尽可能建立多个数据文件,让每个数据文件位于不同的磁盘上,并尽可能将日志文件与数据文件建立在相同的磁盘上
(26)设有某大型连锁超市的数据库应用系统,在系统实施或改造过程中,需要对系统进行测试。设有下列测试活动
Ⅰ.模拟客户消费行为,生成销售数据,测试系统是否能正确完成销售业务
Ⅱ.编写模拟数据生成器,每秒生成2千笔与销售业务对应的销售数据,测试系统吞吐率
Ⅲ.在数据库中模拟生成5亿条销售数据,同时开启所有的收银台,测试系统平均响应时间
Ⅳ.模拟销售持续一周时间,在此期间,每天审核系统结账功能是否正确
Ⅴ.测试数据库应用系统能否正确地完成银联卡消费业务
以上测试活动,属于性能测试的是
A)仅Ⅰ、Ⅱ和Ⅲ
B)仅Ⅱ、Ⅲ和Ⅴ
C)仅Ⅱ和Ⅲ
D)仅I、Ⅳ和Ⅴ
(27)在SQL Server 2000中,设有课程表(课程号,课程名,学分,开课学期),现要在此关系表上建立一个查询指定学期开设的课程总门数和总学分数的内嵌表值函数,函数名为f _FindTotal。实现这个函数的正确代码是
A)CREATE FUNCTION f_FindTotal(@semester int)
RETURNS table
AS
RETURN(
SELECT COUNT(课程号)as课程门数, SUM(学分)as总学分FROM课程表
WHERE开课学期 = @ semester)
B)CREATE FUNCTION f_FindTotal(@semester int)
RETURNS table
AS
RETURN(
SELECT COUNT(课程号)as课程门数, COUNT(学分)as总学分FROM课程表
WHERE开课学期 = @semester)
C)CREATE FUNCTION f_FindTotal(@semester int)
RETURNS table
AS
RETURN(
SELECT SUM(课程号)as课程门数, SUM(学分)as总学分FROM课程表
WHERE开课学期= @semester)
D)CREATE FUNCTION f_FindTotal(@semester int)
RETURNS table
AS
RETURN(
SELECT SUM(课程号)as课程门数, COUNT(学分)as 总学分FROM课程表
WHERE开课学期 = @semester)
(28)设商场业务系统中有销售单据表(销售单据号, 收款员, 销售时间),销售明细表(销售明细条目号, 销售单据号, 商品号, 数量, 单位, 金额)和商品表(商品号, 商品名, 价格)。该系统业务繁忙,保存的数据量非常大,每次换班时要统计收款员的收入总额,每天停业后要统计各个商品的当天销售量,销售过程中经常需要查询某笔销售业务的情况。为了优化系统性能,下列优化方案合理的是
A)在销售单据表的收款员属性上建立聚集索引,在销售明细表的销售单据号属性上建立非聚集索引,在商品表的商品号属性上建立聚集索引
B)在销售单据表的销售单据号属性上建立聚集索引,在销售明细表的销售单据号属性上建立非聚集索引,在商品表的商品号属性上建立聚集索引,建立收款员单班销售量表和商品当天销售汇总表,在每笔销售成交后分别累计统计相应数据
C)在销售单据表的销售时间属性和收款员属性上分别建立聚集索引,在销售明细表的销售单据号属性上建立非聚集索引,在商品表的商品号属性上建立聚集索引,建立收款员单班销售量表和商品当天销售汇总表,在每笔销售成交后分别累计统计相应数据
D)在销售单据表的销售单据号属性和收款员属性上分别建立聚集索引,在销售明细表的商品号属性上建立聚集索引
(29)在SQL Server 2000中,假设利用备份设备对某个数据量和日志量都比较大的数据库进行完全备份。下列说法正确的是
A)如果各个磁盘上的剩余空间均不足以存储数据库的备份,但全部磁盘的剩余空间总和大于备份数据库所需的空间,则可以将这些磁盘的剩余空间组织起来建立一个备份设备以实施备份
B)如果各个磁盘上的剩余空间均不足以存储数据库的备份,但全部磁盘的剩余空间总和大于备份数据库所需的空间,则可以将数据库中的数据和日志分别备份到位于不同磁盘的备份设备上,以解决单个磁盘空间不足的问题
C)可以只对数据库中的数据进行备份,并且可以备份到位于不同磁盘的备份设备上,以最大限度地减少备份该数据库占用的空间
D)如果各个磁盘上的剩余空间均不足以存储数据库的备份,但全部磁盘的剩余空间总和大于备份数据库所需的空间,则可以在每个磁盘上分别建立一个备份设备,并同时利用这些设备备份数据库
(30)在某分布式数据库系统中,设某数据表的模式为S(al, a2, a3, a4, a5),其中al为主码,该表中数据量大,a2取值空间为{1,2,3}。设有两个数据分片方案,分别为PSz1={S11, S12, S13}和PS2={S21, S22, S23},任取分片S1i,S1i的模式为(al, a2, a3, a4, a5),且S1i中的任一元组t都属于S,且t在属性a2上的取值为i。任取分片S2i,有S2i与S元组数相同,且其主码为al,S21的模式为(al, a2),S22为(a1, a3, a4),S23为(al, a5)。则关于PS1和PS2的分片机制,下列说法正确的是
A)PS1为水平分片,PS2为垂直分片
B)PS1为垂直分片,PS2为导出分片
C)PS1为水平分片,PS2为导出分片
D)PS1为垂直分片,PS2为水平分片
二、应用题
(1)在SQL Server 2000中,现要在employees表的first_name和last_name列上建立一个唯一的非聚集复合索引,其中first_name列数据的重复率是5%,last_name列数据的重复率是10%。请补全下列语句使以first_name和last_name列作为条件的查询效率最高。
CREATE UNIQUE NONCLUSTERED INDEX Idx_Name
ON employees( 【1】 )
(2)在SQL Server 2000中,设有顾客表(顾客号, 顾客名, 所在地区, 年龄),应用系统中需统计指定地区的顾客人数和平均年龄。请补全下列存储过程代码以完成该功能。
CREATE PROC P_Count
@area varchar(20)
AS
SELECT COUNT(*)AS 人数, 【2】 AS平均年龄FROM顾客表
WHERE所在地区=@area
(3)设有顾客表(顾客号, 顾客名, 联系电话)和购买表(商品号, 顾客号, 购买时间),现要统计有购买记录的顾客人数。请补全下列实现该功能的语句。
SELECT【3】FROM购买表
(4)在VB 6.0中,为简化访问数据库数据的编程,经常使用Adodc数据控件来访问数据库中的数据。该控件中用于描述服务器连接信息的属性是【4】 。
(5)在SQL Server 2000中,要授予某数据库中的某个用户具有该数据库中全部用户数据表的插入、删除和修改权限,比较合理的做法是将该用户添加到系统提供的【5】数据库角色中。
(6)设有学生表(学号, 姓名, 性别, 所在系),这些列均不允许有空值。现要建立一个视图,统计“计算机系”的男生人数和女生人数。请补全下列语句。
CREATE VIEW V_Count
AS
SELECT【6】 , COUNT(*)AS人数FROM学生表
WHERE所在系='计算机系'
【7】
(7)事务是由一系列操作组成的,事务的执行表现为事务中各个操作的执行。每个事务应具有结束操作。当一个事务需要终止并取消所有已执行的数据修改时应执行的语句是【8】。
(8)数据仓库是一个面向【9】的、集成的、非易失的,且随时间变化的数据集合。
(9)事务对一个数据项的操作类型决定了数据项上的锁的类型。锁的类型主要有互斥锁(简称X锁)和【10】锁(简称S锁)两种。
(10)在SQL Server 2000中,现要将数据库DB1差异备份到备份设备BK上,并且不覆盖BK上的已有内容。请补全下列备份数据库DBI的语句。
BACKUP 【11】 DB1 TO BK【12】 , NOINIT
(11)在SQL Server 2000中,某数据库中有图书表(书号, 图书名称, 类别)和销售表(书号, 销售时间, 销售数量),其中销售数量大于0。现要查询2009年10月销售的图书名称和类别。请补全下列实现该功能的查询语句。
SELECT图书名称, 类别FROM图书表
WHERE EXISTS(SELECT*FROM销售表
WHERE销售时间BETWEEN '2009/10/1' AND '2009/10/31'
【13】 )
(12)OLAP主要用于支持复杂的分析操作,侧重对决策人员和高层管理人员的数据支持。OLAP的实现方式主要有三种:MOLAP、【14】和HOLAP。
(13)在分布式数据库系统中,数据分布透明性是方便用户使用数据的重要保证。数据分布透明性的最高级别是【15】透明性。
三、设计与应用题
(1)设有某简化的网上购物系统,其ER图如下:
该系统数据之间存在下列约束:
Ⅰ. 一个客户(编号唯一)可以拥有多个订单,每个订单仅属于一个客户;
Ⅱ. 一个订单(编号唯一)可以包含多个订购细目,每个订购细目只属于一个订单;
Ⅲ. 一种商品可以出现在多个订购细目中,一个订购细目只包含一种商品;
Ⅳ. 一个商品类别可以包含多种商品,一种商品只属于一个商品类别。
① 请根据以上约束,标出ER图中各实体集之间联系的基数。(2分)
② 请将ER图转换成符合3NF的关系模式,并给出各关系模式的主码和外码。(4分)
③ 请修改所设计的关系模式使之支持下列功能(仅列出发生修改的关系模式)。(4分)
Ⅰ. 使客户能方便了解每个订购细目的处理状态和到货时间;
Ⅱ. 使客户能方便查询商品供应商的编号、名称、所在城市、联系电话和信誉。(限定一个供应商可以供应多种商品,一种商品只选自一个供应商)
(2)某学校的学籍管理系统实现了对学生学籍信息的管理,其中学生表结构为:学生表(学号, 姓名, 性别, 系号, 是否有学籍),此表中除学号列有唯一索引外,其它列均无索引。
①设学籍管理系统中经常执行如下形式的操作:
SELECT*FROM学生表
WHERE姓名='张三' AND 系号='10' AND 是否有学籍='有'
系统运行中发现这类操作的效率比较低,系统工程师建议:由于查询条件中使用了“系号”、“姓名”和“是否有学籍”三列,建议在这三个列上分别建立索引,以提高查询效率。
请问其建议建立的三个索引是否都能提高查询效率?请简要说明原因。
②设学生表中有下列数据:
并且已经在学生表的姓名列上建立了一个非聚集索引(按姓名拼音升序排序)。请给出查找码“姓名”对应的稠密索引示意图。(4分)
(3)在SQL Server 2000中,设有教师表(教师号, 姓一名, 所在部门号, 职称)和部门表(部门号, 部门名, 高级职称人数)。请编写满足下列要求的后触发型触发器(设触发器名字为tri_zc)。(10分)
每当在教师表中插入一名具有高级职称(“教授”或“副教授”)的教师时,或者将非高级职称教师的职称更改为高级职称时,均修改部门表中相应部门的高级职称人数。(假设一次操作只插入或更改一名教师的职称)