实验06 Visual FoxPro自由表及其操作.docx
- 文档编号:10122819
- 上传时间:2023-02-08
- 格式:DOCX
- 页数:19
- 大小:368.24KB
实验06 Visual FoxPro自由表及其操作.docx
《实验06 Visual FoxPro自由表及其操作.docx》由会员分享,可在线阅读,更多相关《实验06 Visual FoxPro自由表及其操作.docx(19页珍藏版)》请在冰豆网上搜索。
实验06VisualFoxPro自由表及其操作
实验六VisualFoxPro自由表及其操作
一、实验目的
学习熟练使用表设计器
学习建立自由表、表索引和表记录的操作
学习设置主控索引
二、实验指导
1、几个个概念
关系:
一个关系就是一张二维表.
字段:
数据表中最小数据单位。
记录:
由若干字段组成,表现为二维的一行。
数据表:
一个关系存储为一个文件,称为”数据表”。
表文件的扩展名为:
.dbf。
若表文件中含有备注型或通用型字段,则还会自动创建一个主名与表文件相同,扩展名为 :
.fpt的备注文件用来存储备注型或通用型字段的信息。
表包含:
表结构、表记录和索引。
它是若干具有相同性质的记录组成。
自由表:
一个不属于数据库的数据表。
索引:
是按某种规则对记录的逻辑排序。
结构化复合索引其规则信息存储在主名与表文件相同,扩展名为:
.CDX的文件中。
2、实验举例
(1)自由表的建立
建立一个数据表的3个关键点:
设计表结构、按表结构创建数据表、向数据表中添加表记录。
设计表结构:
定义字段名、字段数据类型、宽度、小数点位。
例如:
表文件Student.dbf的结构如下表6.1所示:
表6.1数据表Student.dbf字段定义
字段名
类型
宽度
小数位数
NULL
字段名
类型
宽度
小数位数
NULL
学号
字符型
5
是
专业
字符型
8
是
姓名
字符型
8
是
奖学金
数值型
7
2
否
性别
逻辑型
1
是
备注
备注型
4
是
出生日期
日期型
8
是
NULL是等于任何不出现的值,也称空值。
上面除了奖学金字段外都允许使用NULL值。
使用表设计器创建一个新的自由表:
启动VisualFoxPro之后,建立自由表的方法:
①利用菜单命令:
主菜单“文件”/“新建”
②利用工具栏:
单击“新建”工具图标。
不管用那一种方法都会弹出如图6.1所示的“新建”对话框。
单击“新建文件”,就弹出“创建”对话框,如图6.2所示。
图6.1“新建”对话框图6.2“创建”对话框
③若要在项目文件新建一个自由表,先打开项目文件,选择“数据”/“自由表”,再单击右边的“新建”按钮。
弹出如图6.2所示的“创建”对话框。
在“创建”对话框中选择文件保存的盘符和路径;输入文件主名之后,再单击“保存”按钮,就弹出“表设计器”窗口。
填入字段名、宽度、小数点位和NULL之后,如图6.3所示。
图6.3“表设计器”窗口
单击“确定”按钮后,弹出“现在输入数据记录吗?
”的信息框。
如图6.4所示。
图6.4VisualFxoPro信息框
单击信息框中的按钮“否”,结束自由表的建立,此时在在指定的目录下(如:
图6.2所示的Vfp98)生成了两个文件Student.dbf和Student.fpt(因为Student.dbf中包含有一个备注字段。
必须注意:
备注文件是数据表一个组成部分)。
单击信息框中的按钮“是”,弹出如图6.5所示的表记录编辑框。
此时用户可以输入各记录内容。
图6.5记录编辑窗口
假设表记录如下:
学号姓名性别出生日期专业奖学金
99001孙艳F19820512电子250.00
99002赵力T19750506金融150.00
99003黄伟T19811009电子150.00
99004陈静F19800524计算机300.00
99005周明F19800215金融200.00
99006王强T19800106计算机250.00
99007林峰T19780212计算机300.00
99008于理F19820923电子200.00
99009王明T19781223计算机250.00
99010黄孙T19800311金融201.00
图6.6VFP的日期格式设置界面
输入日期型数据时,要注意系统的日期格式的设置。
查看或设置系统的日期格式,可使用主菜单“工具”/“选项”,选择“区域”卡。
如图6.6所示。
在这里可以对日期格式、日期分隔符、年份是否要显示世纪和时间采用12小时制还是24小时制等选项进行设置
输入逻辑型数据时,只能输入字母T、Y、F、N,不要输入表示逻辑常量的两个点号。
要输入备注型字段数据时,把光标移到该字段上,双击左键或按下
要输入通用型字段数据时,双击左键或按下
可以标记电子表格、文档、图片等OLE对象。
记录输入结束之后,关闭记录编辑窗口,编辑的记录内容自动存盘。
关闭数据表
一个数据表处理之后,应及时关闭数据表是一个好习惯。
关闭数据表方法:
①选择菜单“窗口”/“数据工作期”。
弹出一个“数据工作期”对话框,如图6.7所示。
图6.7数据工作期对话框
先选择要关闭的数据表,再单击“关闭”按钮。
②在命令窗口输入:
USE
主菜单“文件”/“关闭”命令不能用于关闭数据表文件。
但退出VisualFoxPro时,打开的数据表文件也同时被关闭。
(2)修改表结构
在VisualFoxPro中表结构可以任意修改:
包括增、删字段;修改字段名、类型、宽度、小数点位数。
修改一个数据表的表结构,首先要按“独占”格式打开数据表。
打开数据表的方法:
①使用菜单“文件”/“打开”,弹出的“打开”对话框。
如图6.8所示。
选定要打开文件之后,单击“确定”按钮,相应的文件就被打开。
请注意,一个数据表文件被打开之后,在主界面上没有任何标志。
只不过在主菜单“显示”下增加“浏览”、“表设计器”两个子菜单。
②单击工具栏上的“打开”工具图标,也可弹出“打开”对话框。
③选择菜单“窗口”/“数据工作期”。
弹出一个“数据工作期”对话框,单击“打开”按钮,也可以弹出也可弹出“打开”对话框。
图6.8“打开”文件对话框
一个数据表打开之后,再选择“显示”/“表设计器”,弹出“表设计器”窗口。
此时可以对表字段进行编辑。
④如果数据是建立在某项目文件中。
打开项目文件,选择“数据”/“自由表”下的数据表名,再单击“修改”按钮。
也可以弹出表设计器。
表结构编辑完成后单击“确定”按钮,系统弹出询问“结构修改为永久性修改?
”的对话框。
用户选择后“是”后,系统自动保存用户修改的结果。
注意:
此时不会自动进入表记录的编辑窗口。
(3)表记录操作
表记录操作:
包括向表添加新记录、删除无用的记录、修改记录、查看记录。
这些操作中除查看记录外,其余几个操作都要求按“独占”格式打开数据表。
要实现表记录操作,目前常用的方法,使用BROWSE浏览器。
打开浏览器的方法:
①当表文件打开之后,选择主菜单“显示”/“浏览”
②当表文件打开之后,选择菜单“窗口”/“数据工作期”。
弹出一个“数据工作期”对话框,选择数据表文件名后,单击“浏览”
③如果数据是建立在某项目文件中。
打开该项目文件,选择“数据”/“自由表”下的数据表名,再单击“浏览”。
以上各种方法打开的BROWSE浏览器,界面如图6.9所示。
说明:
打开浏览器后,在主菜单栏中多了一个菜单选项“表”。
并且原主菜单“显示”下多了“浏览”、“编辑”和“追加方式”等子菜单。
图6.9界面是选择“浏览”的结果。
图 6.9BROWSE浏览界面
若是选择主菜单“显示”/“编辑”,其结果界面将与图6.5类似。
修改记录内容:
只需将光标定位到指定记录和字段上,直接修改。
记着仅当把光标定位另一条记录之后或关闭编辑窗口,修改结果才被确认。
添加新记录:
按
若选择“显示”/“编辑”之后,再选择“显示”/“追加方式”其功能与图6.5一致。
成批替换记录中字段的值
通常用于按指定要求,同时更新多条记录中指定字段的值。
例如要求给“金融”专业学生的奖学金每人加10元。
选择主菜单“表”/“替换字段”,弹出“替换字段”
图6.10“替换字段”对话框
单击“确定”按钮。
完成指定字段值的替换。
删除记录:
在VisualFoxPro中删除记录有逻辑删除和物理删除之分,逻辑删除只是在记录旁边作一个删除标志,必要时可以恢复成正常记录;物理删除才是真正从数据表删除记录,物理删除是在逻辑删除的基础上进行的。
逻辑删除或把具有逻辑删除标志的单条记录恢复成正常记录,其操作:
将光标定位到指定记录上,单击记录上的逻辑删除的标志位(每条记录最左端的空白格)或按下
对于成批记录进行逻辑删除操作:
选择主菜单“表”/“删除记录”,弹出“删除”对话框。
例如:
要逻辑删除80年以前(不包括80年)出生的记录。
在这个对话框中可以选择“范围”、设置“删除条件”。
如下图6.11。
图6.11“删除”对话框
物理删除记录操作:
若要对逻辑删除的记录实现物理删除,只要选择主菜单“表”/“彻底删除”。
在弹出的询问对话框选择“是”。
(3)索引
VisualFoxPro索引是由指针组成的文件,这些指针逻辑上按索引表达式值的顺序(升序或降序)排列,指向数据表(.dbf)的记录。
也可以说,索引是另外建立的一个记录号列表,其顺序是按索引表达式值的顺序排列。
索引类型有:
主索引(不能应用于自由表)、候选索引、普通索引、唯一索引。
索引文件类型:
独立索引文件(.idx),只包含一个索引表达式,索引名为文件主名。
结构复合索引文件(.CDX),可包含多个索引表达式,文件主名与表文件同名。
非结构撮合索引(.cdx),可包含多个索引表达式,文件主名不与表文件同名。
这里只介绍结构复合索引文件的建立。
建立结构复合索引(扩展名为.CDX,主名与数据表文件同名。
以下操作要先打开数据表)
①单项索引
利用表设计器“字段”选卡建立单项索引,如图6.12所示。
图6.12用“字段”选卡建立普通索引
上述操作建立一个普通索引,索引名与字段同名(本例中为“学号”),索引表达式就是对应的字段(本例中为“学号”)。
将界面切换到“索引”选项卡,如图6.13所示。
图6.13“索引”选项卡界面
从图示可见,索引名和索引索引表达式皆为“学号”。
索引类型为“普通索引”。
若要将索引定义为其他类型,单击“类型”下拉列表框中选择相应的索引类型。
单击“确定”按钮,在弹出的信息框中选择“是”。
即完成了单项索引的建立。
②复合字段索引
由两个字段建立复合字段索引的效果是,先按第一字段的值排序,当第一字段值相同时,再按第二字段的值排序。
类似地,可以推广到由三个字段建立复合字段索引等。
首先,在“表设计器”窗口,选择“索引”选项卡,在索引名栏输入索引名,本例中为:
jxj_xh;在“排序”栏上选择“升序”(或“降序”);选择索引类型(例如:
候选索引)。
图6.14建立复合索引
单击“表达式”栏后的按钮,弹出“表达式生成器”。
如图6.14所示。
输入索引表达式,例如:
STR(奖学金,7,2)+学号。
图6.15表达式生成器
单击“确定”返回图6.14状态。
再单击图6.14中的“确定”按钮,弹出的信息框,选择“是”。
即完成了一个复合字段索引的建立。
说明:
索引名可以由用户自主命名(但必须是由标识符组成),索引表达式一般是由字段名组成。
由两个以上的字段组成索引表达式其类型一定是字符型的,若含有非字符型字段,要先转换为字符型再用+或-联接。
如上例中的:
STR(奖学金,7,2)+学号。
使用结构复合索引(以下操作要先打开数据表)
结构复合索引文件会随着相应的数据表文件的打开而自动打开,但数据表的索引顺序通常设置为“无”。
要使得记录按某个索引表达式值的顺序排列显示,必须把该项索引名设置为主控索引。
设置某个索引名为主控索引的操作如下:
①选择主菜单“窗口”/“数据工作期”命令,弹出如图6.16所示对话框。
选择数据表名并单击“属性”按钮(如图示第一、二步),弹出图6.17所示对话框。
在索引顺序栏下选择所需的索引名(如:
jxj_xh),单击“确定”按钮。
图6.16“数据数据期”对话框图6.17“工作区属性”对话框
下图6.18就是设置jxj_xh为主控索引后,浏览数据表的效果。
图6.18设置主控索引后记录显示顺序发生变化
与图6.9比较可以用看出记录顺序的变化。
②当一个数据表被打开之后,先打开BROWSE浏览器。
再执行主菜单“表”/“属性”命令,弹出如图6.17的对话框,在“索引顺序”栏下选择索引名,单击“确定”按钮,再单击Browse浏览器,可发现记录顺序将立即发生变化。
③VFP命令
SetOrderTo<索引名>
例如:
若已经打开表文件Student.dbf。
那么命令
SetOrderToJxj_xh
可以打开Browse浏览器查看运行上述命令后的结果。
再运行命令
SetorderTo学号
再打开Browse浏览器查看运行上述命令后的结果。
三、实验内容
实验前,每位学生要先建立一个工作目录,并把该项目录设置为VFP的默认目录。
以下各题操作之后都要关闭数据表文件。
在VFP中某些操作会在命令生成相应的VFP命令,请读者记下这些命令,并叙述该命令的功能。
1、按要求建立一个自由表,表文件为Grade.dbf:
表结构:
学号(C,5)、课程号(C,4)、成绩(N,6,2)、合格否(L,1)、班级(C,10)
记录:
99001C00157.00、99001C00390.00、99002C00680.00、99003C00278.00、
99003C00578.00、99003C00278.00、99004C00175.00、99004C00692.00、
99005C00475.00、99005C00175.00、99006C00158.00、99006C00567.00、
99009C00393.00、99009C00249.00、99008C00187.00、99008C00457.00
按学号的降序建立一个普通索引。
索引名和索引表达式皆为:
学号。
按课程号和成绩两字段的降序,建立一个普通索引,索引名为:
Kc_cj。
按学号和课程号两字段的降序,建立一个候选索引,索引名为:
Xh_kc。
按课程号的降序,建立单项唯一索引;索引名为:
Kc。
最后关闭表文件。
请记下:
在建立表文件的过程中,有没有出现什么问题,如果有你是怎样解决的?
2、设置主控索引
打开Grade.dbf之后,再打开BROWSE浏览器。
把索引名“学号”设置为主控索引,再单击浏览器窗口,请记下:
浏览器中记录的记录号顺序。
接着依次把Kc_cj、Xh_kc、Kc设置为主控索引,并分别记下浏览器中记录的记录号顺序。
依次运行下述的各条命令,并且在每运行SetOrderTo命令之后,单击一次Browse浏览器窗口,请注意记录号顺序变化。
S="学号"
SetOrderTo&s
S="Kc_cj"
SetOrderTo&s
S="Xh_kc"
SetOrderTo&s
3、先打开Grade.dbf,完成下述操作,记下屏幕提示,分析原因。
按学号字段升序,建立候普通索引;索引名为:
学号。
按学号字段升序,建立候选索引;索引名为:
Xh。
按课程号和成绩两字段的升序,建立一个候选索引,索引名为:
Kc_cj。
4、先按实验举例中提供的表结构和记录,建立一个表文件:
Student.dbf。
按专业和出生日期的升序,建立一个普通索引,索引名为:
专业_出生日期。
按学号字段的升序,建立一个候选索引,索引名为:
学号。
追加一条新记录:
99011谢瓦T19860125电子0.00毕业于三中
再追加一条记录:
99010付新F19881223金融0.00
请注意此时屏幕提示信息,分析其原因。
把学号99010改为99012再输入。
在出生日期下添加一个字段:
民族(C,4)。
各记录民族字段的值分别为:
汉、回、藏、苗、汉、汉、汉、回、回、苗、汉、汉
少数民族学生的奖学金加50元。
5、打开Grade.dbf:
把“合格否”字段的类型改为字符型、宽度为6。
删除“班级”字段。
物理删除学号为99008中成绩不及格的记录。
把课程号为“C003”的成绩加3分。
四、小结
注意:
字段名必须由标识符组成。
特别注意字段名中不得含有空格。
字段数据类型:
VisualFxoPro提供了13种。
字段数据类型要与存储在其中的信息类型相匹配。
字段的宽度应该足够容纳将要存储的信息内容。
必须说明:
仅有数值型、浮动型的字段型的字段宽度由用户设置,其余的皆取系统默认值。
且仅有数值型和浮点型的数据,要设置保留的小数点位数。
关于输入记录的几点说明:
当输入一条记录之后,光标移到另一条记录,编辑过的内容自动存用盘。
输入字符型字段的数据时,光标要定位到输入框的最左端。
如果日期输入之后,光标无法跳到下一字段,一般都是输入数据出错
VisualFoxPro索引有:
主索引(仅用数据库中的表)、候选索引、唯一索引和普通索引。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验06 Visual FoxPro自由表及其操作 实验 06 FoxPro 自由 及其 操作