实验三

一、

1.              实验题目:

 

数据库及表的基本操作

 

二、

 

目的与要求:

(1)掌握数据库的建立、修改、删除等操作方法。

(2)掌握数据表结构的设计、建立、修改等操作;

(3)能够打开、关闭表,熟练掌握记录的定位、追加、插入、修改、删除、替换等操作。

(4)掌握创建排序与索引的方法。

(5)掌握自由表、多表的操作。

三、实验内容

实验3-1  在指定目录(D:\ vfp)下,创建一个名为商品进货销售系统的项目文件,在此项目中创建名为商品管理的数据库文件。

(1)       D盘以新建文件夹vfp

(2)       进入VFP系统环境,在命令窗口中输入“set default to d:\vfp, 设置vfp文件夹为默认目录。

(3)       VFP系统窗口中,选择“文件”菜单下的“新建”,在“新建”对话框选择项目,单击“新建”按钮,打开“创建”对话框,在保存类型组合框中选择“项目”,在项目文件组合框中输入商品进货销售系统。如下图:

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

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

1、商品表

2、供应商表

 

3、订购单表

 

 

实验3-  表的显示浏览

1、              打开并浏览各表(browse)。

2、              查看它的表结构与记录数据,包括其中的备注字段与照片字段的数据。

3、              分别用listdisplay显示表的内容。

实验3-表结构的显示、修改、复制练习

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-数据输入练习 (假设建完表结构后没有立即输入数据)

1)用浏览方式输入数据

分别打开自由表:商品、供应商、订购单

选择系统菜单的显示/浏览命令,打开商品表、供应商表、订购单表的浏览窗口。

选择系统菜单的显示/追加方式,在浏览追加方式下录入数据。

2)用编辑方式输入数据

分别打开自由表商品、供应商、订购单

选择系统菜单的显示/浏览命令,打开商品、供应商、订购单的浏览窗口;

选择系统菜单的显示/编辑菜单命令,使浏览窗口中的记录以编辑方式显示;

选择系统菜单的显示/追加方式,在编辑追加方式下录入表数据。

3)给订购单表的金额字段添加响应的数据。

打开订购单表

在命令窗口中输入命令:replace all 金额 with 单价*订购数量

实验3-记录指针的移动练习

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 toset 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

打开商品表,把指针定位在啤酒的记录上,再打开并浏览订购单表,观察指针是否也发生了变化。