繁体   English   中英

SQL Server表架构名称

[英]SQL Server Table Schema Name

我对表中的架构有一些疑问。

有时在创建表时,默认架构为dbo.TableName。 dbo是默认架构名称吗? 我相信您可以在创建表时更改或指定架构,因为有些表具有不同的架构,例如:Sales.Tablename或Users.Roles等。我相信架构的目的是使表或表之间有所不同这样的东西? 类似于C#类中的名称空间。 是否可以有两个具有相同名称但模式不同的表,例如:Sales.Users,Marketing.Users?

  1. dbo是默认架构。 您可以更改每个sql登录的默认架构。 如果不小心在错误的架构中创建了表,则可以移动它:

    -将Peter表从Sales模式移至Orders模式

    ALTER SCHEMA订购TRANSFER Sales.peter

  2. 您可以通过在表名称之前指定它来指定要在其中创建表的模式:

    创建表Sales.Users(id int);

  3. 模式的目的之一是创建表的逻辑组,就像C#中的名称空间一样。 它们对于控制权限等也很有用。

  4. 是的,表名在每个模式中仅需唯一。

有时在创建表时,默认架构为dbo.TableName。 dbo是默认架构名称吗?

你为什么要问? 很明显,如果您将dbo设为默认名称,则dbo是默认名称。 最重要的是,它是新数据库唯一可用的模式。

我相信您可以在创建表权限时更改或指定架构,

如果您不使用多个模式,它们会有什么意义? 并且正如创建表语法明确指出的那样,您可以指定架构。

我相信模式的目的是要在表之间或类似的东西之间有所作为? 类似于C#类中的名称空间。

差不多可以总结了。

是否可以有两个名称相同但架构不同的表,

您花10秒钟时间尝试一下呢? 您是否对他尝试完全简化的概念感到质疑? 答案是肯定的。 对象名称在其模式内必须唯一。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM