第1章vfp基本操作

  • 格式:docx
  • 大小:21.80 KB
  • 文档页数:8

第1章vfp基本操作

第1章vfp基本操作(2次课)

一、表和数据库

1. 创建表

表通常是指关系数据库中的关系,一个关系对应一张二维表,表的扩展名为.dbf,用来存储用户数据。

表中要求字段名不能重复。

通用型字段中的数据存储在与文件同名的.fpt文件中。

创建表的命令:create

例1:

38.1.3.在当前数据库中创建表TEST,包括部门号、年份和销售额合计3个字段,

部门号C(2)

年份C(4)

销售额N(8,2)

练习:

22.1.3在"订单管理"数据库中新建一个名为customer的表,表结构如下:

客户号字符型(4)

客户名字符型(36)

地址字符型(36)

34.1.1.建立一个"客户"表,表结构如下

客户编号(C,8)

客户名称(C,8)

联系地址(C,30)

联系电话(C,11)

电子邮件(C,20)

2、表结构的操作——表设计器(打开表,显示|表设计器)

打开/关闭表的命令:use,修改表结构:modify structure 例2:

3.1.3 修改"零件信息"表的结构,为其增加一个字段,字段名为"规格",类型为字符型,长度为8。

10.1.2 为COURSE表增加字段:开课学期(N,2,0)。

54.1.4 为student表增加一个"年龄"字段,类型为数值型(2)。

9.1.2将score表中"成绩"字段的名称修改为"考试成绩"。

39.1.3 在"学生"表的"性别"和"年龄"字段之间插入一个名为"出生日期"的字段,数据类型为"日期型"(修改表结构)。

练习:

24.1.2 在S_T表中增加一个名为"备注"的字段、字段数据类型为"字符"、宽度为30;

29.1.1为表TABB增加一个字段,字段名为"日期",数据类型为日期型。

36.1.1修改"菜单表",为其增加一个字段类型为字符型,宽度为8的"厨师姓名"字段。

58.1.1 首先打开Ecommerce数据库,然后为表Customer增加一个字段,字段名为email、类型为字符、宽度为20。

例3:

20.1.1在考生文件夹下建立一个名为emp_bak的表,其结构与employee表的结构完全相同。

3、表记录的操作——浏览界面(打开表,显示|浏览)

修改表记录:replace …with… for…

显示记录:list for…(不用通配符)

查找记录:locate for / continue

(1)添加记录

34.1.3将如下记录插入"客户"表中。

43100112沈红霞浙江省杭州市83号信箱133********shenhx@/doc/3c7235464.html,

44225601唐毛毛河北省唐山市100号信箱131********tangmm@/doc/3c7235464.html,

50132900刘云亭北京市1010号信箱138********liuyt@/doc/3c7235464.html,

30691008吴敏霞湖北省武汉市99号信箱130********wumx@/doc/3c7235464.html,

41229870王衣夫辽宁省鞍山市88号信箱133********wangyf@/doc/3c7235464.html,

77.1.3.在sdb数据库中建立表course,表结构如下:

字段名类型宽度

课程号字符型 2

课程名字符型20

学时数值型 2

随后向表中输入6条记录,记录内容如下(注意大小写):

课程号课程名学时

c1 C++60

c2 VisualFoxPro 80

c3 数据结构50

c4 JAVA 40

c5 VisualBASIC 40

c6 OS 60

(2)修改记录

9.1.1 将student表中学号为99035001的学生的"院系"字段值修改为"经济"。

81.1.3 在"雇员"表中,将所有记录的EMAIL字段值使用"部门号"的字段值加上"雇员号"的字段值再加上"@/doc/3c7235464.html,"进行替换。

(3)导出数据

80.1.3.打开"商品表",使用BROWSE命令浏览时,使用"文件"菜单中的选项将"商品表"中的记录生成文件名为"商品表.htm"的HTML格式文件。 二、数据库

1. 创建数据库:create database ,打开数据库:open database

2. 数据库中创建表

3. 数据库中删除/移出表(数据库表和自由表相互转换)。自由表是不属于任何数据库的表。数据库表有更多的特性,支持表间联系、字段有效性和参照完整性。

4. 删除视图

练习:

94.1.1 1.新建一个数据库mydatabase,在库中建立数据库表temp,表内容和结构与当前文件夹下的"歌手信息"表完全相同。

22.1.1在考生文件夹下创建一个名为"订单管理"的数据库,并将已有的employee和orders两个表添加到该数据库中。

12.1.1打开考生文件夹下的数据库College,物理删除该数据库中的temp表,然后将3个自由表"教师表"、"课程表"和"学院表"添加到该数据库中。

4.1.1在考生文件夹下打开数据库"订单管理",然后删除其中的customer表(从磁盘中删除)。

53.1.1打开"学生管理"数据库,并从中永久删除"学生"表。

33.1.3将"教师"表从"学生"数据库中移出,使其成为自由表。

18.1.2从SCORE_MANAGER数据库中删除名为NEW_VIEW3的视图。

66.1.1用命令新建一个名为"外汇"的数据库,并将该命令存储于one.txt中;

索引

1.索引文件:单索引、结构复合索引、非结构复合索引。

2.使用索引的主要目的:提高查询速度。

3.建立索引是创建一个索引文件,该文件包含有指向表记录的指针。索引文件不改变表中记录的物理顺序。

4.要求指定字段或表达式不出现重复值,应该建立的索引是主索引或候选索引。主索引只能创建在数据库表 中,每个数据库表只能创建一个主索引。

5.创建索引的命令:index on [to]

6.设置当前索引:set order to

7.索引快速定位:seek 索引关键字的值order 索引名例:seek

‘******’order学号

创建索引:(表设计器、index on命令)

例题:

为empolyee表创建索引

(1)索引名为nf,索引表达式为"year(签订日期)"。

(2)索引表达式为"str(组别,1)+职务"。

为orders表创建索引。

(3)索引名为nf,索引表达式为"year(签订日期)"。

(4)为employee表建立一个主索引,为orders建立一个普通索引,索引名和索引表达式均为"职员号"。

练习:4.1、7.1

例:22.1.2为orders表建立一个按降序排列的普通索引,索引名为je,索引表达式为"金额"。

例:32.1.4利用INDEX命令为customers表建立一个普通索引,索引名为khh,表达式为"客户号",索引存放在customers.cdx中。然后将该INDEX命令存入命令文件pone.prg中。

四、数据完整性

数据完整性是指保证数据正确的特性,一般包括实体完整性、域完整性和参照完整性等。VFP提供了实现这些完整性的方法。

(一)实体完整性

实体完整性是保证记录唯一的特性,即在表中不允许有重复的记录。在VFP中利用主关键字(主索引)或候选关键字(候选索引)来保证表的实体唯一性。

(二)域完整性

域约束规则也称字段有效性规则,可以在表设计器中建立。

规则:逻辑表达式、信息:字符串表达式、默认值类型同字段的类型。

例题:

10.1.3.为SCORE1表中的"成绩"字段设置字段有效性规则:成绩>=0,出错提示信息是:"成绩必须大于或等于零"。4.将SCORE1表中"成绩"字段的默认值设置为空值(NULL)。

40.1.2为order表的"订单日期"字段定义默认值为系统的当前日期。

52.1.2通过表设计器为"教师表"的"职工号"字段设置有效性规则:职工号的最左边四位字符是"1102"。

81.1.2 设置"雇员"表中"性别"字段的有效性规则,性别取"男"或"女",默认值为"女"。

练习:

1.1.4 为"供应"表的"数量"字段设置有效性规则:数量必须大于0并且小于9999;错误提示信息是"数量超范围"。(注意:规则表达式必须是"数量>0.and.数量<9999")

13.1.3 为表currency_sl设定字段的有效性,规则为:"持有数量<>0",错误提示信息是"持有数量不能为0"。

68.1.2 为商品表增加字段:销售价格N(6,2),该字段允许出现"空"值,默认值为.NULL.;

(三)参照完整性

父表创建主索引,字表创建普通索引。

例题:

83.1.3通过字段"顾客号"建立ORDER与CUST之间的永久联系、通过字段"商品号"建立ORDER与COMM之间的永久联系。然后为以上建立的永久联系设置参照完整性约束:更新规则为"级联";删除规则为"限制";插入规则为"限制"。

2.1.4建立AUTHORS表和BOOKS表之间的永久联系。(注意索引名和索引表达式,两个索引名相同但表达式不同)

1.1.3通过"零件号"字段为"零件"表和"供应"表建立永久性联系,其中,"零件"是父表,"供应"是子表。14.1.3根据各表的名称、字段名