【问题标题】:lu.[TableName] instead of dbo.[TableName]?lu.[TableName] 而不是 dbo.[TableName]?
【发布时间】:2010-11-22 18:47:36
【问题描述】:

我的 SQL Server 2005 数据库中的某些表被命名为 lu.[TableName] 而不是 dbo.[TableName]。卢代表什么?

注意:我已经尝试过 google

【问题讨论】:

    标签: sql-server sql-server-2005 dbo


    【解决方案1】:

    这将是 SQL Server 2005 中的架构 - 您可以使用 CREATE SCHEMA 自行创建。

    模式可用于分离逻辑上属于一起的数据库对象,例如将所有与人力资源相关的表放入“HR”模式等。DB 模式有点像 .NET 或 XML 命名空间。

    架构也可用于处理权限,例如您可以在架构级别将权限委派给用户和角色。

    查看广泛使用模式的示例 AdventureWorks 数据库。

    这也是您应该始终使用“dbo”来限定数据库对象的原因之一。字首。如果您不这样做,SQL Server 的查询引擎将首先必须检查您的默认架构(可能与 dbo 不同)以查找该名称的对象,如果未找到,它将转到 dbo 架构。如果您始终使用“dbo.YourTableName”,则查询引擎会预先知道在哪里查找 - 性能提升很小(乘以数千次访问)。

    【讨论】:

      【解决方案2】:

      “lu”是lookup table的缩写

      【讨论】:

      • +1 用于实际回答“'lu' 代表什么?”这个问题。
      【解决方案3】:

      lu 是一个单独的模式(dbo 是默认值)

      有关架构的更多信息,这看起来很有帮助:What good are SQL Server schemas?

      【讨论】:

        【解决方案4】:

        SQL 服务器允许 multiple schemas - dbo,这是默认值 - 您的数据库具有 lu 的辅助(可能更多)架构

        【讨论】:

          【解决方案5】:

          lu 是架构名称。

          dbo 代表数据库所有者。 lu 可能是创建其他表的用户帐户

          【讨论】:

            猜你喜欢
            • 2014-04-24
            • 1970-01-01
            • 2014-04-24
            • 1970-01-01
            • 1970-01-01
            • 2011-08-27
            • 2015-04-14
            • 2011-01-27
            • 2020-04-07
            相关资源
            最近更新 更多