我有一个具有大量的数据,并且所有“纯”,归一化(在合理范围内 - 使用EAV)的数据库,并且我已存储的程序,以访问和修改数据

我也有用户下载到搜索和查看该数据(没有插入)一个WinForms应用程序。为了使事情方便的使用和更新,我一直在使用SQLite来存储这些数据,它的作品真的很好。

我正在更新整个过程和我想知道如果我应该使用的数据的非规范化的视图运出给用户,ALA的1代表与所有属性为列,或继续使用相同的模式作为主数据库?

我的初始想法是沿着线:

<强>非规格化查看: 待遇。 提供查询数据(因为我没有做很多的连接,只是一堆栏搜索的简单方法。

...缺点 我不得不管理第二数据访问层。就算我不认为这将是困难的,但它仍然是更多的工作。

如果添加了新的属性,我不得不再次修改方案,并适应了变化。 Wheras我可以简单地查询属性包和工作形式存在。

<强>相同的模式: 优点... 同样的布局作为主数据库,这样的更新是最小的,并建立我的数据访问层时,我甚至可以使用相同的查询,因为SQLite不支持存储过程。

...缺点 有很多的查询代码等的小表,这样我就可以开始建立查询和它在DAL管理时遇到了问题。

我该如何操作?

有帮助吗?

解决方案

如果您开发的应用程序来查询视图中的数据,而不是底层数据本身,你将能够保持这两种方案相同的数据库,而不关心或需要改变你的DAL。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top