2009-01-08 51 views
0

嗨我使用ms2005作爲簡單的日曆系統。 我們有三個'傳統'表:組,單位和職員。數據庫表重構

我需要給表中的每個記錄一個唯一的標識符(攜帶所有3個表)。

什麼是最好的方法來解決這個問題?我正在使用NHibernate,並想知道是否可以爲我做。

無論如何,任何在正確的方向點頭讚賞。

+0

這將有助於爲這個問題添加更多解釋 - 所有3個表格的樣本佈局(僅包含重要列)以及更多關於「攜帶所有3個表」的含義的解釋。 – 2009-01-08 01:37:43

回答

1

通常的做法是使用帶IDENTITY(1,1)的int在每個表上創建一個代理主鍵。

如果您需要跨系統的唯一值,請使用UNIQUEIDENTIFIER列(GUID)。

+0

也許;但請參閱我的以下要求澄清。使用IDENTITY列;只有使用UNIQUEIDENTIFIER時,如果您明白這是什麼,何時使用它以及爲什麼。考慮到你的問題,這不太可能。 – dkretz 2009-01-08 00:35:34

0

你是說同一個標識符不應該出現在多個表中嗎?這將是一個腥謬的斷言,這將表明需要更多的討論。

這將是一個「難聞的氣味」,在重構意義上。