数据库的维护

Author: 邓兴国 Date: 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”将不做任何操作。