为什么AdventureWorksLT中的表同时具有PK列和rowguid列?

时间:2012-01-03 22:55:13

标签: sql-server-2008 adventureworks

为什么AdventureWorksLT中的表同时具有PK列和rowguid列?有什么理由吗?拥有两个列有什么意义?

对于Product表,您有 ProductID rowguid ,数据类型分别为 int uniqueidentifier

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

RowGUID是一个全局唯一标识符,理论上并不是GUID在同一台机器上可以是相同的,因此它们用于标记可能在复制期间移动的数据。

我们有许多网站将订单发布到中央系统,每个网站都可以使用相同的INT OrderNumber 1-9999,因此我们使用GUID标记所有订单并将其用作数字纸质记录。

人类不喜欢GUIDS在他们的订单确认中他们喜欢简单的数字,这些数字可能需要两者,甚至没有进入表关系和键。