1、Visual FoxPro数据库与程序设计实验指导书2007/2008第一学期数据库原理及应用实 验 指 导 书四川工程职业技术学院计科系计算机基础教研室 曹冰2007年8月实验一 数据表的创建,数据表的基本操作一、实验目的:掌握数据表结构的建立表的基本操作:表的指针定位;表中记录的追加、记录的删除与恢复、记录的修改、表的过滤;二、实验内容:设计数据表结构,输入数据记录,表的打开和关闭;表结构和记录的修改、复制;表记录的插入和删除及修改;表的过滤等。练习的命令:APPEND、DELETE、RECALL、PACK、EDIT、CHANGE、BROWSE、REPLACE SET FIELDS TO、
2、SET FIELTER TO操作:1创建表的结构:建立学生档案表(XSDA.DBF)和学生成绩表(XSCJ.DBF)的结构。2录入数据记录: 为表XSDA和表XSCJ录入记录内容。3.记录指针的定位:绝对移动指针、相对移动指针、根据条件定位记录指针。4.对XSDA表追加2条记录,记录内容自定;5.逻辑删除87年出生的学生;恢复逻辑删除的记录;6.物理删除4.中增加的记录;7.将苗族学生的入学分增加10%;8.过滤操作:仅显示XSDA表中1987年出生的学生记录;取消记录过滤仅显示XSDA表中“姓名”、“性别”、“民族”字段;取消字段过滤三、实验总结:1.创建表结构有几种方法?请简述。2.简述录
3、入数据记录的方法,录入C、N、D、L、M型字段时注意的问题。3.写出实现以下操作的命令:打开表、定位记录指针、表的显示。4.简述对VFP6.0进行系统配置的步骤,说明指定“文件保存”位置的重要性。实验二 表的排序、索引与查询,表的统计,多表操作一、实验目的:掌握数据表的基本操作二、实验内容:掌握排序、索引的概念,掌握表的排序、索引的建立方法;掌握索引的使用,掌握表的查询表的统计、多表操作操作:1.对XSDA表按出生日期升序排序,产生文件xsda_cs.dbf;2.对XSDA表按性别降序排序,产生文件xsda_xb.dbf;3.对以上建立的2个表的内容输出显示;4.对XSDA表按姓名建立单索引文
4、件xm_idx.idx;5.对XSDA表按出生日期建立结构化复合索引文件,索引标识(TAG)设为csny,索引类型为普通索引;6.对XSDA表按学号建立结构化复合索引文件,索引标识(TAG)设为xh,索引类型为候选索引;7.将“出生日期”设置为“主控索引”,输出xsda表中的记录;8.统计XSDA表中记录数,将结果保存在变量m1中;9.分别统计XSDA表中男生和女生人数,将结果保存在变量m2、m3中;10.同时打开xsda表和xscj表,并按学号建立它们之间的关联;11.同时输出xsda表的学号、姓名、性别等字段和xscj表的课程编号、成绩等字段;12.将内存变量m1m3保存在磁盘上(即建立磁
5、盘文件,文件名为tj.mem);三、实验总结:1.简述实现以上操作的界面操作步骤(即用菜单和对话框进行操作)。2.写出实现上述操作的所有命令的详细内容。3.将表XSDA的使用顺序设置为表的物理顺序,使用什么命令?4对完成10.11.的命令做出详细的解释实验三 创建数据库一、实验目的:掌握数据库的创建二、实验内容:创建数据库、创建数据库表、添加已有的表、数据库表属性的设置。操作:1.创建数据库xsgl.dbc;2打开xsgl数据库,在其中创建数据库表: kc.dbf(课程表);3.将实验一创建的xsda表和xscj表添加到数据库xsgl中;4.在xsda表中按学号为关键字建立主索引,索引标签(t
6、ag)为xh;5.在xscj表中按学号为关键字建立普通索引,索引标签(tag)为xh;6.在数据库xsgl中为xsda表和xscj表按学号为关联条件建立“一对多”永久关系;7.为xsda表设置字段“姓名”的显示属性为“学生姓名”;设置字段“性别”的默认值为“女”;8.浏览xsda表并将浏览窗口图片“抓下来”,做成名为tp_xs.jpg(文件格式为.jpg)的图片上传到服务器相应文件夹中。9.将xsgl数据库窗口图片“抓下来”,做成名为tp_xsgl.jpg(文件格式为.jpg)的图片上传到服务器相应文件夹中。三、实验总结:谈谈本次实验的体会。实验四 分支结构程序设计一、实验目的:掌握顺序、分支
7、结构程序设计二、实验内容:程序文件的建立、修改与运行,顺序结构、分支结构程序的设计及运行操作:1.创建程序文件CX1.PRG,实现如下功能:显示XSDA表中的所有记录显示XSDA表中的所有女生记录查找名字为“曲杰”的记录对“曲杰”的记录做逻辑删除关闭打开的表并返回到命令窗口;2.创建程序文件CX2.PRG,实现如下功能:打开XSDA表并设置“姓名”为主控索引查找名字为“曲杰”的记录,若找到则显示其记录,否则显示“没找到!”3.创建程序文件CX3.PRG,实现如下功能:随机从键盘上输入学生的成绩,若成绩值为10090,则显示“优秀”;若成绩值为8980,则显示“良好”;若成绩值为7970,则显示
8、“中等”;若成绩值为6960,则显示“及格”;若成绩值为60分以下,则显示“不及格”;若成绩值小于0或大于100,则显示“输入错误!”。提示:用INPUT语句接受键盘输入;请用多分支结构语句实现程序的功能。三、实验总结:1.谈谈本次实验的体会。2.将三个程序文件(CX1.PRG、CX2.PRG、CX3.PRG)上传到服务器相应的文件夹中。实验五 循环结构程序设计一、实验目的:掌握循环结构程序设计、掌握过程(子程序)的创建及调用二、实验内容:循环结构的程序设计及调试、子程序的调用。操作:1.创建程序文件CX4.PRG,完善CX2的功能,使程序能多次查找给定姓名的学生。提示:用ACCEPT语句接受
9、键盘输入。2.创建程序文件CX5.PRG,分别用DO WHILE 和SCAN ENDSCAN循环逐一显示XSDA表中所有的汉族学生的记录。3.创建程序文件CX6.PRG,用FOR ENDFOR循环语句实现输出和式S=2+4+6+100。4.创建子程序文件CX7_1.PRG,求n!,再创建程序文件CX7.PRG求和式S=3!+8!+13!三、实验总结:1.谈谈本次实验的体会。2.将五个程序文件(CX4.PRG、CX5.PRG、CX6.PRG、CX7_1.PRG、CX7.PRG)上传到服务器相应的文件夹中。实验六 SQL查询一、实验目的:掌握用SQL命令建立数据表、操作表、查询表。二、实验内容:用
10、SQL命令创建数据库、创建数据表,修改表结构;向数据表中插入、修改、删除记录;SQL的数据查询命令使用。操作:1创建数据库xsgl1;2在数据库xsgl1中创建表xsda1.dbf,其结构参见实验一;3将字段“出生日期”改为“生日”;4向表xsda1中插入4条记录,内容参见实验一;5在表xsda1中删除姓名为“白雪”的记录;6在数据库xsgl1中创建表xscj1.dbf,其结构参见实验一;7向表xscj1中插入6条记录,内容参见实验一;8用SELECT命令完成查询:显示xscj1表中的所有记录;显示xscj1表中的记录,去掉“学号”重复的记录;在xsda1表中查询男生的记录;在xsda1表中查
11、询1986年出生的学生记录;查询所有女生的成绩情况,显示“学号”、“姓名”、“课程编号”、“成绩”字段;查询xscj1表中成绩在8595之间的所有记录;查询xsda1表中所有姓“王”的学生记录;在xscj1表中查询成绩值最高的记录三、实验总结:1简述SQL语言的特点;2写出实现上述操作的各条命令的详细内容。实验七 简单表单设计一、实验目的:表单的设计过程及运行,输入输出类控件设计等二、实验内容:表单创建、表单控件的设计(标签、文本框、命令按钮)、表单的运行操作:设计一个简单的表单(bd1.scx),实现对输入的两个数相乘。表单运行界面如图1所示。三、实验总结:1.写出“乘法器”表单各个控件的主
12、要属性设置;写出“乘法器”表单各个命令按钮的事件代码。2.将表单的设计界面和运行界面图片上传到服务器的相应文件夹中。实验八 表单设计一、实验目的:表单控件与数据表的绑定,控制类控件设计等二、实验内容:表单控件与数据表的绑定,命令按钮控件设计操作:设计一个表单(bd2.scx),对输入的学生姓名在表xsda中查找其记录并显示其基本信息。表单运行界面如图2、图3所示。三、实验总结:1.解释数据“绑定”的含义?2.写出“学生查询”表单各个控件的主要属性设置;写出“学生查询”表单各个命令按钮的事件代码。3.将表单的数据环境设计器窗口界面图片上传到服务器的相应文件夹中。4.将表单的设计界面和运行界面图片
13、上传到服务器的相应文件夹中。实验九 报表设计一、实验目的:掌握报表及报表控件设计、预览报表二、实验内容:报表创建、报表带区设计,报表控件设计,报表的预览操作:1设计一个简单报表(报表1),输出学生档案表,并打印学生人数。报表1的设计界面和预览如图1和图2。2建立分组报表(报表2),分别打印输出男生和女生的平均入学分。报表2的设计界面和预览如图3和图4。三、实验总结:1设计报表的主要任务是什么?2打开“报表设计器”窗口后,其中默认有三个基本带区,即:“页标头”带区、“细节”带区和“页注脚”带区。请简述各个带区中控件的输出周期。3将报表1的数据环境设计器窗口界面图片上传到服务器的相应文件夹中。4将报表1的设计界面和运行界面图片上传到服务器的相应文件夹中。5将报表2的数据环境设计器窗口界面图片上传到服务器的相应文件夹中。6将报表2的设计界面和运行界面图片上传到服务器的相应文件夹中。