VFP数据库应用-第03章-数据库和数据表
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
① 结构复合索引文件 与表同名,随表的打开自动打开,随表的关 闭而自动关闭。 当对表中的字段和记录进行改动时,系统会 自动对索引文件中的内容进行维护。 ② 非结构复合索引文件 独立与表另行创建的,不与表同名,必须使 用相应的命令打开。 可以看作是多个单索引文件的组合。 注意:主索引和候选索引都必须随表一起打 开或关闭,所以它们只能存储在结构复合索引 文件中。
四、 记录定位命令
作用:改变表的当前记录 绝对定位命令 Go go top / bottom / record n 相对定位命令 Skip skip / skip n / skip -n
五、自由表和数据库表的相互转化
① 自由表 数据库表 Open database 数据库名 Add table 自由表名 ② 数据库表 自由表 Open database 数据库名 Remove table 表名 ③ 自由表的删除 Delete file 自由表名
2、向表中添加记录
Append [ Blank / From ]
说明: • 无可选项时,向表的末尾追加记录,可以追 加无数条,输入结束后直接关闭表即可; • Blank 表示在表文件的尾部追加一条空记录; • From 表示将另一个表文件中的内容追加到 当前表的末尾,但两个表必须有相同的字段 格式和字段类型。
二、打开数据库 Open Database
三、修改数据库 Modify
数据库名
Database
数据库名
四、删除数据库 Delete Database 数据库名 [ Recycle / Delete Tables ]
注 意:
Recycle 选项将删除的库放入到回收站当中, 不立即删除; Delete Tables 选项在删除库的 同时,将库中的表也删除掉;选项缺省时只删 除库的结构,其中所包含的数据表转化为自由 表; 删除库之前必须将其关闭。
1. 单索引文件 ( 后缀名: . Idx )
文件中只包含一个索引标识,文件名不能和 表同名,不能随表的打开而自动打开。 2. 复合索引文件 ( 后缀名:. Cdx ) 复合索引文件能在一个独立文件中存储多个 索引,必须为每个索引建立独特的标识名(TAG)。 根据创建方式的不同可以分为以下两类:结构 复合索引文件和非结构复合索引文件。
举 例
create table student (学号 c(8) , 姓名 c(6) ,性别 c(2) ,出生日期 d(8) , 是否团员 c(2) , 简历 m(4) )
注 意:
① 在命令窗口输入该命令回车后,主屏 幕上不出现任何的内容,系统自动生 成一个空表的结构,等待向其中输入 记录; ② 注意简历字段内容的输入。
3、打开表: Use
表名
4、浏览表结构:Browse 5、关闭表:Use / Close All 6、浏览表结构: List / Display Structure 7、修改表结构: Use 表名 Modify Structure 8、复制表:Copy To 表名 [ fields 字段列表 ]
9、显示记录:List / Display [ Fields 字段列表 ] [ 范围 ] [ For 条件 ]
12、恢复删除的记录
Recall [ 范围 ] [ For / While 条件 ]
二、 对字段的操作
① 添加字段
Alter table 表名 add column 新字段名 类型( 宽度 )
② 删除字段 Alter table 表名 drop column 字段名
③ 字段的重命名 Alter table 表名 rename column 字段名 to 新字段名 ④ 字段的批替换 Replace [范围] 字段名1 With 表达式 1, 字段名2 With 表达式 2, . . . . . . , 字段名n With 表达式 n [ For / While ] 条件 注意:无范围选项时,只对当前记录进行替换
一、表记录的相关操作
1、建立表 Create Table 表名(字段名1 类型(宽 度),字段名2 类型(宽度),字段名3 类型(宽度),……,字段名n 类型(宽度)) 注意: 字段名的命名规则同变量名; 自由表的表名不能超过 10 个字符;数 据库表的表名最多可为 128 个字符; 创建表时,表中如含有 M 和 G 类型的字 段,则自动生成后缀名为 .fpt 的与表同名 的备注文件。
③ 关闭索引 Set Order To ④ 删除索引标识名 Delete Tag 索引标识名 / All 四、主索引 1. 建立主索引的建立与删除 Alter Table 数据库表名 Add Primary Key 索引字段 Tag 索引标识名 2. 删除主索引 Alter Table 数据库表名 Drop Primary Key
排序之后,根据排序字段值的顺序生成一个 新表;而之前的原表依然存在,其中记录的物 理顺序不变。
㈡ 索引
索引是一种逻辑排序方法,它不改变记录在 物理上的排列顺序,而是建立一个与原文件相对 应的索引文件,索引文件中存储了一组记录指 针,它指向原文件的记录;不会建立一个新表。
一、索引的类型
按功能可以分为以下的几类:主索引、候选 索引、普通索引和唯一索引。
Βιβλιοθήκη Baidu
三、与表相关的测试函数
① 文件尾测试函数 Eof () 测试指定表文件的记录指针是否指向文件尾 文件尾:表文件最后一条记录的下方 ② 文件头测试函数 Bof () 测试指定表文件的记录指针是否指向文件首 文件首:表文件中第一条记录的上方, 相当于表结构的部分
③ 记录号测试函数 Recno () 返回当前表文件中记录指针所指向记录的记录号 指向文件尾时,recno () = recc () + 1 ; 指向文件首时,recno () 的值为第一条记录 所具有的记录号。 ④ 记录个数测试函数 Reccount () 返回当前表文件中的所有记录的个数
3.1
数据库
在VFP中,数据库是一个逻辑上的概念和 手段,通过一组系统文件将相互联系的数据表 文件及其相关的数据库对象统一管理和组织。
数据库文件 的扩展名为 .dbc ,在建立数 据库的同时,自动建立与之相关的 .dbt 备注 文件和 .dcx 的库索引文件。
数据库的相关操作
一、创建数据库 Create Database 数据库名
范围条件: All 显示所有记录 Record n 显示记录号为n的记录 Next n 显示当前记录及其后的共n条记录 Rest 显示当前记录及其后的所有记录 说明:使用 List 时,默认值为All;Display默 认为当前记录。
10、插入记录:Insert [ Before / Blank ]
五、查询命令
1. 顺序查询命令: Locate [ 范围 ] [ For / While 条件 ]
查找满足条件的记录,并将指针指向第一个 符合条件的记录,如没有满足条件的则指向表 末尾。 和 Continue 连用时,可以查询满足条件的 所有记录。
2. 索引查询命令:
Seek 表达式
注意:使用命令之前,表达式所对应字段的 记录必须有序。
1. 主索引 ( Primary Key ) 索引字段的值能够唯一标识每条记录;一个表 只能建立一个主索引;索引字段不允许出现重复 值。 注意:主索引只存在于数据库表中。 2. 候选索引 ( Candidate Index ) 索引字段的值能够唯一标识每条记录;一个表 可以建多个候选索引;索引字段不允许出现重复 值,可以在数据库表和自由表中建立。 注意:可以将候选索引视为主索引的候选项。
3. 复合索引文件相关命令
⑴ 建立索引:Index On 字段 Tag 索引标识名 [ Of 非结构复合索引文件名 ] [ For 条件 ] [ Ascending / Descending ] [ Unique / Candidate ] ⑵ 打开: ① 打开表的同时打开索引标识 Use 表名 Order 索引标识名 ② 单独打开索引标识 Set Order To 索引标识名
2. 单索引文件相关命令
⑴ 建立:Index On 字段 To 索引文件名 [ For 条件 ] [ Unique ] 注意:单索引文件只能建立升序索引。 ⑵ 打开: ① 打开表的同时打开 Use 表名 Index 索引文件名 ② 单独打开 Set Index To 索引文件名 ⑶ 关闭索引文件:Set Index To
第三章
数据库和数据表
本 章 要 求
掌握建立数据库以及对数据库的一系列相关操作; 掌握建立表、定义表中的数据类型、向表中添加 记录、显示记录,备注型数据输入、通用型数据 的输入、数据的显示和修改方式、用编辑方式显 示和修改数据、用浏览方式显示和修改数据; 掌握数据表中记录的定位、删除和恢复表中的数 据、逻辑删除表中的记录、恢复表中逻辑删除的 记录和物理删除表中的记录等操作; 掌握索引的定义以及索引的建立与使用。
3. 唯一索引 ( Unique Index ) 允许索引字段值出现重复,但在索引文件中 只保留表中重复出现的第一条记录;可以在数 据库表和自由表中建立。 4. 普通索引 ( Regular Index ) 允许索引字段值出现重复,可以在数据库表 和自由表中建立。 二、索引文件的类型 索引保存在索引文件中,分为以下两类:单 索引文件和复合索引文件。
㈠ 排序
Sort To 新表名 On 字段名1/[A][D][C], 字段名2/[A][D][C], . . . . . . 字段名n/[A][D][C] [范围][For / While 条件][ Fields 字段名] 注意: ① 使用多个字段名排序时,字段名之间以逗 号分隔; ② A为升序,D为降序,C为不区分大小写; ③ 备注型和通用型字段不能作为排序字段。
• 无可选项时,在当前记录的末尾插入一条记
录; • Before 在当前记录的前面插入记录; • Blank 在当前记录的后面插入一条空白记录; • 两个选项同时存在时,在当前记录的前面插 入一条空白记录。
11、删除记录
记录的删除分为以下两种: 逻辑删除:只给记录做一个 删除标记,并不 真正从表中删除,仍然可以看到 物理删除:将做了逻辑删除标记的记录从表 中彻底的清除 Delete [ 范围 ] [ For / While 条件] Pack Delete All 将表中记录物理删除 Zap = 只留下空表的结构 Pack
作用同Locate命令,和 Skip 连用时,可以 查询满足条件的所有记录。 查找的表达式必须用相应的定界符扩起来。
五、 关闭数据库 Close Database / Close All 说 明: 前者为关闭当前数据库; 后者为关闭所有文件,包括所有打开的数 据库和其中的表,以及所有打开的自由表, 同时还有所有打开的索引。
3.2
数据表
表的后缀名是 .dbf ,表可以分为以下两 种类型:数据库表和自由表。 建立在数据库中的表称为数据库表,独立 于数据库存在的表是自由表。 数据库表和自由表可以相互转化。把自由 表放入数据库中,它就成为数据库表,同时 具有数据库表的某些属性;若把数据库表从 数据库中拖出,它就变成自由表,同时失去 某些数据库表的属性。
三、索引的建立、使用和维护
1. 相关说明 索引名只能以字母或汉字开头且不超过10 个字符,可以和索引字段同名; 索引字段可以是单个字段,也可以是由多个 字段组成的表达式,中间使用“+”连接。先 以 第一个字段的值进行排列,第一个字段值相同 时再以第二个字段的值进行排列,依次类推; 多字段组成的字段表达式必须具有相同的类 型,不同时通常都转换成字符型。
3.3 排序和索引
打开表之后,显示在你面前的记录是以输入 顺序排列的,这时记录的物理顺序与记录号是 一致的。单纯从记录号看记录是有序的; 但如 果拿出某一个字段看,记录就有可能无序了。 在实际应用中,常对记录根据需要按某一字段 的内容进行重新排列。 可以重新排列表中记录顺序的方法两种,分 别是有:排序,索引。