Schema

數據庫模式(命名空間)的奇怪使用

  • September 1, 2016

數據庫模式有助於對錶進行分組,或幫助辨識具有相同表名的多個表。到目前為止,我發現的大多數模式使用都是用於對錶進行分組,在使用者(或人才)之間隔離表,允許基於模式的不同權限。

在我的例子中,我有一個預定義的表定義,我希望我的使用者能夠在我的應用程序中多次複製這個表。顯然,我不能讓使用者創建具有相同名稱的新表。我最初的想法是讓使用者指定一個表名後綴:

e.g.
[TableA]
[CustomName_TableA]
[OtherName_TableA]

但是,這需要一些程式碼更改,因為表名是在應用程序的數據訪問層中硬編碼的。

如果我在使用者複製表時創建新架構而不是動態生成新表名,會有什麼缺點或潛在問題?

e.g.
[dbo].[TableA]
[CustomName].[TableA]
[OtherName].[TableA]

請詳細說明您的案例。我能想到的解決方案是:1-使用表名(username_TABLE)使用的表前綴

2-使用臨時表,然後將評論導出到新表中(然後您將在表中添加一個新列,該列的內容將是使用者名):範例欄位:USERID、COLUMN1、COLUMN2 等。

3-使用視圖。使用視圖,您實際上可以使用相同的“表”名稱(應用程序不知道視圖/表之間的區別),然後您可以再次在基礎表中使用額外的列。

引用自:https://dba.stackexchange.com/questions/148493