2010-10-22 149 views
1

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

现在我要创建两个以上的公司,所以我必须要考虑这件事我是否作为一个单独的数据库或不保留创建相同的表和SP试。

什么是您创建此类型的数据库的看法?你愿意为所有公司提供一个数据库还是分开4个数据库?请,我想分享你的意见。谢谢。

回答

1

你应该把它全部放到一个数据库中。对于原因很多,但你已经碰到了一个 - 共享员工表...

安全可以定制这样的人的特定组可以访问特定的表,等等。

好了,道路是漫长的,采取的第一个步骤:)

+0

员工表不共享。每个数据库都有一个员工表。集团拥有员工表,并拥有来自Company1,Company2和Company的所有员工。 – Hoorayo 2010-10-22 14:33:17

+0

是否有一个员工表,所有员工都应该在哪里? – 2010-10-22 14:38:45

+0

它在组DB上。 – Hoorayo 2010-10-22 15:44:25

2

把所有的东西普遍,包括SPS,在一个数据库,然后有一个分贝无论是具体到每家公司。你不应该在多个地方更新任何东西。

+0

我没有那样想过。听起来不错。 – Hoorayo 2010-10-22 15:45:00

+0

然后你会查询另一个不同的数据库?闻我的动态SQL。 – gbn 2010-10-22 16:53:46

+0

不,我不认为它是动态的sql,但是在每个公司数据库中,你都可以链接到它所需的公共数据库。 – Beth 2010-10-25 16:00:42

1

你必须使用一个单一的数据库来存储所有数据的一些非常强大的情况下。从您的描述中可以看出,您可以通过这种方式进行设计,不仅可以使您的部署工作更轻松,还可以简化整个组中可能发生的任何汇总报告。

你必须权衡你的信息安全要求的好处。我知道在某些环境下,单独的数据库是安全的必要条件,由法律或公司政策规定。如果您没有这些严格的安全要求,我推荐使用单一数据库方法。

+0

是的。汇总报告是问题的一部分。这就是汇总数据被插入到组数据中的原因。这不是不可能的,但这很难做到。 – Hoorayo 2010-10-25 20:21:38