一、基本操作题(共四小题,第1和2题是7分、第3和4题是8分)
1、打开考生文件夹下的STSC数据库,为STUDENT表建立主索引,索引名为学
号,索引表达式为学号。
2、为SCORE表建立普通索引,索引名为学号,索引表达式为学号,并根据建立
的索引建立STUDENT表和SCORE表之间的联系。
3、为以上联系指定参照完整性,其中插入规则为"限制",更新规则和删除规
则为"级联"。
4、逻辑删除STUDENT表中学号为"S5"的记录。
本题的主要考核点:
建立索引、为已建立索引的表建立联系、为联系指定参照完整性、逻辑删除字段。
解题思路:
1.在表设计器中的索引页面,建立索引名、索引表达式都为学号的主索引。
2.建立两个表的联系。在父表中选中主索引,按住鼠标拖动至子表相应的普通索引上,释放鼠标,联系即已建立。
3.为联系指定参照完整性:
在联系上单击右键,打开"编辑参照完整性"对话框或者在"数据库"菜单中选择"编辑参照完整性",打开"参照完整性"生成器。选择插入规则为"限制",更新规则和删除规则为"级联"。
4.采用DELE命令进行 格式为DELE FOR [条件表达式]
二、简单应用(2小题,每题20分,计40分)
1、在考生文件夹中有一个数据库STSC,其中有数据库表STUDENT、SCORE和
COURSE利用SQL语句查询选修了"C++"课程的学生的全部信息,并将结果按学
号升序存放在CPLUS.DBF文件中(库的结构同 STUDENT,并在其后加入课程号
和课程名字段)。
2、在考生文件夹中有一个数据库 STSC,其中有数据库表STUDENT,使用报表向
导制作一个名为P1的报表,存放在考生文件夹中。要求:选择 STUDENT表中
所有字段,报表式样为经营式;报表布局:列数为1,方向为纵向,字段布
局为列;排序字段选择学号 (升序)报表标题为"学生基本情况一览表"。
第1题,本题的主要考核点是SQL语句的查询
SELECT Student.*, Score.课程号, Course.课程名;
FROM stsc!student INNER JOIN stsc!score;
INNER JOIN stsc!course ;
ON Score.课程号 = Course.课程号 ;
ON Student.学号 = Score.学号;
WHERE AT("C++",Course.课程名) > 0;
ORDER BY Student.学号;
INTO TABLE cplus.dbf
第2题,本题的主要考核点是报表的制作。
启动报表向导可在"文件"菜单中选择"新建"或者单击工具栏上的"新建"按钮,打开"新建"对话框,文件类型选择报表,单击向导按钮。或者在"工具"菜单中选择"向导"子菜单,选择"报表",或直接单击工具栏上的"报表向导"图标按钮。
按照向导提示及题目要求操作即可。
三、综合应用(1小题,计30分)
在考生文件夹下有职员管理数据库staff_8,数据库中有YUANGONG表和ZHICHENG
表,YUANGONG的表结构是职工编码C(4)、姓名C(10)、职称代码C(1)、工资
N(10.2)。ZHICHENG的表结构是职称代码C(1)和职称名称C(8),增加百分比
N(10.2),然后编写并运行符合下列要求的程序:
设计一个名为staff_m的菜单,菜单中有两个菜单项"计算"和"退出"。
程序运行时,单击"计算"菜单项应完成下列操作:
在表yuangong中增加一新的字段:新工资 N(10.2)
现在要给每个人增加工资,请计算YUANGONG 表的新工资字段,方法是根据
ZHICHENG表中相应职称的增加百分比来计算:
新工资=工资*(1+增加百分比/100)
单击"退出"菜单项对应命令 SET SYSMENU TO DEFAULT,使之可以返回到系统菜单,程序终止运行。
本题主要考核点:
菜单的建立、结构化查询语言(SQL)中的联接查询、查询的排序、分组查询、临时表的概念、查询结果的去向等知识点。
本题解题思路:
第一步:利用菜单设计器定义两个菜单项,在菜单名称为"计算"的菜单项的结果列中选择"过程",并通过单击"编辑"按钮打开一个窗口来添加"计算"菜单项要执行的命令。在菜单名称为"退出"的菜单项的结果列中选择"命令",并在后面的"选项"列中输入以下退出菜单的命令: SET SYSMENU TO DEFAULT
第二步:在单击"计算"菜单项后面的"编辑"按钮所打开的窗口中添加如下的过程代码:
SET TALK OFF &&在程序工作方式下关闭命令结果的显示
USE ZHICHENG IN 2 &&在第二工作区打开表ZHICHENG
USE YUANGONG IN 1 &&在第一工作区打开表YUANGONG
ALTER TABLE YUANGGONG ADD 新工资 N(7,2)
&&ALTER TABLE SQL语句可以对现有的表结构进行修改,可以修改表的字段、索引、
&&默认值、有效性等,也可以增加以上内容。增加一个字段如下:
&&ALTER TABLE 表名 ADD 字段名 数据类型标识[(字段长度 [,小数位数])]
SELECT 2
DO WHILE NOT EOF() &&遍历ZHICHENG表中的每一条记录
SELECT 1
UPDATE YUANGONG SET 新工资=工资*(1+ZHICHENG.增加百分比/100);
WHERE YUANGONG.职称代码=ZHICHENG.职称代码
&&UPDATE SQL语句对记录进行修改
SELECT 2
SKIP
ENDDO
SET TALK ON
第三步:以staff_m.mnx名保存菜单,生成菜单,并运行。
责任编辑:小草