《数据库原理试题.pdf》由会员分享,可在线阅读,更多相关《数据库原理试题.pdf(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、一、选择题 1-5 CBBDD 1.以下数据结构中不属于线性数据结构的是_C_。A、队列 B、线性表 C、二叉树 D、栈 2.在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是_B_。A、可行性分析 B、需求分析 C、详细设计 D、程序编码 3.结构化程序设计主要强调的是_。A、程序的规模 B、程序的易读性 C、程序的执行效率 D、程序的可移植性 4.在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是_。A、概要设计 B、详细设计 C、可行性分析 D、需求分析 5.下列关于栈的叙述中正确的是_。A、在栈中只能插入数据 B、在栈中只能删除数据 C、栈是先进
2、先出的线性表 D、栈是先进后出的线性表 6.下面不属于软件设计原则的是_。A、抽象 B、模块化 C、自底向上 D、信息隐蔽 7.对长度为 N 的线性表进行顺序查找,在最坏情况下所需要的比较次数为_。A、N+1 B、N C、(N+1)/2 D、N/2 8.视图设计一般有 3 种设计次序,下列不属于视图设计的是_。A、自顶向下 B、由外向内 C、由内向外 D、自底向上 9.下列有关数据库的描述,正确的是_。A、数据库是一个 DBF 文件 B、数据库是一个关系 C、数据库是一个结构化的数据集合 D、数据库是一组文件 10.下列说法中,不属于数据模型所描述的内容的是_。A、数据结构 B、数据操作 C、
3、数据查询 D、数据约束 11.在下面的 Visual FoxPro 表达式中,运算结果是逻辑真的是_。A、EMPTY(.NULL.)B、LIKE(acd,ac?)C、AT(a,123abc)D、EMPTY(SPACE(2)12.表达式 VAL(SUBS(”奔腾 586,5,1)*Len(”visual foxpro”)的结果是_。A、13.00 B、14.00 C、45.00 D、65.00 13.以下关于自由表的叙述,正确的是_。A、全部是用以前版本的 FOXPRO(FOXBASE)建立的表 B、可以用 Visual FoxPro 建立,但是不能把它添加到数据库中 C、自由表可以添加到数据库
4、中,数据库表也可以从数据库中移出成为自由表 D、自由表可以添加到数据库中,但数据库表不可从数据库中移出成为自由表 14.下面关于数据环境和数据环境中两个表之间的关系的陈述中,_是正确的。A、数据环境是对象,关系不是对象 B、数据环境不是对象,关系是对象 C、数据环境是对象,关系是数据环境中的对象 D、数据环境和关系均不是对象 15.在”报表设计器”中,可以使用的控件是_。A、标签、域控件和线条 B、标签、域控件和列表框 C、标签、文本框和列表框 D、布局和数据源 16.用二维表数据来表示实体及实体之间联系的数据模型称为_。A、实体联系模型 B、层次模型 C、网状模型 D、关系模型 17.用来指
5、明复选框的当前选中状态的属性是_。A、Selected B、Caption C、Value D、ControlSource 18.使用菜单操作方法打开一个在当前目录下已经存在的查询文件zgjk.qpr后,在命令窗口生成的命令是_。A、OPEN QUERY zgjk.qpr B、MODIFY QUERY zgjk.qpr C、DO QUERY zgjk.qpr D、CREATE QUERY zgjk.qpr 19.可以伴随着表的打开而自动打开的索引是_。A、单一索引文件(IDX)B、复合索引文件(CDX)C、结构化复合索引文件 D、非结构化复合索引文件 20.在数据库设计器中,建立两个表之间的一
6、对多联系是通过以下索引实现的_。A、”一方”表的主索引或候选索引,”多方”表的普通索引 B、”一方”表的主索引,”多方”表的普通索引或候选索引 C、”一方”表的普通索引,”多方”表的主索引或候选索引 D、”一方”表的普通索引,”多方”表的候选索引或普通索引 21.下列函数中函数值为字符型的是_。A、DATE()B、TIME()C、YEAR()D、DATETIME()22.下面对控件的描述正确的是_。A、用户可以在组合框中进行多重选择 B、用户可以在列表框中进行多重选择 C、用户可以在一个选项组中选中多个选项按钮 D、用户对一个表单内的一组复选框只能选中其中一个 23.确定列表框内的某个条目是否
7、被选定应使用的属性是_。A、Value B、ColumnCount C、ListCount D、Selected 24.设有关系 R1 和 R2,经过关系运算得到结果 S,则 S 是_。A、一个关系 B、一个表单 C、一个数据库 D、一个数组 25.DBAS 指的是_。A、数据库管理系统 B、数据库系统 C、数据库应用系统 D、数据库服务系统 26.设 X=”ABC”,Y=”ABCD”,则下列表达式中值为.T.的是_。A、X=Y B、X=Y C、X$Y D、AT(X,Y)=0 27.在表结构中,逻辑型、日期型、备注型字段的宽度分别固定为_。A、3,8,10 B、1,6,4 C、1,8,任意 D
8、、1,8,4 28.在标准 SQL 中,建立视图的命令是_。A、CREATE SCHEMA 命令 B、CREATE TABLE 命令 C、CREATE VIEW 命令 D、CREATE INDEX 命令 29.有关 SCAN 循环结构,叙述正确的是_。A、SCAN 循环结构中的 LOOP 语句,可将程序流程直接指向循环开始语句 SCAN,首先判断 EOF()函数的真假 B、在使用 SCAN 循环结构时,必须打开某一个数据库 C、SCAN 循环结构的循环体中必须写有 SKIP 语句 D、SCAN 循环结构,如果省略了子句FOR 和 WHILE 条件子句,则直接退出循环 30.设有图书管理数据库:
9、图书(总编号 C(6),分类号 C(8),书名 C(16),作者 C(6),出版单位 C(20),单价 N(6,2)读者(借书证号 C(4),单位 C(8),姓名 C(6),性别 C(2),职称 C(6),地址C(20)借阅(借书证号 C(4),总编号 C(6),借书日期 D(8)对于图书管理数据库,要查询所藏图书中,各个出版社的图书最高单价、平均单价和册数,下面 SQL 语句正确的是_。SELECT 出版单位,_,_,_;FROM 图书管理!图书 _ 出版单位 A、MIN(单价)AVGAGE(单价)COUNT(*)GROUP BY B、MAX(单价)AVG(单价)COUNT(*)ORDER
10、BY C、MAX(单价)AVG(单价)SUM(*)ORDER BY D、MAX(单价)AVG(单价)COUNT(*)GROUP BY 31.设有图书管理数据库:图书(总编号 C(6),分类号 C(8),书名 C(16),作者 C(6),出版单位 C(20),单价 N(6,2)读者(借书证号 C(4),单位 C(8),姓名 C(6),性别 C(2),职称 C(6),地址C(20)借阅(借书证号 C(4),总编号 C(6),借书日期 D(8)对于图书管理数据库,求 CIE 单位借阅图书的读者的人数。下面 SQL 语句正确的是_。SELECT _ FROM 借阅 WHERE;借书证号 _ A、COU
11、NT(DISTINCT 借书证号)IN(SELECT 借书证号 FROM 读者 WHERE 单位=”CIE”)B、COUNT(DISTINCT 借书证号)IN(SELECT 借书证号 FROM 借阅 WHERE 单位=”CIE”)C、SUM(DISTINCT 借书证号)IN(SELECT 借书证号 FROM 读者 WHERE 单位=”CIE”)D、SUM(DISTINCT 借书证号)IN(SELECT 借书证号 FOR 借阅 WHERE 单位=”CIE”)32.查询订购单号(字符型,长度为 4)尾字符是”1的错误命令是_。A、SELECT*FROM 订单 WHERE SUBSTR(订购单号,4
12、)=”1 B、SELECT*FROM 订单 WHERE SUBSTR(订购单号,4,1)=”1 C、SELECT*FROM 订单 WHERE“1$订购单号 D、SELECT*FROM 订单 WHERE RIGHT(订购单号,1)=”1 33.在关系模型中,为了实现”关系中不允许出现相同元组”的约束应使用_。A、临时关键字 B、主关键字 C、外部关键字 D、索引关键字 34.根据”职工”项目文件生成emp_sys.exe应用程序的命令是_。A、BUILD EXE emp_sys FROM 职工 B、BUILD APP emp_sys.exe FROM 职工 C、LIKE EXE emp_sys
13、FROM 职工 D、LIKE APP emp_sys.exe FROM 职工 35.当前盘当前目录下有数据库:学院.dbc,其中有”教师”表和”学院”表。“教师”表:“学院”表:有 SQL 语句:SELECT DISTINCT 系号 FROM 教师 WHERE 工资=;ALL(SELECT 工资 FROM 教师 WHERE 系号=”02)与如上语句等价的 SQL 语句是_。A、SELECT DISTINCT 系号 FROM 教师 WHERE 工资=;(SELECT MAX(工资)FROM 教师 WHERE 系号=”02)B、SELECT DISTINCT 系号 FROM 教师 WHERE 工资
14、=;(SELECT MIN(工资)FROM 教师 WHERE 系号=”02)C、SELECT DISTINCT 系号 FROM 教师 WHERE 工资=;ANY(SELECT 工资 FROM 教师 WHERE 系号=”02)D、SELECT DISTINCT 系号 FROM 教师 WHERE 工资=;SOME(SELECT 工资 FROM 教师 WHERE 系号=”02)二、填空题 36.若按功能划分,软件测试的方法通常分为白盒测试方法和_黑盒_测试方法。37.数据库系统的三级模式分别为_概念级_模式、内部级模式与外部级模式。38.在最坏情况下,冒泡排序的时间复杂度为 n(n-1)/2。39.
15、在面向对象方法中,信息隐蔽是通过对象的_封装_性来实现的。40.关系模型的数据操纵即是建立在关系上的数据操纵,一般有_查询_、增加、删除和修改四种操作。41.要把帮助文件设置为复制到硬盘上的 Foxhelp.chm 文件,需要在”选项”对话框的文件位置选项卡上设置。42.TIME()的返回值的数据类型是字符 或 C 类型。43.在定义字段有效性规则中,在规则框中输入的表达式中类型是逻辑表达式_。44.设计报表通常包括两部分内容:数据源和布局。45.内部联接_是指只有满足联接条件的记录才包含在查询结果中。46.设有图书管理数据库:图书(总编号 C(6),分类号 C(8),书名 C(16),作者
16、C(6),出版单位 C(20),单价 N(6,2)读者(借书证号 C(4),单位 C(8),姓名 C(6),性别 C(2),职称 C(6),地址C(20)借阅(借书证号 C(4),总编号 C(6),借书日期 D(8)检索书价在 15 元至 25 元(含 15 元和 25 元)之间的图书的书名、作者、书价和分类号,结果按分类号升序排序。SELECT 书名,作者,单价,分类号 FROM 图书;WHERE_单价 BETWEEN 15 AND 25_;ORDER BY_分类号 ASC;47.设有如下关系表 R、S 和 T:R(BH,XM,XB,DWH)S(SWH,DWM)T(BH,XM,XB,DWH)
17、实现 RT 的 SQL 语句是_ SELECT*FROM R UNION SELECT*FROM T。48.设有如下关系表 R:R(NO,NAME,SEX,AGE,CLASS)主关键字是 NO 其中 NO 为学号,NAME 为姓名,SEX 为性别,AGE 为年龄,CLASS为班号。写出实现下列功能的 SQL 语句。插入”95031班学号为 30,姓名为”郑和”的学生记录;INSERT INTO R(NO,NAME,CLASS)VALUES(30,”郑和”,”95031)。49.设有如下关系表 R:R(NO,NAME,SEX,AGE,CLASS)主关键字是 NO 其中 NO 为学号(数值型),N
18、AME 为姓名,SEX 为性别,AGE 为年龄,CLASS 为班号。写出实现下列功能的 SQL 语句。删除学号为 20 的学生记录;_ DELETE FROM R WHERE NO=20_。第二套题答案 1-5 CBBDD 6-10 CBBCC 11-15 DDCCA 16-20 DCBCA 21-25 BBDAC 26-30 CDCBD 31-35 ACBBA 36.黑盒 37.概念或概念级 38.n(n-1)/2 39.封装 40.查询 41.文件位置 42.字符 或 C 43.逻辑表达式 44.数据源 45.内部联接 46.单价 BETWEEN 15 AND 25 或 单价 BETW 1
19、5 AND 25 或 单价 BETWE 15 AND 25 或 单价=15 and 单价=15 and 单价=15 and 单价15 and 单价=25 与 分类号 ASC 或 分类号 47.SELECT*FROM R UNION SELECT*FROM T 或 SELE*FROM R UNIO SELE*FROM T 或 SELECT*FROM R UNIO SELECT*FROM T 或 SELE*FROM R UNION SELE*FROM T 48.INSERT INTO R(NO,NAME,CLASS)VALUES(30,”郑和”,”95031)或 INSE INTO R(NO,NA
20、ME,CLASS)VALUES(30,”郑和”,”95031)49.DELETE FROM R WHERE NO=20 或 DELE FROM R WHERE NO=20 或 DELE FROM R WHER NO=20 或 DELETE FROM R WHER NO=20 数据库笔试题 1.存储过程和函数的区别 存储过程是用户定义的一系列 sql 语句的集合,涉及特定表或其它对象的任务,用户可以调用存储过程,而函数通常是数据库已定义的方法,它接收参数并返回某种类型的值并且不涉及特定用户表。数据库笔试题 2.事务是什么?事务是作为一个逻辑单元执行的一系列操作,一个逻辑工作单元必须有四个属性,称
21、为 ACID(原子性、一致性、隔离性和持久性)属性,只有这样才能成为一个事务:原子性 事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。一致性 事务在完成时,必须使所有的数据都保持一致状态。在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。事务结束时,所有的内部数据结构(如 B 树索引或双向链表)都必须是正确的。隔离性 由并发事务所作的修改必须与任何其它并发事务所作的修改隔离。事务查看数据时数据所处的状态,要么是另一并发事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看中间状态的数据。这称为可串行性,因为它能够重新装载起始数据,并且重播
22、一系列事务,以使数据结束时的状态与原始事务执行的状态相同。持久性 事务完成之后,它对于系统的影响是永久性的。该修改即使出现系统故障也将一直保持。数据库笔试题 3:.游标的作用?如何知道游标已经到了最后?游标用于定位结果集的行,通过判断全局变量FETCH_STATUS可以判断是否到了最后,通常此变量不等于 0 表示出错或到了最后。数据库笔试题 4:触发器分为事前触发和事后触发,这两种触发有和区别。语句级触发和行级触发有何区别。事前触发器运行于触发事件发生之前,而事后触发器运行于触发事件发生之后。通常事前触发器可以获取事件之前和新的字段值。语句级触发器可以在语句执行前或后执行,而行级触发在触发器所
23、影响的每一行触发一次。现有数据库结构及数据如下:学生表(students)st_id st_name(姓名)sex(性别)st001 张杰 男 st002 公孙燕飞 男 st003 王楠 女 st004 王 伟 男 st005 李燕纹 女 st006 孙武 男 老师表(teachers)t_id(主键,编号)t_name(姓名)t_lesson(课程)t001 张老师 数学 t002 李老师 英语 成绩表(results)r_id r_fenshu(int)r_stid r_tid r001 90 st001 t002 r002 68 st005 t001 r003 92 st003 t001
24、 r004 82 st006 t002 r005 70 st002 t002 r006 86 st002 t001 r007 57 st003 t002 r008 76 st006 t001 r009 55 st001 t001 r010 77 st004 t002 r011 58 st005 t002 以上数据库结构中字段未标明具体类型的,皆为 varchar 类型。基础题:1)查询出王伟同学的学生编号。2)查询出名子第三个字是“燕”字的学生的编号和姓名。3)查询显示出所有男学生的姓名及其名子的长度。4)查出数学考试成绩的最低分。5)查出所有女学生的各科成绩。6)查出英语考试成绩的平均分。7
25、)在全部男学生中查询出学生编号最后两名的所有信息,并以学生编号降序显示。8)统计出王楠同学在这次考试中的所有课程成绩的合计分。9)查询所有课程考试中成绩及格,但未达到 90 分的学生的姓名。(不显示重复姓名)10)给所有女学生的考试成绩每科加 10 分。进阶题:1)统计出数学考试的及格人数,并显示出授课老师的姓名。2)按课程统计查询出总分合计最多的课程,显示出该课程的名称、总分、授课老师的编号及姓名。3)在这次的考试中有一个学生缺考了一门课程,根据学校规定,缺考任何一门课程,该学生的其它课程考试成绩也视同无效,故请用一条 SQL 语句删除掉此次缺考学生的其它课程考试成绩。选作题:1)列出数据库
26、里所有的用户表名称。2)使用一条 SQL 语句随机从学生表中取出 5 个学生的信息。高悬赏分求其中的几题的答案!问题补充:谢谢各位大人,这么多人答出来了,是否要我考虑下,怎么送分,大家平均下可以吗?我不晓得有没有这个功能#35,我先找找看,假如不行,我就给第一个答出我全部题目的,大家有意见吗?参考答案:create table students(st_id varchar(20),st_name varchar(50),sex varchar(10)insert into students(st_id,st_name,sex)select st001,张杰,男 union all select
27、 st002,公孙燕飞,男 union all select st003,王楠,女 union all select st004,王伟,男 union all select st005,李燕纹,女 union all select st006,孙武,男 select*from students create table teachers(t_id varchar(20),t_name varchar(50),t_lesson varchar(50)insert into teachers select t001,张老师,数学 union all select t002,李老师,英语 delet
28、e from results create table results(r_id varchar(20),r_fenshu int,r_stid varchar(50),r_tid varchar(50)insert into results select r001,90,st001,t002 union all select r002,68,st005,t001 union all select r003,92,st003,t001 union all select r004,82,st006,t002 union all select r005,70,st002,t002 union al
29、l select r006,86,st002,t001 union all select r007,57,st003,t002 union all select r008,76,st006,t001 union all select r009,55,st001,t001 union all select r010,77,st004,t002 union all select r011,58,st005,t002-1.select st_id from students where st_name=王伟 2.select st_id,st_name from students where st_
30、name like _燕%3 select st_name,len(st_name)as 名字长度 from students where sex=男 4 select min(r_fenshu)as 最低分数 from teachers t inner join results r on t.t_id=r.r_tid where t_lesson=数学 这个是不考虑成绩中有 null 值的 5 select s.st_id as 学生编号,r_fenshu as 分数,r_tid as 课目号 from students s inner join results r on s.st_id=r
31、.r_stid where s.sex=女 如果还要课目的名称的话请用下面的 select s.st_id as 学 生 编 号,r.r_fenshu as 分 数,r.r_tid as 课 目号,t.t_lesson as 课目名称 from students s inner join results r on s.st_id=r.r_stid inner join teachers t on r.r_tid=t.t_id where s.sex=女 6 select avg(r.r_fenshu)from results r inner join teachers t on r.r_tid
32、=t.t_id where t.t_lesson=英语 7.select*from students s inner join results r on s.st_id=r.r_stid inner join teachers t on r.r_tid=t.t_id where s.st_id in(select top 2 st_id from students order by st_id desc)order by s.st_id desc 8 select sum(r.r_fenshu)as 总分 from results r inner join students s on r.r_
33、stid=s.st_id where s.st_name=王楠 9.select distinct s.st_id,s.st_name from students s inner join results r on s.st_id=r.r_stid where st_id not in(select r_stid from results where r_fenshu=90)10 update results set r_fenshu=r_fenshu+10 如果分数不可能大于 100 请用这句 set r_fenshu=case when r_fenshu+10=60 and t.t_id
34、in(select t_id from teachers where t_lesson=数学)and t_lesson=数学 group by t.t_name 2 select top 1 sum(r_fenshu)as 总分,t.t_lesson,t_id,t_name from results r,teachers t where r.r_tid=t.t_id group by t.t_lesson,t_id,t_name order by 总分 desc 3.delete from results where r_stid in(select r_stid from results group by r_stid having count(r_tid)=1)