2009-10-06 37 views
0

剛剛開始爲新客戶端工作時,我注意到他們的數據庫模式可能會進行嚴重的檢修。我已經提出了一些建議(主要是命名約定),這些建議對於我們今後正在開發的新應用程序套件來說是可以接受的,但是系統也必須支持所使用的滯後名稱(即400個左右的外部託管的web應用程序)。針對傳統應用程序的SQL Server表和列別名

有什麼辦法,我可以做到以下幾點:

  • 變動表和列在新的應用程序使用的命名。
  • 創建一個permanentnet表別名或類似的允許滯後代碼保持不變?

一個長鏡頭的位.......

+1

它幾乎從來沒有得到回報追溯回去和重命名數據庫對象。這可能會讓你感覺更好,但它通常是一種非生產性的努力,不會爲顧客創造更多價值。 – JohnFx

回答

1

什麼人通常在重構時重命名錶,使用舊錶名和結構創建視圖,然後對重命名錶進行更改。

例如,如果您將person_id中的列重命名爲personid(以強制執行一致的樣式),則視圖可能會引用personid,但會將其命名爲person_id,以便舊代碼不會中斷。

如果你要重構一個數據庫,並保留舊代碼的運行,我強烈建議您閱讀 http://www.amazon.com/Refactoring-Databases-Evolutionary-Database-Design/dp/0321293533/ref=sr_1_1?ie=UTF8&s=books&qid=1254840934&sr=8-1

0

,你可以重命名的實際表和列名,然後和寫一堆的意見,支持舊名稱。不過,我不會冒險破壞或影響400個網站的性能。我想你只需要通過。畫出一些好的表格圖(這樣你就可以學習名字)並開始進行項目。

0

一種方法是創建可更新的視圖。但有所有的限制。