平面文件数据库示例

Joh*_*her 6 database-design data-access-layer flat-file

我想看一些简单的平面文件数据库的例子,以及如何通过数据层访问它们.我以前写过并从平面文件中读取,但我从未创建过使用文本文件访问应用程序数据的数据层.

如果可能的话,很高兴看到一个教程的数据层使用了一个简单的自定义平面文件数据库.将自定义业务对象保存在XML中然后上传它们的示例将很好,因为XML非常流行并且易于使用.

我还要感谢网站的任何链接,讨论有关平面文件数据库设计等方面的最佳实践.

我的目标是提供一种解决方案,用于在用户的计算机上存储简单数据,并且不需要安装任何特殊软件(如SQL Server等),以便从存储位置获取数据.

我知道这是一个非常普遍的问题,但任何可以指出我正确方向的建议都是值得欢迎的.

Ash*_*Ash 4

您的定义可能有点混乱,这是可以理解的,因为当今有大量类似的技术。

XML 不是平面文件格式(或平面文件数据库),但从您的目标来看,听起来您真正想要的是一个自包含的关系数据库,而不是一个实际的平面文件。

与其他人一样,我强烈推荐 SQLite 用于此目的。有针对各种平台的绑定,.NET 有System.Data.SQLite,它在一个文件中既是数据库提供程序又是引擎。

使用 SQLite 的 2 大好处是,实际数据库完全独立于由应用程序控制的单个文件中,并且它支持标准 SQL DDL 和 DML 命令(即 SELECT、INSERT、UPDATE、DELETE、CREATE DATABASE/TABLE 等) )。

对于单用户应用程序来说,SQLite 是存储应用程序数据和设置的绝佳(最好的)方法。最近有人讨论它甚至可以支持较小规模的多用户应用程序。

然而,如果您有能力访问/使用数据库服务器,Oracle、MySQL、SQL Server 等仍然绝对是多用户应用程序(甚至是小规模应用程序)的首选。

另外,不要忘记数据库的选择并不是相互排斥的。

您可能有一个多用户应用程序,在许多用户计算机上安装了丰富的客户端 UI。这里的中央数据库实际上应该是多用户数据库,例如MySQL。但在丰富的客户端 UI 中,SQLite 非常适合存储每个用户的设置,或者在无法访问数据库时提供离线支持。