2016-03-03 91 views
0

我對錶中的架構有一些疑問。SQL Server表架構名稱

有時您創建表時,默認架構是dbo.TableName。 dbo是默認模式名稱嗎?我相信你可以在創建表時正確地更改或指定模式,因爲有些表具有不同的模式,如:Sales.Tablename或Users.Roles等。我相信模式的目的是在表或類似的東西?類似於C#類中的名稱空間。是否有可能有兩個同名的表,但具有不同的架構,如:Sales.Users,Marketing.Users?

+0

是的,這是可能的。但是,如果要編寫SQL,則需要指定表模式。 – Kason

回答

2
  1. dbo是默認模式。您可以更改每個sql-login的默認模式。 如果意外創建錯架構表,您可以移動:

    - 從銷售模式搬家彼得表,訂單模式

    ALTER SCHEMA訂單轉移Sales.peter

  2. 你可以通過在表名之前指定要創建表的模式:

    CREATE TABLE Sales.Users(id int);

  3. 模式的目的之一是創建表的邏輯組,就像在C#中的命名空間。它們對於控制權限等也很有用。

  4. 是的,表格名稱只需要在每個模式中都是唯一的。

1

某時,當您創建表時,默認模式是dbo.TableName。 dbo 是默認模式名稱嗎?

你爲什麼問?很明顯dbo是默認的默認名稱,或者?最重要的是它是新數據庫唯一可用的模式。

我相信在創建表權當你可以改變或指定的模式,

將多個圖式有什麼意義,如果你不能使用它們?正如create table語法清楚地指出你可以指定一個模式。

我相信模式的目的是使表或 之間的差異呢?類似於C#類中的名稱空間。

這幾乎總結了它。

是否有可能有兩個表具有相同名稱但不同的模式,

你花什麼10秒嘗試一下?你是否嘗試過嘗試一些完全簡單化的概念?答案是肯定的。對象名稱必須是唯一的 - 在其模式中。