Sql 在4个网站之间共享数据

Sql 在4个网站之间共享数据,sql,database,sql-server-2008,database-design,Sql,Database,Sql Server 2008,Database Design,我正在计划一个webproject,包含4个在MVC3中构建的网站。作为数据库服务器,我将使用ms sql server 每一个网站都会有40个表格。但有些表格在网站之间共享: 联系人、城市、邮政编码、国家 如何处理?我是否应该将每个数据库的所有表放在一个公共数据库中(以便网站1、2、3和网站4的数据库一起放在一个数据库中)。还是应该创建一个包含共享数据的数据库 但是,我认为我在数据一致性方面遇到了问题,因为我认为无法从一个数据库指向另一个数据库(例如,将数据库1中的citytable链接到数据

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

每一个网站都会有40个表格。但有些表格在网站之间共享: 联系人、城市、邮政编码、国家

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

但是,我认为我在数据一致性方面遇到了问题,因为我认为无法从一个数据库指向另一个数据库(例如,将数据库1中的citytable链接到数据库2中的buldingtable)

有什么想法吗?
非常感谢

我喜欢将其拆分为单独的数据库,因为如果每个网站都有自己的数据库,并且其中一个网站非常流行,那么只需将其数据库移动到另一个功能更强大的数据库服务器上就很容易了,而且无需做太多更改,除了(a)需要远程引用中央“控制”数据(或replicate/mirror/etc)和(b)将该网站指向不同的数据库服务器。另一个好处是,如果两个网站具有相同类型的表(例如,Patients),则不必具有像Patients\u WebSite1、Patients\u WebSite2这样的表,这些表除了表名之外具有相同的不同存储过程(或粘贴表名的丑陋的动态SQL过程)。分离出来后,您可以拥有完全相同的模式和完全相同的代码库,而无需将每个人的数据合并到单个表中


如果在单个数据库中混合数据,数据一致性会更容易,整个设置也会稍微简单一些,但在增长时将其拆分要困难得多。如果将其拆分为不同的数据库,则不可能使用标准DRI(外键)强制执行引用完整性。如果这是一个面向公众/客户的网站,您是否考虑过使用SQL Azure?