一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分) 在考生文件夹下完成下列操作(在"成绩管理"数据库中完成): 1. 为"学生"表在"学号"字段上建立升序主索引, 索引名为学号; 2. 为"学生"表的"性别"字段定义有效性规则, 规则表达式为 性别$"男女"出错提示信息是: "性别必须是男或女"。 3. 在"学生"表的"性别"和"年龄"字段之间插入一个"出生日期"字段,数据类型 为"日期型"(修改表结构); 4.用SQL的UPDATE命令将学生"王三风"的出生日期修改为1983年5月1日,并将该 语句粘贴在SQL2.TXT文件中(第一行、只占一行) 本题的主要考核点: 主索引的建立、字段有效规则的建立,表结构的更改,SQL语言的使用。 解题思路: 1.在表设计器中的索引页面建立索引。 2、建立有效性规则在表设计器中的字段选项卡。在"规则"栏中输入"性别$"男女"","提示信息"栏输入"性别必须是男或女"(不要双引号)。 4.SQL语句的用法 UPDA 学生 SET 出生日期={^1983/05/01} WHER 姓名="王三风" 二、简单应用(2小题,每题20分,计40分) 1、根据考生文件夹下的txl表和jsh表建立一个查询query2,查询出单位是"南京大学" 的所有教师的姓名、职称、电话,要求查询去向是表,表名是query2.dbf,并执行该查询。 2、建立表单enterf,表单中有两个命令按钮,按钮的名称分别为cmdin和 cmdout,标题分别为"进入"和"退出"。 第1题,本题的主要考核点是建立查询。 建立查询可以使用“文件”菜单完成,选择文件--新建--查询--新建文件,将txl和jsh添加入查询中,从字段中选择姓名、职称和电话字段,单击查询菜单下的查询去向,选择表,输入表名query2.DBF。最后运行该查询。 第2题,本题的主要考核点是表单的建立。 可以用三种方法调用表单设计器:在项目管理器环境下调用;单击“文件”菜单中的“新建”,打开“新建”对话框,选择“表单”;在命令窗口输入CREATE FORM命令。 打开表单设计器后,在表单控件工具栏上单击“命令按钮”,在表单上放置两个按钮。分别修改其属性Name为cmdin和cmdout,Caption属性为“进入”和“退出”。 三、综合应用(1小题,计30分) 在考生文件夹下有仓库数据库CK3,包括如下所示两个表文件: CK(仓库号C(4),城市C(8),面积N(4)) ZG(仓库号C(4),职工号C(4),工资N(4)) 设计一个名为ZG3的菜单,菜单中有两个菜单项"统计"和"退出"。程序运行时,单击"统计"菜单项应完成下列操作:检索出所有职工的工资都大于 1220元的职工所管理的仓库信息,将结果保存在wh1数据表(WH1为自由表)文件中,该文件的结构和CK数据表文件的结构一致,并按面积升序排序。单击"退出"菜单项,程序终止运行。(注:相关数据表文件存在于考生文件夹下) 本题主要考核点: 菜单的建立、结构化查询语言(SQL)中的嵌套查询、查询结果的去向等知识。 解题思路: 利用菜单设计器定义两个菜单项,在菜单名称为"统计"的菜单项的结果列中选择"过程",并通过单击"编辑"按钮打开一个窗中来添加"统计"菜单项要执行的命令。在菜单名称为"退出"的菜单项的结果列中选择"命令",并在后面的"选项"列中输入以下退出菜单的命令:SET SYSMENU TO DEFAULT "统计"菜单项要执行的程序: 首先中打开数据库文件 OPEN DATABASE CK3.DBC 下面我们分析所要用到的查询语句的实现,题面要求"检索出所有职工的工资都大于1220的职工所管理的仓库信息",所以得到满足以上条件的仓库号成为解答本题的关键。"所有职工的工资都大于1220的职工所管理的仓库"这个条件可以将其分解为同时满足以下两个条件的结果"仓库号不存在于职工的工资小于等于1220的职工所管理的仓库号中"并且"仓库号存在于表ZG中",而以上两个条件我们可以利用SQL轻松写出来。所以最后形成的查询语句以下:SELECT * FROM CK WHERE 仓库号 NOT IN (SELECT 仓库号 FROM ZG WHERE 工资<=1220) AND 仓库号 IN (SELECT 仓库号 FROM ZG) INTO TABLE wh1.dbf.后面的INTO TABLE wh1.dbf决定了查询的结果是生成一个wh1.dbf文件。 本题还考对查询的排序和查询的去向进行了考核.可以用ORDER BY order_Item [ASC|DESC]来让查询的结果按某一列或某几列的升序(ASC)或降序(DESC)进行排列。而查询的去向可以通过INTO TABLE strTableName 而直接生成一个文件名为strTableName的.DBF表。 (责任编辑:lengke) |