实验三
一、
实验题目:
数据库及表的基本操作
二、
目的与要求:
(1)掌握数据库的建立、修改、删除等操作方法。
(2)掌握数据表结构的设计、建立、修改等操作;
(3)能够打开、关闭表,熟练掌握记录的定位、追加、插入、修改、删除、替换等操作。
(4)掌握创建排序与索引的方法。
(5)掌握自由表、多表的操作。
三、实验内容
实验3-1 在指定目录(D:\ vfp)下,创建一个名为商品进货销售系统的项目文件,在此项目中创建名为商品管理的数据库文件。
(1)
在D盘以新建文件夹vfp。
(2)
进入VFP系统环境,在命令窗口中输入“set default to d:\vfp”, 设置vfp文件夹为默认目录。
(3)
在VFP系统窗口中,选择“文件”菜单下的“新建”,在“新建”对话框选择项目,单击“新建”按钮,打开“创建”对话框,在保存类型组合框中选择“项目”,在项目文件组合框中输入商品进货销售系统。如下图:

(4)
在项目管理器中选择数据选项卡,再选择数据库,单击新建按钮,在弹出的创建对话框中输入数据库名商品管理,单击确定后进入数据库设计窗口如下图,数据库创建完成。

实验3-2 建立商品、供应商、订购单3个表,表结构内容如下:
1、商品表


2、供应商表


3、订购单表

实验3-3
表的显示浏览
1、
打开并浏览各表(browse)。
2、
查看它的表结构与记录数据,包括其中的备注字段与照片字段的数据。
3、
分别用list和display显示表的内容。
实验3-4
表结构的显示、修改、复制练习
(1)用list sturcture 或display structure命令显示表商品、供应商、订购单的结构
use 商品
list structure
display
structure
use 供应商
disp stru
(2)修改订购单表的结构,给订购单增加一金额字段。
① 选择系统菜单的“文件/打开”菜单命令,打开订购单表。
② 选择系统菜单的“显示/表设计器” 或使用modify
structure命令,在主窗口内显示订购单表的表设计器.
③ 在表设计器将表的结构进行修改,增加一金额字段,并设置字段类型为货币型。。
修改表的结构。
(3)用copy structure to 命令复制表的结构。
use 商品
copy
structure to sp
use sp
list stru
实验3-5
数据输入练习 (假设建完表结构后没有立即输入数据)
(1)用浏览方式输入数据
①分别打开自由表:商品、供应商、订购单;
②选择系统菜单的“显示/浏览”命令,打开商品表、供应商表、订购单表的浏览窗口。
③选择系统菜单的“显示/追加方式“,在浏览追加方式下录入数据。
(2)用编辑方式输入数据
①分别打开自由表商品、供应商、订购单;
②选择系统菜单的“显示/浏览”命令,打开商品、供应商、订购单的浏览窗口;
③选择系统菜单的“显示/编辑“菜单命令,使浏览窗口中的记录以编辑方式显示;
④选择系统菜单的“显示/追加方式“,在编辑追加方式下录入表数据。
(3)给订购单表的金额字段添加响应的数据。
①打开订购单表;
②在命令窗口中输入命令:replace all 金额 with 单价*订购数量
实验3-6
记录指针的移动练习
(1)利用界面操作对表记录的定位
① 打开表文件商品.dbf
② 选择系统菜单的“显示/浏览”命令,打开商品.dbf的浏览窗口。
③ 选择系统菜单的“表”,单击“转到记录”命令,则进入“转到记录”对话框。分别就此对话框中的六个选项进行操作。
(2)打开表商品,在命令窗口中输入vfp命令完成如下练习。
① 将指针移到最后一条记录上,显示该记录内容。
Go bottom
② 将指针移到第一条记录上,显示该记录内容。
Go 1
或 go top
③ 将指针移到第三条记录上,显示该记录内容。
Go 3 或 skip 2
④ 将指针后移三条记录,显示该记录内容。
Skip 3
Display
⑤ 将指针定位到“饮料”类的记录上,并依次显示每条记录
Locate
For 类别="饮料"
Display
Continue
Display
实验3-7 记录的插入与追加练习
(1)打开表文件商品.dbf,在命令窗口输入vfp命令完成如下练习:
① 在第三条记录前插入一条记录。
Go 3
Insert before
②在第五条记录后插入一条记录。
Go 5
Insert
③追加一条空白记录。
Append blank
实验3-8 表中数据记录删除练习
(1)开任一已建立的数据表,在其浏览窗口中进行记录的逻辑删除、恢复删除、物理删除练习。
(可选择表菜单进行操作)
(2)用vfp命令进行记录的逻辑删除、恢复删除、物理删除练习,然后打开浏览窗口,观察效果。打开表商品,完成如下操作:
①逻辑删除前三条记录(delete 命令)。
Go top
Dele next
3
②撤消对三条记录所加的删除标志(recall命令)。
Go top
Recall
next 3
③逻辑删除的的所有记录。
Dele for 类别="烟酒"
④撤消对所有记录所加的删除标记。
Recall all
⑤插入一条新的记录,然后用pack命令进行彻底删除。
Insert / Dele / Pack
实验3-9 排序操作练习。
用sort命令对订购单等表文件进行排序操作。
(1)
打开订购单.dbf,按到货日期升序,到货日期相同时商品单价降序得到表订购单2;打开订购单2.dbf表,进行浏览。
Sort on 到货日期, 商品单价/d to订购单2
Use订购单2
Browse
(2)
打开供应商.dbf,按城市升序,序得到表供应商2;打开供应商2.dbf表,进行浏览。
Sort on 城市 to 供应商2
Use 供应商2
Browse
实验3-10 索引的建立与使用操作练习。
用index命令对商品、供应商、订购单等表文件建立索引文件。
(1)
在商品(商品编号)、供应商(供应商编号)、订购单(商品编号+供应商编号)上建立主索引。
①在“项目管理器”中,选择想要加入字段的“表”,然后选择“修改”按钮。在所显
示的“表设计器”中,选择“索引”。
②在“索引名”框中,输入索引名。
③在“类型”处,选择索引类型。
④在“表达式”框中,输入“索引表达式”,或单击右侧“…”按钮,系统进入“表达式生成器”对话框,来定义表达式。
(2)
用命令在订购单(商品编号)和订购单(供应商编号)上建立普通索引。
Use 订购单
Index on商品编号 tag spbh
Index on供应商编号 tag gysbh
(3)
对商品表按商品名建立单索引文件。
Index on 商品名称 to spmc
用set
index to、set order to命令对表进行索引的打开操作。
实验3-11 索引查询练习
利用seek命令对相关表进行查询操作。假设当前使用商品表,将指针定位在商品编号为S10003的记录上.
Use 商品
seek "S10003" order 商品编号
实验3-12 建立表之间的永久联系并设置参照完整性
(1)
建立商品和订购单、订购单和供应商之间的联系。
①打开商品管理数据库设计器。
②在数据库设计器中用鼠标单击选中商品表中的主索引商品编号,按住鼠标左键,并拖动鼠标到订购单表的商品编号索引上(鼠标箭头会变成小矩形状),最后释放鼠标联系就建立好了。
③用同样的方法可以建立供应商和订购单之间的联系如下图。

(2)
设置商品和订购单的更新规则为级联,试把一商品编号修改,看订购单表的记录是否发生了改变。参照完整性对话框如下:

实验3-13 多工作区的应用
(1)
在1号和2号工作区内分别打开商品、供应商和订购单3个表,并选择1号工
作区为当前工作区。
SELECT 1
USE 商品
SELECT B
USE 供应商
SELECT 3
USE 订购单
SELECT 1
或:USE 商品 IN 1
USE 供应商 IN 2
USE 订购单 IN 3
(2)
在1号和2号工作区打开商品和订购单,在1号工作区内查看当前记录的商品
编号、商品名称、订购数量、商品单价等字段内容。
SELECT A
USE 商品
SELECT B
USE 订购单
SELECT A
DISPLAY 商品编号,商品名称,B.订购数量B->商品单价
(3)
将表文件.DBF和订购单.DBF以商品编号为关键字段建立关联。
SELECT 2
USE 订购单
INDEX ON 商品编号 TAG商品编号
SET ORDER TO 商品编号
SELECT 1
USE 商品
SET RELATION TO商品编号 INTO 2
打开商品表,把指针定位在啤酒的记录上,再打开并浏览订购单表,观察指针是否也发生了变化。