第六章
数据库的基本操作包括:建立数据库文件的结构,数据的录入,数据库的维护,数据库结构的维护,对数据库文件进行排序或建立索引,数据查询,对数据库中的数据进行加工计算,数据的输出。
数据库文件的编辑和处理都要打开数据库文件,打开数据库的含义是将数据文件由磁盘读入内存。关闭数据库文件是将数据库文件从内存存到外存上,并释放该文件所占的内存和工作区。一个工作区不能同时打开多个文件。
建立数据库的结构是定义字段名、字段类型、字段宽度、小数位,打开数据库,记录指针指向第一条记录。
数据库文件名不能用a-j单个字母,因为Foxpro已把a-j作为工作区代号使用了。定义一个关系结构,应说明属性名,属性数据类型及位数。go或goto是数据库记录指针绝对定位命令,skip则是数据库记录指针相对定位命令。
插入记录命令是insert,加上Before子句规定在当前记录前插入记录,而blank子句则表示插入一条空记录。
对数据库中的记录进行逻辑删除(加删除标记操号)的命令是,物理删除的命令则是PACK.
FoxPro中有两种类型的索引文件:一类称为单项索引文件,扩展名为idx,另一类称为组合索引文件,扩展名为cdx.
单项索引文件分为两类,一类是压缩索引,另一类是非压缩索引,组合索引文件分为两类,一类是结构组合索引,另一类是独立组合索引。组合索引总是压缩的。索引所基于的字段称索引项。一个库文件可以建立多个索引,在操作中可以同时打开多个索引,但任何时刻只有一个索引起作用,这个索引称主索引。利用索引文件快速检索的命令是seek和find,如要检索表达式则应该用二者中的seek命令,检索成功一般由found()或eof()函数测试。
FoxPro用键盘为内存变量赋值的语句有accept、input、wait.
FoxPro用命令public定义全局变量,用private命令定义局部变量。
FoxPro中进行文本显示命令是TYPE,能显示FoxPro中的文本文件、命令文件或屏幕格式文件。
use命令可以关闭当前工作区打开的数据库文件,close databases可以关闭所有工作区打开的数据库文件,close all可以关闭所有工作区打开的所有类型的文件,clear all可以关闭所有工作区打开的所有类型的文件,同时释放内存变量,quit命令在退出FoxPro之前关闭所有文件。
每个库文件的开始和结尾都存在一个标志,首记录前是开始标志,尾记录后是结束标志。当前数据库文件的记录数为15,在未打开索引文件的情况下,先执行GO BOTTOM命令,再向下移动指针,此时,函数RECNO()的返回值是16,函数EOF()的返回值是。T.,打开数据库,记录号为1,bof()为。f.,skip –1后,bof()为。t.。当一条普通(非LOCATE)命令中的FOR子句执行完毕后,若范围为ALL或REST,那么记录指针指向末记录后或库文件结束标志,执行完LIST命令后,EOF()函数的值为。T.
备注型字段数据的输入方法与其他字段不同,可把光标定位于memo字段,按Ctrl+PgUp、Ctrl+PgDn、或Ctrl+Home组合键进入FoxPro字处理编辑状态,此时可输入备注型字段内容,编辑结束后按Ctrl+W组合键退出
当备注字段的标识为Memo时,说明备注字段有内容;当备注字段的标识为memo时,说明备注字段没有内容。
在修改数据库结构时, 可用组合键Alt+I输入一个字段, 可用Alt+D组合键删去一个已有的字段,修改完后按Ctrl+W组合键可以将数据结构磁盘。
指针指向的记录称为当前记录。工作区实质就是在内存中开辟的一块区域,用来存放库文件记录。
关联是将两个或多个在不同工作区中打开的库文件联系起来,当一个工作区的记录指针发生变化时,与之关联的工作区记录指针也随之相应改变。进行关联时,当前库文件称为关联库文件,其他工作区的称被关联库文件。
SQL为结构化查询语言,为关系数据库标准语言。
未经说明时,主索引文件是索引文件列表中的第一个索引文件;主标记是复合索引文件中最先建立的的标记。
组合索引的每一个索引项称为一个索引标记(TAG),打开一个组合索引文件相当于打开多个单项索引文件。
当对库文件进行增删等操作时,没有打开的索引文件不能反应库文件的实际内容,为此应对其重建索引。
使用SEEK和 FIND命令的前提条件是打开数据库文件及其相关的索引文件。
要进行分类汇总的数据库文件必须按照适当的表达式进行索引或排序。
FoxPro中用户定义的内存变量的类型是在后赋值确定的。
每条记录的长度等于每个字段的长度加起来,再加上一个逻辑删除标记的固定长度1.
变量被定义为全局变量后,没有被赋值前,默认为逻辑假值。但fox和foxpro这两个特殊的变量默认为逻辑真值。
SQL临时库文件,文件扩展名tmp,该文件一旦关闭,便被系统自动删除。
SQL的数据查询命令主要由三个子句构成select、from和where.。其中select子句和from子句是不可省略的
select命令可在命令窗口直接键入执行,也可通过RQBE交互窗口进行查询,进入方法是选择file菜单的new菜单项,在弹出的对话框中选择query.命令:create query[<查询文件名>]或modify query[<查询文件名>]