3

我有一个包含大量数据的数据库,并且都是“整洁的”、标准化的(在合理范围内 - 使用 EAV),并且我有存储过程来访问和修改数据。

我还有一个 WinForms 应用程序,用户可以下载它来搜索和查看这些数据(无插入)。为了方便使用和更新,我一直在使用 SQLite 来存储这些数据,并且效果非常好。

我正在努力更新整个过程,我想知道是否应该使用非规范化的数据视图来发送给用户,将所有属性作为列的 1 个表,或者继续使用与主数据库?

我最初的想法是这样的:

非规范化视图: 好处...提供了一种查询数据的简单方法(因为我没有做很多连接,只是一堆列搜索。

缺点...我必须管理第二个数据访问层。当然,我认为这不会很困难,但仍然需要做更多的工作。

如果添加了新属性,我必须再次修改架构并适应更改。而我可以在那里简单地查询属性包和工作表。

相同的架构: 优点...与主数据库相同的布局,因此更新很少,而且我什至可以在构建数据访问层时使用相同的查询,因为 SQLite 不支持存储过程。

缺点...有很多用于查找代码等的小表,因此在构建查询和在 DAL 中管理它时,我可能会遇到问题。

我应该如何进行?

4

1 回答 1

4

如果您开发应用程序来查询数据视图而不是底层数据本身,那么您将能够为这两种情况保留相同的数据库,而无需担心或无需更改 DAL。

于 2009-02-05T15:36:27.970 回答