簡體   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