dBase数据库同名表为何存在mdx、dbf、dft三种扩展名文件?
dBase同数据表不同扩展名文件的作用说明
各扩展名对应的文件功能
.dbf:是dBase数据表的核心主文件,全量实际业务记录、表字段结构定义都存储在这个文件里,是整张表的基础载体,没有这个文件就不可能获取到完整的表数据。.mdx:是dBase的多索引文件,单个.mdx可以存储对应表的多个索引规则,作用是提升字段查询、排序、多表关联的运算速度,文件内只存索引键值和对应.dbf记录的位置指针,不保存任何实际业务数据。.dft:是Windows版dBase及各类Xbase兼容变种的表视图配置文件,里面存储的是打开表时的默认显示规则:包括列宽、字段显示格式、预设筛选条件、默认排序规则、输入校验规则这类配置信息,本身不存储实际业务记录。你现在能直接打开.dft看到数据,本质是你用的查看工具做了自动关联,会读取同目录下的.dbf主文件,再按.dft里存的配置把数据展示出来,不是.dft本身存了全量数据。
忽略其余文件的影响
- 绝对不能忽略
.dbf文件,只保留.dft相当于直接丢失了所有核心数据,后续打开只能看到空的配置框架,读不到任何实际记录,会造成全量数据丢失。你要是不信可以做个简单测试:把同目录下的.dbf剪切到别的文件夹,再点开那个.dft,百分百弹出找不到数据源的报错,半条记录都读不出来。 .mdx文件本身不存业务数据,如果只是临时一次性读取数据,丢失.mdx最多是查询、排序速度变慢,不会直接丢失现有记录;但如果要对表做写入、更新操作,缺失.mdx大概率会导致索引损坏,后续出现记录查询错位、重复、漏查的问题,长期使用也会间接引发数据异常。- 如果你只是临时查看数据,不需要保留自定义的显示、筛选配置,
.dft文件丢失不会影响核心数据读取,工具会用默认配置加载.dbf文件。
内容的提问来源于stack exchange,提问作者Schwenk
相关产品推荐
相关产品推荐

