计算机等级考试:二级VFP机试第6套
来源:优易学  2011-12-9 20:41:46   【优易学:中国教育考试门户网】   资料下载   IT书店

第六套

一、基本操作题(共四小题,第1和2题是7分、第3和4题是8分)

    1、在考生文件夹下建立数据库KS7;并将自由表SCOR加入数据库中。

    2、按下面给出的表结构。给数据库添加表STUD

          字段      字段名       类型     宽度    小数

           1         学号       字符型     2      

           2         姓名       字符型     8

           3         年龄       数值型     2      0      

           4         性别       字符型     2

           5         院系号     字符型     2

    3、为表STUD建立主索引,索引名为学号,索引表达式为学号

       为表SCOR建立普通索引,索引名为学号,索引表达式为学号

4、STUD表和SCOR表必要的索引已建立,为两表建立永久性的联系。

本题的主要考核点:

  数据库的建立、将自由表添加到数据库中、在数据库中建立新表、主索引和普通索引的建立、为已建立索引的表建立联系

解题思路:

1.建立数据库的常用方法:

在项目管理器中建立数据库;

通过"新建"对话框建立数据库;

使用命令交互建立数据库,命令为: CREATE DATABASE [DatabaseName|?]

将自由表添加到数据库中,可以在项目管理器或数据库设计器中完成。在数据库设计器中可以从"数据库"菜单或在数据库设计器上单击右键弹出的菜单中选择"添加表",然后在"打开"对话框中选择要添加到当前数据库的自由表。还可用ADD TABLE命令添加一个自由表到当前数据库中。

2.打开数据库设计器,在"数据库"菜单中或在数据库设计器上单击右键弹出的菜单中选择"新建表",新建表并输入字段。

3.在表设计器中的索引页面建立索引。

4.建立两个表的联系:在父表中选中主索引,按住鼠标拖动至子表相应的普通索引上,释放鼠标,联系即已建立。

二、简单应用(2小题,每题20分,计40分)

    1、在考生文件夹中有一个学生数据库STU,其中有数据库表STUDENT存放学生信

       息,使用菜单设计器制作一个名为STMENU的菜单,菜单包括"数据操

       作"和"文件"两个菜单栏。

       每个菜单栏都包括一个子菜单。菜单结构如下:

         数据操作

           数据输出

         文件

           保存

           退出

         其中:

       数据输出子菜单对应的过程完成下列操作:打开数据库STU,使用SQL的

       SELECT语句查询数据库表STUDENT 中所有信息,然后关闭数据库。

       退出菜单项对应的命令为SET SYSMENU TO DEFAULT,使之可以返回到系统菜

       单。保存菜单项不做要求。

    2、在考生文件夹中有一个数据库SDB,其中有数据库表STUDENT2、SC和

       COURSE2。三个表如下所示:

            STUDENT2(学号,姓名,年龄,性别,院系编号)

          SC(学号,课程号,成绩,备注)

          COURSE2(课程号,课程名,先修课号,学分)

     用SQL语句查询"计算机软件基础"课程的考试成绩在85分以下(含85分)的学

       生的全部信息并将结果按学号升序存入 NOEX.DBF文件中。(库的结构同

       STUDENT2,并在其后加入成绩字段)

第1题,本题的主要考核点是菜单的制作和数据库基本命令。

新建菜单可按下列步骤:选择"文件"菜单中的"新建"命令,在"新建"对话框中选择"菜单",单击"新建文件"按钮。在 "新建菜单"对话框中选择"菜单"按钮,调出"菜单设计器"。也可用CREATE MENU命令直接调出菜单设计器。在菜单名称中填入"数据操作",结果为子菜单,单击编辑;在子菜单的菜单名称中输入"�数据输出",结果为过程。在过程中输入下列命令:

OPEN DATA STU

SELECT * FROM STUDENT

CLOSE ALL

"文件"菜单同上,其中"退出"菜单对应结果为命令,命令为SET SYSMENU TO DEFAULT

第2题,本题的主要考核点是SQL语句的查询。查询如下。

SELECT Student2.*, Sc.成绩;

 FROM  sdb!student2 INNER JOIN sdb!sc;

    INNER JOIN sdb!course2 ;

   ON  Sc.课程号 = Course2.课程号 ;

   ON  Student2.学号 = Sc.学号;

 WHERE Course2.课程名 IN ("计算机软件基础");

   AND Sc.成绩 <= 85;

 ORDER BY Student2.学号;

 INTO TABLE noex.dbf

三、综合应用(1小题,计30分)

   现有医院数据库DOCT3,包括三个表文件:YISHENG.DBF(医生)、

   YAO.DBF(药品)、CHUFANG.DBF(处方)。设计一个名为CHUFANG3的菜单,

   菜单中有两个菜单项"查询"和"退出"。

   程序运行时,单击"查询"应完成下列操作:查询同一处方中,包含"感冒"两个

   字的药品的处方号、药名和生产厂,以及医生的姓名和年龄,把查询结果按处方

   号升序排序存入JG9数据表中。JG9的结构为:(姓名,年龄,处方号,药名,生产

   厂)。最后统计这些医生的人数(注意不是人次数),并在JG9中追加一条记录,将

   人数填入该记录的处方号字段中。

   单击"退出"菜单项,程序终止运行。

   (注:相关数据表文件存在于考生文件夹下)

本题主要的考核点:

菜单的建立、结构化查询语言(SQL)中的联接查询、查询的去向等知识点

解题思路:

利用菜单设计器定义两个菜单项,在菜单名称为"查询"的菜单项的结果列中选择"过程",并通过单击"编辑"按钮打开一个窗口来添加"查询"菜单项要执行的命令。在菜单名称为"退出"的菜单项的结果列中选择"命令",并在后面的"选项"列中输入以下退出菜单的命令:SET SYSMENU TO DEFAULT

"查询"菜单项要执行的程序:

首先打开数据库文件 OPEN DATABASE DOCT3.DBC

我们分析最后的结果是要从三个有相互联系的表中得到信息,这自然要用到联接查询。可以通过表chufan和yao之间的联接我们得到,某一个处方所用到的药品的名字,进而我们可以得到处方中用到包含有"感冒"两个字的处方的处方号。我们也可以通过表chufang和 yisheng之间的联接来得到,某一个处方是那一个医生开出的。这样我便可以得到满足条件的查询。如下所示:SELECT 处方号,药名,生产厂,姓名,年龄 FROM yisheng,yao,chufang WHERE CHUFANG.药编号=YAO.药编号 AND CHUFANG.职工号=YISHENG.职工号 AND 药名 IN ("感冒").另外还要求要按照处方号的升序进行排序,这里要用到ORDER BY 处方号 DESC子句,另外还要求将结果存入JG9中,要用到INTO TABLE JG9.

通过以下的方式来得到生成的JG9中所包含的医生的人数,先生成一个临时表CurTable:SELECT * FROM JG9 GROUP BY 姓名 INTO CURSOR CurTable;然后我们得到临时表有多少条记录并写入变量j中,COUNT TO j

   最后我们利用INSERT将变量j的内容做为一条新的记录插入到JG9中:INSET INTO JG9 (处方名) VALUES (j)。

责任编辑:小草

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训