[英]SQL Server Table Schema Name
我对表中的架构有一些疑问。
有时在创建表时,默认架构为dbo.TableName。 dbo是默认架构名称吗? 我相信您可以在创建表时更改或指定架构,因为有些表具有不同的架构,例如:Sales.Tablename或Users.Roles等。我相信架构的目的是使表或表之间有所不同这样的东西? 类似于C#类中的名称空间。 是否可以有两个具有相同名称但模式不同的表,例如:Sales.Users,Marketing.Users?
dbo是默认架构。 您可以更改每个sql登录的默认架构。 如果不小心在错误的架构中创建了表,则可以移动它:
-将Peter表从Sales模式移至Orders模式
ALTER SCHEMA订购TRANSFER Sales.peter
您可以通过在表名称之前指定它来指定要在其中创建表的模式:
创建表Sales.Users(id int);
模式的目的之一是创建表的逻辑组,就像C#中的名称空间一样。 它们对于控制权限等也很有用。
是的,表名在每个模式中仅需唯一。
有时在创建表时,默认架构为dbo.TableName。 dbo是默认架构名称吗?
你为什么要问? 很明显,如果您将dbo设为默认名称,则dbo是默认名称。 最重要的是,它是新数据库唯一可用的模式。
我相信您可以在创建表权限时更改或指定架构,
如果您不使用多个模式,它们会有什么意义? 并且正如创建表语法明确指出的那样,您可以指定架构。
我相信模式的目的是要在表之间或类似的东西之间有所作为? 类似于C#类中的名称空间。
差不多可以总结了。
是否可以有两个名称相同但架构不同的表,
您花10秒钟时间尝试一下呢? 您是否对他尝试完全简化的概念感到质疑? 答案是肯定的。 对象名称在其模式内必须唯一。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.