2007/07/03 | schema文件的组织方法
类别(软件视点) | 评论(0) | 阅读(27) | 发表于 10:08

schema文件,模式文件,或者称为数据字典文件,存放表或视图的定义。常驻内存。

初步决定schema文件的格式如下:

首先是一个数字表示该数据库有多少表(视图),1个字节,这意味着一个数据库最多有256个表。

接下来是第表的信息,格式如下:

其中表名列名是以'\0'结束的字符串,最长不超过31个字符。
数据类型是1个字节的整数,在java中对应byte。

约束包括两个部分:
基本约束描述主键,唯一键,NULL约束等信息,一个字节表示;
比较约束信描述> =等比较信息,这个暂时没有特别好的想法,先给他分配60字节吧,现在唯一的想法是把约束转换成析取范式,比较麻烦,等我研究研究别人的实现方法再说。

列数表示一个表列的数量,如果列数==-1,则说明这是一个view,在schema中我们直接存储view的创建字符串,等到查询的时候再进行视图消解。

索引由一个字节表示,其含义是索引文件的ID号。

schema文件采用这种比较死的结构,有两个原因,首先是因为schema更改很少,其次是schema常驻内存。

如果对schema有修改,直接重写schema文件就可以了。

0

评论Comments