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

7

我正在参加一门关于关系型数据库的课程。我的任务是研究采用基于文件的方法和采用关系型数据库的优劣势。

我发现理解关系型数据库要容易些,但很难理解基于文件的系统。基于文件的系统是否等同于在Windows层次结构下存储文件,即将文本文件存储在文件夹和目录下?普通的csv文件是基于文件的系统的一个例子吗?


2
你的问题没有展示出你做过任何研究或努力去理解它。在这里提问之前请先进行一些研究。谢谢。 - MindRoasterMir
13
@MindRoasterMir 这是在谷歌上搜索“基于文件的数据库”时排在首位的项目,所以把这个问题作为一个很好的堆栈溢出资源可能是一个不错的主意。 - nedb
2个回答

11

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

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

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

关系型数据库进一步推进了这种“平面文件”方法,允许用户指定多个表以及这些表之间的关系,并通常允许更加声明式地控制这些表中的数据必须遵守的规则。

数据库系统是介于文件系统和基于RDBMS原理的API之间的机制。没有详细讨论组成RDBMS的特定规则集,我们可以说这些规则主要提供一种组织和访问文件中存储的信息的方式。 数据库与原始文件系统相比最显着的特点是结构和索引。


0

基于文件的数据库最早在1968年被引入。在基于文件的数据库中,数据以平面文件的形式进行维护。尽管文件具有许多优点,但也存在一些限制。 其中一个主要优点是基于文件的系统具有各种访问方法,例如顺序、索引和随机访问。 它需要使用第三代语言(如COBOL、BASIC)进行广泛的编程。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接