代码之家  ›  专栏  ›  技术社区  ›  Dillie-O

我应该克隆或取消数据库的规格以供便携式使用吗?

  •  3
  • Dillie-O  · 技术社区  · 15 年前

    我有一个数据库,它有很多数据,而且都是“整洁的”,规范化的(在合理范围内-使用EAV),我有访问和修改数据的存储过程。

    我还有一个WinForms应用程序,用户可以下载它来搜索和查看这些数据(不插入)。为了方便使用和更新,我一直使用sqlite来存储这些数据,它工作得非常好。

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

    我最初的想法是:

    非规范化视图: 好处… 提供了一个查询数据的简单方法(因为我没有做很多连接,只需要进行一系列列搜索。

    欺骗。。。 我必须管理第二个数据访问层。当然,我不认为这会很困难,但这仍然是一个有点工作。

    如果添加了一个新属性,我将不得不再次修改架构并适应这些更改。我可以在那里简单地查询属性包和工作表。

    相同的模式: 赞成的意见。。。 与master数据库的布局相同,所以更新最少,而且在构建数据访问层时甚至可以使用相同的查询,因为sqlite不支持存储过程。

    欺骗。。。 有很多用于查找代码等的小表,所以在构建查询和在DAL中管理查询时,我可能会遇到一些问题。

    我该怎么办?

    1 回复  |  直到 15 年前
        1
  •  4
  •   Galwegian    15 年前

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