2009-01-08 49 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

你是说同一个标识符不应该出现在多个表中吗?这将是一个腥谬的断言,这将表明需要更多的讨论。

这将是一个“难闻的气味”,在重构意义上。