数据库的维护 邓兴国 1995-04-21 一、数据库结构的维护 在一个数据库建立之后,由于需要,可能对其库结构进行维护,增减或修改数据库结构的字段,可用如下命令: MODIFY STRUCTURE [<库文件名>] 使用此命令可以利用全屏幕编辑功能修改数据库结构。 注意,一个字段的字段名、字段类型、字段宽度及小数位数四个参数中,每次只能修改其中一个参数,否则可能产生数据丢失;另外,修改类型时,也可能丢失数据。 二、数据库记录的修改 当数据输入数据库中,需要经常对数据进行维护,包括对记录的添加和数据记录的修改、删除。 (一)数据记录的追加 包括采用交互式输入追加和利用现有数据直接追加两种方式。 交互式追加记录,可用如下命令:APPEND [BLANK]和INSERT [BLANK][BEFORE];利用现有数据追加记录,命令为:APPEND FROM <文件名> [FIELDS<字段名表>][FOR<条件表达式>][TYPE SDF/DELIMITED][WITH 定界符/BLANK] 其中[<表达式>]缺省时,复制指定文件中所有未作删除标记的数据记录,该选择项只对两个库文件中相同的字段起作用。 [[TYPE SDF/DELIMITED][WITH 定界符/BLANK]选项确定指定文件的数据文件类型,缺省为数据库文件,指定选项则允许指定的文件为非数据库文件,隐含扩展名为.TXT,SDF表示非数据库文件中数据为标准格式文件,即该文件每个记录定长,而且以回车换行为结束,每个字之间按规定排列;DELIMITED为紧凑格式文件,即每个记录以回车换行结束,每个记录不要求定长,字段间的定界符由WITH<定界符>选项确定,缺少时定界符为逗号,字符型字段用双引号或单引号括起来,选用WITH BLANK,定界符为空格,此时字符型字段不另加其它定界符。 (二)数据库记录的修改 数据进行修改,这是最常见的维护操作。 1.数据记录编辑 编辑数据记录时,可以利用全屏幕编辑功能修改指定记录,其格式如下: EDIT [[RECORD]<表达式>][FIELDS<字段名表>][FOR/WHILE<条件>] 2.数据记录的修改 CHANGE [<范围>][FOR<条件>][FIELDS<字段名表>] 用此命令可以修改指定<范围>内满足条件的记录中由<字段名表>指定的字段,在修改过程中,可使用全屏幕编辑功能健。 3.窗口式修改 修改数据记录时,可采用窗口翻阅式修改方式,用如下命令: BROWSE [FIELDS<字段名表>] 使用中可用^→、^←键使窗口向左或向右移动一个字段,用↑或↓上移或下移一条记录。 4.数据替换修改 修改数据记录时,可以不用交互输入方式,进接采用替换数据进行修改,用如下命令: REPLACE [<范围>][FOR/WHILE<条件表达式>]<字段名> WITH <表达式> (三)数据记录的删除 一个数据库已经输入的记录,由于种种原因不需要再利用该数据,可以将此数据作删除标记或者将已删除标记的记录恢复删除,或将其永久删除,以及一次性删除库中所有记录。 1.标记删除记录 对于库中不需再利用的数据,可用如下命令将其做上删除标记。 DELETE [<范围>] [FOR/WHILE<表达式>] 做上删除标记后,一些数据库操作命令对它将无效;做上标记后,在记录号前面将加上‘*'号标记,此时该记录仍保存在库中,需要时可以用命令恢复删除标记。 2.恢复删除标记 对于做上删除标记的记录,还可以用如下命令恢复删除标记: RECALL [<范围>] [FOR/WHILE<条件表达式>] 3.永久性删除记录 对于做上删除标记的记录,可用如下命令永久性删除该记录: PACK 此命令可以将做上删除标记的记录,使其不再保存于数据库中。 4.无条件删除所有记录 ZAP 用此命令,可以一次性将当前库所有记录永久删除。不再保存于库中,使用此命令应特别小心,系统在真正删除前将提示“是否真的删除?”,回答“Y”则删除所有记录,回答“N”将不做任何操作。