【问题标题】:Sub-Schemas in SQL Server 2005/2008SQL Server 2005/2008 中的子架构
【发布时间】:2011-02-02 10:22:39
【问题描述】:

这是一个简单的问题,但我找不到任何有关此的信息。

SQL Server 2005/2008 中是否可以有子模式?

例子: 有一个 HR(人力资源)模式和一个名为 Training 的子模式(带有与此相关的表)。它最终会像 HR.Training.* 一样,其中 * 将是表格。

【问题讨论】:

    标签: sql sql-server design-patterns schema


    【解决方案1】:

    是的,您可以制作架构,但您似乎不能制作子架构。我来自 IBM db2 背景,但我们这里的 IT 人员不知道您可以在默认的“dbo”之外使用其他模式。

    【讨论】:

      【解决方案2】:

      您是否有甲骨文背景?我相信 Oracle 有 Schemas 的概念。在 SQL Server 中,最接近的等价物是数据库。

      您可以非常轻松地在同一 SQL 服务器上从一个数据库交叉查询到另一个数据库,这将为您提供几乎相同类型的调用语法

      例如 server.database.owner.object

      在您的情况下,它可能看起来像 HRSvr.HR.dbo.xxx 和 HRSvr.Training.dbo.xxxx。

      【讨论】:

      • 啊,谢谢。我不知道。我不是来自 Oracle 背景,但我前段时间确实研究过它。
      • 实际上“所有者”现在似乎也被称为架构,或者可能是架构所有者?我对最新/最伟大的 SQL 服务器术语有点脱节,但我相信这在在线书籍中有很好的记录。无论如何,我认为有很多方法可以实现您想要的。
      • MS SQL 也有模式,自 MS SQL 2005 起,这些模式与所有者/用户不同,尽管如果需要它们可以关联。
      【解决方案3】:

      也许您可以在模式的命名中伪造它,例如 HR_Training.* 和 HR_Reviews.* 等等。俗气,我知道。

      【讨论】:

        【解决方案4】:

        没有。您可以通过将不同的用户分配到不同的角色并允许这些角色使用对象来伪造角色。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-10-23
          • 1970-01-01
          • 1970-01-01
          • 2010-10-25
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多