创建多个数据库或一个

时间:2010-10-22 14:24:10

标签: sql database-design

我们公司有4个业务实体,因此我为每个公司创建了4个不同的数据库,用于人力资源服务。我们称之为集团,公司1,公司2和公司3。尽管它们都是不同的数据库,但除了Group之外,表和存储过程(SP)几乎相同。 Group是一个数据库,可以从每个公司获取汇总数据。出于安全目的,我确实创建了这种方式,但现在它很难管理。当我为company1更改SP时,我必须为company2和company3做同样的事情。所有4个数据库都有相同的员工主表,所以当有人被添加到公司时,那个人必须通过触发器或SP添加到组DB的员工表中,如果他们在一个表中,则不需要一个数据库。顺便说一句,我尽量不使用Group DB的视图。我必须继续将SP,触发器和作业添加到数据库中,以便与Group DB和其他三个公司DB进行通信。

现在我必须再创建两个公司,所以我必须考虑这个问题,我是否必须继续创建相同的表和SP作为单独的数据库。

您对创建此类数据库有何看法?您是否更喜欢所有公司的一个数据库或分开的4个数据库?拜托,我想分享你的意见。感谢。

3 个答案:

答案 0 :(得分:2)

将所有常见内容(包括sps)放在一个数据库中,然后为每个公司特定的内容设置数据库。你不应该在多个地方更新任何东西。

答案 1 :(得分:1)

您应该将其全部放入一个数据库中。原因很多,但你已经碰到了一个共享的员工表......

可以定制安全性,以便特定人群可以访问特定的表格,等等。

嗯,道路很长,迈出了第一步:)

答案 2 :(得分:1)

您有一些非常强大的案例可以使用单个数据库来存储所有数据。从您的描述中可以看出,您可以设计它不仅可以使您的部署工作更加轻松,而且还可以简化整个组中发生的任何聚合报告。

您必须根据信息安全要求权衡这些优惠。我知道在某些环境中,根据法律或公司政策,单独的数据库是安全的必要条件。如果您没有任何严格的安全要求,我建议使用单一数据库方法。