在4个网站之间共享数据

时间:2011-07-01 14:41:19

标签: sql database sql-server-2008 database-design

我正在计划一个webproject,其中包含4个构建在MVC3中的网站。作为数据库服务器,我将使用ms sql server。

每个网站都有40个桌子。但有些表格是在网站之间共享的: 联系方式,城市,邮政编码,国家......

如何处理?我应该将每个数据库的所有表放入一个公共数据库(以便网站1,2,3和网站4的数据库在一个数据库中)。或者我应该创建一个包含共享数据的数据库吗?

但后来我认为我的数据存在问题,因为我认为没有办法从一个数据库指向另一个数据库(例如将数据库1中的citytable链接到数据库2中的buldingtable)。 / p>

有什么想法吗? 非常感谢!

1 个答案:

答案 0 :(得分:0)

我喜欢将它拆分成单独的数据库,如果每个网站都有自己的数据库,并且其中一个网站非常受欢迎,那么将数据库移动到另一个更强大的数据库非常容易除了(a)您需要远程引用中央“控制”数据(或复制/镜像/等),以及(b)您将该网站指向不同的数据库服务器之外,服务器并没有太多必须改变。另一个好处是,如果两个网站具有相同类型的表(例如患者),则不必拥有像Patients_WebSite1,Patients_WebSite2这样的表,除了表名(或丑陋的动态SQL过程之外),它们具有相同的不同存储过程粘贴表名称)。分离出来,您可以拥有完全相同的架构和完全相同的代码库,而无需将每个人的数据合并到一个表中。

如果在单个数据库中混合数据,数据一致性会更容易,整个设置稍微简单一些,但在增长时将其拆分更加困难。如果将其拆分为不同的数据库,则无法使用标准DRI(外键)强制实施参照完整性。如果它很重要(触发器,插入/更新之前的验证等),您可以通过其他方式完成此任务。