数据库系统概论期末试卷

更新时间:2023-06-08 19:49:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

一、单项选择题(1—20 每题2分,共40分) (1) 在下列四个选项中,不属于基本关系运算的是( ) A) 连接 B) 投影 C) 选择 D) 排序

(2) 如果一个班能有多名学生,而一个班的任课教师有多个,则教师与学生两个实体之间的关系属于( )

A) 一对一联系 B) 一对二联系 C) 多对多联系 D) 一对多联系 (3) Visual FoxPro支持的数据模型是( )

A) 层次数据模型 B) 关系数据模型 C) 网状数据模型 D) 树状数据模型 (4)程序文件的扩展名是( ) A).dbc B).dbf C).prg D).bak

(5)变量分为内存变量和存在于表中的( ) A字段变量 B) 系统变量 C) 全局变量 D)简单变量 (6) 扩展名为PJX的文件是( )

A) 表单文件 B) 数据库表文件 C) 数据库文件 D) 项目文件

(7) 假设已经生成了名为mymenu的菜单文件,执行该菜单文件的命令是( ) A) DO mymenu B) DO mymenu.mpr C)DO mymenu.pjx D) DO mymenu.mnx (8) 下面有关索引的描述正确的是( )

A) 建立索引以后,原来的数据库表文件中记录的物理顺序将被改变 B) 索引与数据库表的数据存储在一个文件中

C) 创建索引是创建一个指向数据库表文件记录的指针构成的文件 D) 使用索引并不能加快对表的查询操作

(9) 若所建立索引的字段值允许重复,并且表中重复记录只被索引一个,它应该是( ) A) 主索引 B) 惟一索引 C) 候选索引 D) 普通索引 (10) 一个关系中的每一行称为( ) A) 字段 B)表 C)记录 D)字符

(11) 一个数据库名为student,要想打开该数据库,应使用命令( ) A) OPEN student B) OPEN DATA student C) USE DATA student D) USE student

(12) 下列函数中函数值为字符型的是( ) A) DATE() B) TIME() C) YEAR() D) DATETIME() (13)独立于数据库之外的表是( )

A) 数据库表 B)自由表 C) 逻辑表 D) 索引表 (14)可以存储照片的字段类型是( ) A) 通用型 B) 字符型 C) 逻辑型 D) 日期型 (15)在命令窗口中,用( )命令来显示内存变量。 A) list memory B) browse C)clear memo D)close memo (16) 能够将表单的活动对象刷新的方法是( ) A) Hide B) refresh C) Release D) SetFocus

(17) 下面对形状(shape)控件属性的描述正确的是( ) A) CURVATURE属性的设置可以小于0 B) CURVATURE属性的设置可以大于100

C) CURVATURE属性的设置可以改变图形的弯曲度 D) FILLCOLOR属性的设置可以改变图形的边框宽度 (18) 下面对控件的描述正确的是( ) A) 用户可以同时选中一个表单上的多个控件 B) 用户可以在列表框中进行多重选择

C) 用户可以在一个选项组中选中多个选项按钮 D) 用户对一个表单内的一组复选框只能选中其中一个 (19)要编写一个名为Ok的程序,在命令窗口中应输入( ) A) MODI COMM OK.DBF B)MODI PRG OK.PRG C) EDIT COMM OK.PRG D)MODI COMM OK

(20)TIMER控件中( )属性用来设定执行规定操作的时间长短。 A)TIMER B)INTERVAL C)CLICK D)SETFOCUS 二、程序选择(每题2.5分,共10分 数据如下:)

当前盘当前目录下有数据库db_stock,其中有数据库表stock.dbf,该数据库表的内容是: 股票代码(C,6) 股票名称(C,10) 单价(N,6,2) 交易所(C,6) 600600 青岛啤酒 7.48 上海

600601 600602 600603 600604 600605 000001 000002

方正科技

15.20

上海

广电电子 兴业房产 二纺机 轻工机械 深发展 深万科

10.40 12.76 9.96 14.59 7.48 12.50

上海 上海 上海 上海 深圳 深圳

(21) 执行下列程序段以后,内存变量a的内容是 CLOSE DATABASE a=0 USE stock GO TOP

DO WHILE .NOT. EOF()

IF 单价>10 AND 交易所=‘上海’ a=a+1 ENDIF SKIP ENDDO

A) 1 B) 3 C) 4 D) 7

(22) 将所的股票的单价都增加5元,应该用( ) A)REPLACE 单价 WITH 单价+5 B)REPLACE ALL 单价 WITH 单价+5 C)ADD 单价 WITH 单价+5 D)REPL 单价+5 (23) close all use stock skip 3 ? EOF( )

以上语句的运行结果为( ) A).T. B).F. C)3 D)8

(24)USE STOCK GO 2

DELE NEXT 2 PACK

COUNT TO XX ? XX

以上语句运行后,XX的值为( ) A)3 B)4 C)5 D)6

三、填空题(每空2分,共20分)

(1) ( )是相同特性的对象的抽象定义,具有继承性、封装性、多态性。 (2) 项目管理器的 ( ) 选项卡用于显示和管理数据库、自由表和查询等。 (3) VFP的三种程序结构是顺序、( )、( ) (4) 自由表的扩展名是( )

(5) RIGHT(“123456789”,LEN(“数据库”))的计算结果是( )。 (6)在循环中,中止本次循环的命令是( )

(7)一个表中有N个记录,移动指针使函数Bof()的值为真时,记录号为( ) (8)代码thisform.release,含义为( )

(9)FONTUNDERLINE属性用来设置文字是否有( ) (10)FONTNAME属性用来设置文字的( ) 四、程序题(共30分) 1、写出程序的结果(8 分) S=0 For K=1 to 6 S=S+K Endfor ? S ? K

结果为:S=( ) K=( )

2、将上例中FOR循环改为DO WHILE,请填适当的语名在线上。(8分)

S=0

_____________

Do while _______________ S=S+K

______________ Enddo ? S ? K

3、编程求stock.dbf(表在第二题中)中单价的最小(或大)值,并输出相应的记录号与单价的最大(或)值。(14分) 二、参考答案及评分标准: 第一题:每题2分 第二题:每题2.5分 第三题:每题2分

第四题:每题分别为8分、8分、14分 2、参考答案: 一 1-5 D C B C A 6-10 D B C A C 11-15 B B C A A 16-20 B C A D B 二 21-24 C B A D 三 1-5

类、 数据、 选择 循环、 dbf、 456789

6-10

Loop、 1、 释放该表单、 下划线、 字体 四

(1)S=25 k=7 (2)K=0 k<=6 k=k+1

3:编程题答案(此答案不唯一) use stock rn=0 min=单价 max=单价 do while not eof() if min>单价 min=单价 rn=recno() endif if max<单价 max=单价 endif enddo

? “最小值=:”,min ? “最小值的记录号为”,rs ? “最大值:”,max

第一部分 选择题

一、单项选择题:在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。 1.VisualFoxPro是一种( ) C.备注文件

A.DB(数据库) D.程序文件 B.DBS(数据库系统) 3.若要中止部分语句执行而重新开始下一C.DBMS(数据库管理系统) 轮循环的命令是( ) D.OS(操作系统) A.LOOP 2.文件的扩展名为.PRG的文件是( ) B.EXIT

A.数据库文件 C.SKIP B.格式文件 D.GOTO

4.逻辑删除当前表文件的当前记录的命令B.CREATE worker 是( ) C.MODIFY STRUCTUER

A.CLEAR D.MODIFY STRUCTURE TO PRINT B.ZAP 8.下列类型的字段长度用户可以自定的是C.PACK ( ) D.DELETE A.备注型 5.若要从字符串"澳门回归"取出"回归",B.逻辑型 正确的写法是( ) C.日期型

A.SUBSTR("澳门回归",5,4) D.字符型 B.SUBSTR(澳门回归,5,4) 9.刚打开表文件,显示1,2,3号记录的C.SUBSTR("澳门回归",3,2) 正确操作是( ) D.SUBSTR("澳门回归",3,4) A.DISPLAY RECORD 3 6.日期型数据加整型数据的结果是( ) B.LIST 1,2,3

A.数值型 C.DISPLAY NEXT 3 B.逻辑型 D.DISPALY 1,2,3 C.字符型 10.备注型字段中存放的是( ) D.日期型 A.字段值 7.修改名为worker.dbf表文件的结构,正B.字符串 确的命令是( ) C.Memo

A.CREATE worker.dbf D.指向备注文件的指针

二、多项选择题:在每小题列出的五个选项中有二至五个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内,多选、少选、错选均无分。

1.下列命令或命令的组合中可以将所有记录彻底从磁盘上删除的有( )

A.ZAP

B.DELETE ALL C.

DELETE ALL PACK

D.RECALL ALL

2.下列是字符串常量的是( )

A."计算机" B.'计算机' C.[计算机] D.<计算机>

3.下列表达式正确的是( )

A.DATE()+TIME() &&数据类型不匹配 B.DATE()+200 &&结果为日期型数据 C.365-DATE() &&数据类型不匹配 D.365-TIME() &&数据类型不匹配 E.DATE()-CTOD("01/01/1900") 4.如下命令中不需要使用索引文件的是( )

A. LOCATE

B. LIST C. DISP D. SEEK

5.USE命令的相关功能有( )

A. 打开.DBF文件 B. 打开.IDX文件

C. 关闭.DBF文件及相关的.IDX文件 D.调用自程序 E. 退出模块程序 第二部分 非选择题 三、填空题

1. 索引按扩展名来划分包括:简单索引,复合索引两类索引。

2. 用VFP的菜单设计器可以设计两种类型的菜单,它们分别是快捷菜单,下拉菜单。

3. VFP菜单设计器设计的菜单,必须生成菜单程序后才能执行,生成后的菜单程序其扩展名是_MPR。

4. 可以作为容器的控件有(列2个):_表格、页框、容器。 5. LEN("ABCD")=_4_。

6. EOF()函数的作用是:测试当前纪录指针是否位于文件的末尾。 7. 取出字符串"ASDHFASDHKFJ"左侧4个字符方法是:LEFT("ASDHFASDHKFJ",4)。 8. YEAR({09/23/1998})+1的结果是{09/24/1998}。 9. VAL("3")+2的结果是__5__。 10. 如果使用LOCATE命令没有找到你要查找的记录,则FOUND()的返回值为__.F._,EOF()返回值为__.T._。

11. 当前记录指针在第4个记录,发布SKIP命令后,记录指针定位在第__5__个记录。

四、简答和名词解释

A. 数据环境

B. 数据库表和自由表的异同 C. 查询和视图

D.SORT命令与INDEX命令的主要区别

E. 公有变量和私有变量有什么区别,如何定义公有变量?

答案参阅课本相关内容! 五、程序分析题

i=i+1 (1)写出如下程序的执行结果

ENDDO 1.

RETURN SET TALK OFF

2. CLEAR

k5="AB" i=1

DO sub1 DO WHILE i<=70

? k5 IF i/7=INT(i/7)

*sub1.prg ?? STR(i,4)

k5=k5+"200" ENDIF

?k5

RETURN

(2)指出如下程序的功能 1.

SET TALK OFF USE 职工

DO WHILE NOT EOF()

IF 职称="工程师" OR 职称="会计师" REPLACE 工资 WITH 工资+200 ELSE

REPLACE 工资 WITH 工资+100 ENDIF SKIP ENDDO USE 2. USE SB LOCATE FOR NOT 主要设备 IF FOUND()

DISPLAY 名称,价格

REPL 价格 WITH 价格*(1-0.1) DISPLAY 名称,价格 ELSE

WAIT "NOT FOUND!" WINDOW ENDIF USE 3.

USE 选课

SCAN FOR 课程号="655" AND 成绩<60 ? 学号,课程号,成绩 ENDSCAN USE

六、对于下列查询要求,写出SQL-SELECT(SELE ---FROM---WHERE)命令。

已知设备表SB(编号C(5),名称C(6),启用日期D,价格N(9,2),部门C(2),主要设备L)

1. 1. 1. 显示所有设备清单;

2. 2. 2. 列出所有车床的编号、名称、启用日期和价格; 3. 3. 3. 列出所有主要设备的编号、名称和价格;

4. 4. 4. 列出价格在10000以上的所有主要设备的名称、启用日期和价格。 SELE 名称,启用日期,价格 FROM SB WHERE 主要设备 AND 价格>10000 六、编程题

1.编写一个程序,让计算机随即产生一个1-999之间的数,然后从键盘输入一个数,如果输入的数比计算机产生的数小,计算机提示“小”的信息,如果所输入的数比计算机产生的数大,则计算机提示“大”的信息,直到猜中计算机所产生的随机数,并报告你所猜的总次数。

七、面向对象编程

1.设计一个密码验证的表单,写出应该放置哪些控件(可以不局限于上图示例表单的控件),对这些控件(含表单本身)的属性进行设置,并编写事件响应程序。

2.设计一个界面,完成第六题的猜数游戏。要求写出应该放置哪些控件,对这些控件(含表单本身)的属性进行设置,并编写事件响应程序。

3.设计一个界面,上面放置一个命令按钮,如果命令按钮位于表单的左上角,当点击该按钮时按钮移动到表单的中心位置,如果该命令按钮位于表单的中心时,当点击时按钮移动到表单的左上角。

本文来源:https://www.bwwdw.com/article/awf1.html

Top