2、建立“学生成绩数据库.dbc”中表之间的永久关系,表student.dbf和表assign之间是一对多关系,表course.dbft 表assign之间是一对多关系。 操作步骤:
(1) 分别用鼠标右击每个数据库表,在弹出的快捷菜单中选取“修改”选项,出现“表设计器”窗口。
(2) 对表student.dbf,建立以学号为索引表达式的主索引;对表assign.dbf,建立以学号为索引表达式的普通索引。 (3) 建立永久关系。
将鼠标指向“student.dbf”表中的主索引“学号”,按下鼠标左键拖动到“assign.dbf”表中的普通索引“学号 ”上,然后释放鼠标左键,这时拖动过程中出现的小方块消失,并可看到两个表之间出现了一条连接线,表示两个表间的关系已经建立。
(4)运用同样的操作步骤建立表course和表assign之间的关系。 3、为表student和表assign之间建立的联系指定参照完整性,其中插入规则为“限制”,更新规则和删除规则为“级联”。
在数据库设计器窗口中单击鼠标右键,弹出快捷菜单,选择“编辑参照完整性”选项,在“参照完整性生成器”对话框中,选取父表列中的表student,再选中插入规则选项卡,点击“限制”单选钮。然后分别选中更新规则选项卡和删除规则选项卡,点击“级联”单选钮,最后单击“确定”。
验证插入规则是否“限制”:为成绩表assign增加一条记录,学号为“20080033”,由于学生表记录中无学号为“20080033”的学生记录,因此增加不了。
验证更新规则是否“级联”:把“student.dbf”中的学号“20080005”改为“20080105”,查看assign.dbf中的相关记录是否随之修改了。 验证删除规则是否“级联”:删除student.dbf”中的学号“20080001”的记录,查看assign.dbf中的相关记录是否随之删除。 (三)多表操作 1、工作区选择操作。
2、分别在两个工作区打开“student.dbf”与“assign.dbf”,建立表间的临时关联,移动student.dbf的记录指针,查看某个学生的成绩记录。
五、 实验注意事项
1、若要修改记录,必须在打开表时设置独占方式,在打开对话框选择“独占”复选框,或在USE命令中加EXCLUSIVE选项。
2、用COPY FILE复制带有备注文件的表时,除安排一条命令复制表文件之外,还要安排一条命令复制备注文件,否则,在Visual Foxpro环境下不能打开复制所得到的新表。
六、 思考题
1、分别用命令 LIST 和 DISP 显示表中的记录,这两个命令有什么不同之处?
2、追加新纪录的菜单命令有几种,他们有什么不同? 3、什么是表间的一一关系、一多关系?
实验四 Visual FoxPro6.0程序设计基础
一、 实验目的
1、熟悉程序的编辑环境以及VFP程序文件的建立、运行与调试方法,掌握VFP的基本输入输出命令,了解常用环境设置命令和程序控制命令,掌握顺序结构和分支结构的程序设计。
2、掌握循环结构的编写、调试与运行,了解多重循环语句的用法。 3、掌握子程序、自定义函数、过程的编写、调试与运行;了解变量的作用域。
二、 实验原理
程序文件的建立与执行、程序的基本结构
三、 主要仪器及耗材
PIV以上计算机,安装Visual FoxPro6.0
四、 实验内容与步骤
一、顺序结构与选择结构
1、编写程序prog9-1.prg,实现以下功能:输入圆的半径,计算出圆的面积和周长。
分析: 圆周长?2?R 圆面积??R2 参考程序:input “请输入圆半径:” to r l=2*PI( )*r
s=PI( )*r*r
?”圆的周长是”,l ?”圆的面积是”,s
2、编写程序prog9-2.prg,根据输入的学生姓名,从表\中查找该学生的记录信息,并显示在屏幕上。 参考程序:use student
accept “请输入学生姓名:” to xm list for 姓名=xm use return
3、创建程序文件prog9-3.prg,从表student中查找指定日期以后出生的学生。
参考程序:open database 学生成绩数据库.dbc
use student
input “请输入日期:” to rq
select * form student where 出生日期>rq use
close database return
运行该程序时请注意输入日期的格式。
4、编写程序prog9-4.prg,从表\中,根据姓名查询指定学生的记录,若找到了则显示该学生的记录在屏幕上,若没有找到,则输出“XX同学不存在!”(其中XX代表输入的姓名)。 参考程序:set exact on Use student
Input “请输入要查找的学生姓名:” to xm Locate for 姓名=xm If found( ) then
Display Else
?xm+”同学不存在!” Endif Use Return
5、编写程序prog9-5.prg,根据用户输入的百分制成绩,转换成相应的等级输出。等级划分标准为:90-100分 优秀;80-89分 良好;70-79 分 中等;60-69分 及格;60分以下为不及格。 参考程序:input “请输入分数:” to fs
If fs>100 or fs<0 then
Input “分数不对,请重新输入分数:” to fs Endif Do case
Case fs>=90 and fs<=100 ?”你的成绩优秀!真棒啊!” Case fs>=80 and fs<90 ?”你的成绩良好!”