0

我正在用 C# 构建一个将使用“数据库”的应用程序,但我希望能够以尽可能多的编程语言访问“数据库”/文件的内容。“数据库”基本上需要像一本字典(虽然它不是一个),所以喜欢word=meaning,如果用户可以公开编辑它,我不太介意。

但是,我想在数据库中存储一些用户不应该能够编辑的东西。例如,我想存储应用程序将分析和比较的唯一键。我还想添加一个“isEditable”属性,告诉应用程序是否可以更改数据库,但这不是必需的。

您对我如何存储这些信息有什么建议吗?我考虑过 XML,因为我可以散列唯一键,但我认为它不适合该word=meaning部分。

4

1 回答 1

2

好吧,有很多选择。您可以使用传统数据库,并限制用户权限。这样,用户就不能编辑任何东西(或者只能做你授予他们的任何权限)。如果这需要与您的应用程序一起部署,您可以使用紧凑型数据库,例如 Sqlite 或 SQL Server Compact。有一些方法可以加密整个数据库文件或对它们进行密码保护,这样可以防止您的用户编辑它们。Sqlite 有许多语言的提供者。

您可以尝试非传统数据库,例如 MongoDB 或db4objects。后者使用一种二进制序列化,以便您可以将代码对象保存到磁盘。同样,用户不容易编辑。你可以坚持你的收藏。使用前者,您将更接近键=值对的目标,因为您不必为这些选项中的任何一个定义模式。

如果您的目标是使其非用户可编辑,则 XML 文件可以工作,前提是您对其进行了加密。

于 2013-07-23T14:12:59.887 回答