我想知道什么是组织我的数据库的最佳方式。让我解释一下:
我正在启动一个新的“大”项目。这个大项目将由几个小部分组成。一般来说,很多项目并不是相互关联的,它们只是大项目的特点。
所有项目都有一个共同点,那就是要使用它的用户。
所以我的问题是:
提前谢谢你的建议。
发布于 2011-09-15 14:47:10
这在很大程度上取决于您选择使用的数据库.
如果这些“子项目”被设计成一个连贯的单元,那么我强烈建议您将其保存在同一个数据库中。一个备份,一个恢复,一个单位。
为了组织目的,如果您使用的数据库支持它,请在每个项目中选择不同的架构。PostgreSQL和Server是两个数据库(以及其他数据库),它们毫不费力地支持这一点。
对于像MySQL这样的数据库,我建议您为每个子项目选择一个简短的前缀,并相应地对所有表进行前缀。例如"P1_Customer“。
共享数据将出现在它自己的模式或前缀中,比如Global或类似的东西。
实际上,这是我们将主数据库从MySQL转换到PostgreSQL的众多原因之一。我们一直是这两种功能的大量用户,我非常感谢PostgreSQL提供的功能。如果您是在windows环境中,SQL Server也是一个很好的数据库IMO。
发布于 2011-09-15 14:44:47
如果小项目是“大项目的特性”,那么我看不出为什么您不希望主项目只需要一个user表。你设置问题的方式让这个问题看起来是真的,“如果小项目1中有一个用户A,那么‘大’项目中必须有一个用户A。”如果是这样的话,您应该让用户在大数据库中,而不是重复,除非您有更多的限定细节。
发布于 2011-09-15 14:44:52
我认为正确的答案是“视情况而定”。
让您的组织沿着单一集中系统的道路前进,在许多层面上都是好的。我想总的来说我会推荐这个。
然而:
如果您的开发计划会有很大的不同,或者不同的子项目的用户体验会有很大的不同,那么最好将它们分开。
https://stackoverflow.com/questions/7432695
复制相似问题