Sql 创建多个数据库或一个数据库

Sql 创建多个数据库或一个数据库,sql,database-design,Sql,Database Design,我们公司有4个业务实体,所以我为每个公司创建了4个不同的数据库,用于人力资源服务。让我们把它作为一个整体来称呼,公司1,公司2,公司3。尽管它们都是不同的数据库,但表和存储过程(SP)除了组之外几乎是相同的。组是一个从每个公司获取汇总数据的数据库。我创建这种方式是出于安全目的,但现在有点难以管理。当我为公司1更换SP时,我必须为公司2和公司3做同样的事情。所有4个数据库都有一个相同的employee master表,因此当有人添加到公司时,必须通过触发器或SP将该人添加到Group DB的emp

我们公司有4个业务实体,所以我为每个公司创建了4个不同的数据库,用于人力资源服务。让我们把它作为一个整体来称呼,公司1,公司2,公司3。尽管它们都是不同的数据库,但表和存储过程(SP)除了组之外几乎是相同的。组是一个从每个公司获取汇总数据的数据库。我创建这种方式是出于安全目的,但现在有点难以管理。当我为公司1更换SP时,我必须为公司2和公司3做同样的事情。所有4个数据库都有一个相同的employee master表,因此当有人添加到公司时,必须通过触发器或SP将该人添加到Group DB的employee表中,如果他们位于数据库的一个表中,则不必这样做。顺便说一下,我尽量不在组DB中使用view。我必须不断地将SP、触发器和作业添加到数据库中,以便与Group DB和其他三个公司DB进行通信

现在我必须创建另外两个公司,所以我必须考虑是否必须继续创建相同的表和SP作为一个单独的数据库。
您对创建这种类型的数据库有什么看法?您是希望所有公司都使用一个数据库还是4个独立的数据库?请,我想分享你的意见。谢谢。

你应该把它全部放在一个数据库中。原因很多,但你已经碰到了一个共享的雇员表

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


好吧,路还很长,迈出第一步:)

你应该把它全部放在一个数据库中。原因很多,但你已经碰到了一个共享的雇员表

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


好吧,路很长,迈出第一步:)

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

将所有常用内容(包括SP)放在一个数据库中,然后为每个公司特定的内容创建一个数据库。您不应该在多个位置更新任何内容。

您有一些非常强大的案例,可以使用单个数据库存储所有数据。从您的描述中,听起来您可以将其设计为这样一种方式:不仅可以简化大部分部署工作,而且还可以简化整个组中可能发生的任何聚合报告


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

您有一些非常好的案例可以使用单数据库存储所有数据。从您的描述中,听起来您可以将其设计为这样一种方式:不仅可以简化大部分部署工作,而且还可以简化整个组中可能发生的任何聚合报告


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

不共享Employee表。每个数据库都有一个employee表。集团有一个员工表,该表包含来自公司1、公司2和公司的所有员工。是否有一个员工表,所有员工都应在其中?员工表不共享。每个数据库都有一个employee表。集团有一个员工表,该表包含来自公司1、公司2和公司的所有员工。是否有一个员工表,所有员工都应该在其中?然后您会从另一个数据库查询不同的数据库吗?不,我不认为这是动态SQL,但在每个公司的数据库中,你都会从它需要的公共数据库中获得链接。然后你会从另一个数据库中查询不同的数据库吗?不,我不认为这是动态SQL,但在每个公司的dbs中,你都可以从它所需要的公共数据库中获得链接。是的。汇总报告是问题的一部分。这就是为什么将汇总数据插入到组数据中。这不是不可能的,但做起来更难。是的。汇总报告是问题的一部分。这就是为什么将汇总数据插入到组数据中。这不是不可能的,但做起来更难。