当前位置:文档之家› 《数据库及其应用》PPT课件

《数据库及其应用》PPT课件

[ADDITIVE] [,…]]… [FOR <条件>]][<范围>] 删除和恢复记录:记录删除操作分逻辑删除和物理
删除两步:逻辑删除对要删除的记录加删除标记; 物理删除将带删除标记的记录真正删除。 逻辑删除的记录,可以去掉删除标记从而恢复为正 常记录。
删除表记录相关命令和函数
逻辑删除记录:DELETE [<范围>] [FOR <条件>]
复合索引文件示意
(TAG名称1)
(TAG名称n)
索引项1 物理记录号 …… 索引项m 物理记录号
索引值1 记录号1 ……
索引值2 记录号2 ……
……
…… ……
索引值n 记录号n
……
……
索引类型
主索引:不允许重复值、只能数据库表中使用,主要用在参照完整性检测中; 每个表最多一个;
候选索引:不允许重复值,可定义多个; 普通索引:定义记录的逻辑顺序。
选区命令:SELECT <区编号> | <表别名>
打开表命令:USE <表名> [ALIAS <别名>]…
关闭表命令:USE |CLOSE DATABASE|CLEAR ALL
记录与记录指针及定位
VFP传统操作以记录为单位。表中记录从1开始连续 编号。操作数据时先进行记录定位。用 “记录指 针” 作标识,指针指向的记录为当前记录。记录 定位就是移动指针指向新当前记录。表刚打开时, 记录指针总是指向首记录。函数 RECNO() 求当前 记录号,EOF()、BOF()用于判断指针是否指向表的 首尾。
9. ቤተ መጻሕፍቲ ባይዱ引与索引文件
索引是使记录按某个或某些字段值有序,但不改变记录物理顺序的方法,使记 录有序的字段表达式称为索引项(关键字)。索引方法建立一个专门存放索引 项的文件,在该文件中保存索引项的逻辑顺序,并通过记录指针指向对应物理 记录。存放索引的为索引文件。建立索引的目的:
⒈ 使记录有序;快速定位记录指针; ⒉ 建立主索引实现主键的作用; ⒊ 建立表的联系必须使用索引; ⒋ 用于提高处理速度。
若要以另一种与原表物理顺序不同的顺序来处理 记录,便须对表进行排序或索引。
排序:排序是根据表的某些字段值的大小顺序重 排记录。排序产生重新排列记录顺序的新表,但 原来的表文件不变。排序方法的效率不高,实用 性较差。
排 序 命 令 : SORT TO < 新 表 名 > ON < 字 段 名 1> [/A|/D][/C] [,<字段名2>[/A|/D]/C]…] [<范围 >] [FOR|WHILE <条件>][FIELDS <字段名表>]
COPY TO <文件名>[<范围>] [FOR<条件>] [FIELDS LIKE|EXCEPT <通配字段名> | FIELDS <字段名表> ] [其它参数]
任何文件复制: COPY FILE <文件名1> TO <文件名2>
4.3 表的排序与索引
记录的物理顺序:记录的编号顺序。表记录按输 入的先后排列编号。
索引文件概述
在索引文件中,索引项的值可按升序(Ascending)或降序(Descending)排 列,每个值对应于表中的一个记录号,这样便确定了物理记录的逻辑顺序。可 以对同一个表创建和使用不同的索引关键字。
创建索引就是创建一个由指向相应表记录的指针构成的文件。VF的索引文件有 单项索引与复合索引两种。复合索引又分为结构复合索引和非结构复合索引两 类。使用最多的是结构复合索引。
移出命令:REMOVE TABLE <表文件名> [DELETE]
4.2 表的基本操作
定义好的表可以进行以下的基本操作: 表的打开与关闭; 指定表的记录(当前记录); 表记录的显示; 表记录的输入、修改、删除; 表的排序、索引、检索; 表中数据的统计运算; 数据库表建立联系,实现参照完整性; 多表关联操作。
命令名:表示命令的操作功能。用动词或缩写形式。 记录范围:确定命令所操作的记录范围。4种情况:
ALL 所有记录 NEXT <N> 当前记录开始N个记录 RECORD <N> 第N条记录 REST 当前记录到尾记录 缺省范围子句,默认为ALL或默认为当前记录。 FIELDS子句:指定操作的字段,逗号相隔。可缺省。 FOR 和 WHILE 子句:按条件筛选记录。 注意命令书写要求。
删除标记检测:函数 DELETED()检测当前记录是 否做了删除标记,.T.表示有标记,.F.未做标记。
物理删除记录:PACK
恢复记录:RECALL [<范围>] [FOR <条件>]
上述命令中缺省“范围”(无条件)表示当前记录。
逻辑删除生效设置:SET DELETED ON|OFF
清除表:ZAP
索引文件分类
VFP的索引文件有单项索引与复合索引两种。复合索引又分为结构复合索引和 非结构复合索引两类。使用最多的是结构复合索引。
单项索引:一个索引文件中只存放一个索引项,文件扩展名.IDX; 复合索引:一个索引文件中存放多个索引项,每个索引项有一个名称(TAG),
文件扩展名.CDX,非结构复合索引文件有用户命名。结构复合索引文件名与表 文件同名。
数据库及其应用
第4章 数据库及表 的操作
第4章 数据库及表的操

创建数据库及表; 表的基本操作 ; 表的排序与索引; 表数据的统计汇总 ; 数据库表间的关系与参照完整
性; 表之间的关联。
4.1 创建数据库及表
数据库:数据库是一个容器,通过一组系统文件将 相互联系的数据库表及其相关的数据库对象进行统 一的组织和管理,使它们成为相互关联的数据集合。 数据库将有关信息存放在扩展名为.DBC的文件及附 属文件中。
使用索引
索引文件的打开:索引文件只有与库文件同时打开才能发挥作用。结构复合索 引在打开表时是自动打开的。其它索引用命令打开。 USE 库文件 INDEX 索引1,索引2, …(同时) SET INDEX TO索引1,索引2,… (以后)
关闭:关闭表时关闭该表打开的索引。 SET INDEX TO
指定发挥作用的主控索引: SET ORDER TO 索引名|数值
删除索引与索引更新
删除索引: ALTER TABLE 表名 DROP PRIMARY KEY DELETE TAG ALL|索引名1|…
索引更新: 1.自动更新:打开的索引在表修改关键值时 会自动更新索引; 2.按原索引项重新索引: REINDEX
指针定位方式:绝对定位、相对定位和条件定位。
绝对定位:命令中指明记录号。
GO[TO] TOP | BOTTOM | <数值表达式>
相对定位:以当前记录为基准,指出上下位移数。
SKIP [±<数值>]
条件定位:指针定位在满足给定条件的记录上。
关于操作表命令的说明
VFP的表由记录、字段组成,以记录为单位。因此, 表处理命令的一般格式如下: 命令名 [<记录范围>][FIELDS<字段名表>] [FOR<条件>][WHILE<条件>]
显示表、修改表结构
显示记录: LIST | DISPLAY [<范围>] [FOR<条件>] [[FIELDS]<字段名表>] [TO FILE<文件名>] | [TO PRINT] [OFF]
LIST和DISPLAY的区别:缺省范围,LIST显示所有 记录,DISPLAY显示当前记录;显示的记录超出一 屏时,LIST为连续滚动显示,DISPLAY为分屏显示。
CREATE [<表文件名>|?]
定义M型、G型字段自动生成与表同名的备注文件 (.FPT)。若创建表前指定当前数据库,则创建的 表将作为数据库表,否则作为自由表。许多数据库 表的功能在自由表中不能使用。
表设计器中定义字段名、类型、宽度、小数位、索 引、检验规则等;
数据库表与自由表
自由表不能建立字段级和记录级的规则及约束等。, 自由表的字段名最长为10个字符,数据库表字段名 最长为128个字符,可以有128个字符的长表名。
表的打开与关闭
表的打开:建好的表存放在磁盘上,使用表首先 要将表调入内存,这称为表文件的打开。每个表 在内存中占用一块区域,即文件工作区。可同时 打开多个表,内存事先划分为多个文件工作区并 从1开始编号,最多32767区。前10个区还可以使 用区的别名A~J。一个区最多打开一个表。
每一时刻,VFP总是位于某个工作区,即当前工作 区,绝大部分命令都是针对当前区的表进行操作。 VFP刚进入时当前区是第1区。
(清除表中全部记录,保留表)
ZAP命令等价于:DELETE ALL / PACK的功能,因此 VFP在清表前要询问。打开SET SAFE开关(ON)将 取消询问而直接清表。
复制表文件
防止数据丢失损坏或其他原因,表需要备份或复制。 表结构复制:COPY STRUCTURE TO <文件名>
[FIELDS <字段名表>] [WITH CDX] 表文件复制:
自由表可加入数据库成为数据库表,数据库表也可 移出数据库而成为自由表。
数据库设计器中选择“添加表”,然后从“打开” 对话框中选择要添加到当前数据库的自由表;
添加命令:ADD TABLE <表文件名>[NAME <长表名>]
数据库设计器中选中表选择“移去”变成自由表。 若选择“删除”,将表移出并从磁盘上删除该表文 件。
表:关系模型中的关系在Visual FoxPro中称为表 (Table),一个表以一个文件的形式保存(扩展 名.DBF)。VFP 中的表分为两种:数据库表和自由 表。创建表包括建立表结构和输入记录。
相关主题