建立数据库文件的方法

Author: 冯兴国 Date: 1995-03-24

        在初建立一个数据库时,首先必须了解数据库的结构。
        一个数据库文件由两部分组成,一部分是用户在建立库文件时定义的每一字段的字段名、字段类型和字段宽度等内容被称为库文件的结构数据,存放在库文件的前部也称为库文件头;第二部分称为记录体部分,存放记录数据。
        对于FOXBASE+数据库系统,提供了五种字段类型,分别是:数值型(N型),日期型(D型),逻辑型(L型),字符型(C型)以及备注型(M型)。
        数值型字段(N型):数值型字段的字段值是十进制数据,又分为整数和小数型两类,其字段最大宽度为19个字节(包括小数点位)。
        日期型字段(D型):日期型字段的字段值为日期数据,系统固定其宽度为8个字节,用户无权更改。系统默认格式为美国格式,显示形式为:‘月/日/年',也可用SET DATA命令改变。
        逻辑型字段宽度固定为1个字节,用户无权更改。用以存放逻辑值,只能取两种值:.T.(逻辑真)或.F.(逻辑假),输入时,可以用T、t、Y、y来输逻辑值真,用F、f、N 、n来输入逻辑值假。
        字符型字段(C型):字符型字段的数据值是字符串。字符串由ASCII码字符和GB2321-80中汉字与非汉字组成,每个ASCII字符占一个字节,其余均占两个字节,字符型字段最大宽度为254字节。
        备注型字段(M型)
        备注型字段宽固定为10,用户无权更改。这10个字节不是用来存放段值,而是用来存放一个指针,指向备注文件中存放字段值的位置,在备注文件中,每一备注字段值最多可以占4096个字节,从而扩大了库文件的记录空间,但因其操作为方便,使用较少。
        数据库的建立分直接建立和间接建立两种方式,在直接建立的形式下直接建立数据库文件命令:
        命令格式:CREATE [<文件名>]
        用户在要求建立一个数据库时,在对库文件结构分析之后,可用此命令建立数据库文件的结构。<文件名>由用户自己确定,若不给扩展名,系统自动去加上标准扩展名.DBF。
        注意:使用CREATE命令只是建立数据文件的结构,而数据库的内容则由用户在数据库结构建立完成之后,直接用键盘输入或用其他方式输入。
        间接建立数据库
        间接建立数据库是不直接从键盘输入各字段的描述,而采用其他方式从一个已有的库文件或库文件结构描述文件获得。
        利用结构描述文件建立数据库
        数据库结构描述文件
        数据库结构描述文件是按字段名、类型、宽度和小数据位四个参数定义的,不论库文件的内容如何变化但描述文件是不会变化的。因此,可以将一个数据库的结构描述文件。结构描述文件产生命令如下:
        COPY TO <文件名>   STRUCTURE EXTENED
        其中文件名即是结构描述文件名,它实际是一个特殊的库文件,只不过其字段是固定的,增加它的记录就等于增加对其它库文件字段结构的的描述,利用此文件可以建立一个新数据库。
        利用结构描述文件建立数据库
        我们可以用一个已经存的库结构描述文件来建立一个数据库结构,命令如下:
        CREATE <库文件名>  FROM  <结构描述文件名>
        利用此命令,无须直接输入字段名即可建立数据库文件,此种方法常用在通用数据库程序设计中。
        对于此方法的应用,请参见教材中相应的例子。
        用现有数据库建立数据库
        对于一个将要新建的数据库,如果其库结构是与另一个已经存在的数据库结构相同或是其中的一部分,则要以利用已存在的数据库来建立新数据库,命令格式如下:
        COPY STRUCTURE TO <文件名>    [FIELDS   <字段名表>
        使用此命令,可将当前打开的数据库文件中由指定字段名表指定的字段产生一个由使用此命令,可将当前打开的数据库文件中由指定字段名表指定的字段产生一个由<文件名>指定的新数据库结构,若省略FIELDS<字段名表>,则新产生的库结构与当前打开的库结构相同。
        前面我们重点介绍了如何设计一个库文件的结构,以及在设计好库结构的基础上如何建立一个数据库,这是学习本章的重点,也是学习FOXBASE+数据库的基础。