我有一个数据库,它有很多数据,而且都是“整洁的”,规范化的(在合理范围内-使用EAV),我有访问和修改数据的存储过程。
我还有一个WinForms应用程序,用户可以下载它来搜索和查看这些数据(不插入)。为了方便使用和更新,我一直使用sqlite来存储这些数据,它工作得非常好。
我正在更新整个过程,我想知道是否应该使用非规范化的数据视图将数据发送给用户,将所有属性作为列的1表全部保存,或者继续使用与主数据库相同的架构?
我最初的想法是:
非规范化视图:
好处…
提供了一个查询数据的简单方法(因为我没有做很多连接,只需要进行一系列列搜索。
欺骗。。。
我必须管理第二个数据访问层。当然,我不认为这会很困难,但这仍然是一个有点工作。
如果添加了一个新属性,我将不得不再次修改架构并适应这些更改。我可以在那里简单地查询属性包和工作表。
相同的模式:
赞成的意见。。。
与master数据库的布局相同,所以更新最少,而且在构建数据访问层时甚至可以使用相同的查询,因为sqlite不支持存储过程。
欺骗。。。
有很多用于查找代码等的小表,所以在构建查询和在DAL中管理查询时,我可能会遇到一些问题。
我该怎么办?