什么是基于文件的数据库?

2 database file

我注册了一个关于关系数据库的课程。我被要求研究基于文件的方法与关系数据库的优势。

我发现理解关系数据库更容易,但很难理解基于文件的系统。基于文件的系统是否与在 Windows 分层系统上存储文件相同,即存储在文件夹和目录下的文本文件?纯 csv 文件是基于文件的系统的一个例子吗?

小智 7

当我们提到基于文件的数据库时,我们指的是我们直接与之交互/更新(通过 JDBC 驱动程序提供的 SQL 抽象)的数据库,但本质上我们只是直接读取/写入文件。示例是 SQLite

不,CSV 是逗号分隔值文件,它允许以表格结构格式保存数据。

“平面文件”数据库允许用户一次为一个表指定数据属性(列、数据类型等),独立于应用程序存储这些属性。dBase III 和 Paradox 是这种数据库在 CP/M 和 MS-DOS 环境中的很好的例子,而最初的 FileMaker 是一个很好的 Mac O/S 例子。

关系数据库将这种“平面文件”方法进一步采用了几个逻辑步骤,允许用户指定有关多个表的信息以及这些表之间的关系,并且通常允许对这些表中的数据必须遵守的规则进行更多的声明性控制。

数据库系统是基于 RDBMS 原则在文件系统和 API 之间进行调解的机制。无需详细了解共同构成 RDBMS 的特定规则集,我们可以说这些规则主要提供了一种组织和访问存储在文件中的信息的方法。与原始文件系统相比,数据库最显着的特征是结构和索引。