第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根据各表的名称、字段名