27,580
社区成员
发帖
与我相关
我的任务
分享
--关于AdventureWorks示例数据库的一些设计问题
--这些表之间的关联都是靠业务ID实现的,但除此之外,还有一些表中设计了一个[rowguid] [uniqueidentifier] 列
--主要有以下三种情况
--第一种情况
/**************主子表同时有[uniqueidentifier]列************/
--主表: Sales.SalesOrderHeader
--子表: Sales.SalesOrderDetail
--同时主子表中同时设计了一个[rowguid] [uniqueidentifier] ROWGUIDCOL NOT NULL列
--第二种情况
/**************主子表都没有[uniqueidentifier]列************/
--而一些其他的表,也可以理解为主子表吧,
--两张表都没有设计[rowguid] [uniqueidentifier] ROWGUIDCOL NOT NULL列
--比如
select * from Person.PhoneNumberType
select * from Person.PersonPhone
--第三种情况
/**************主子表有,子表没有[uniqueidentifier]列************/
--比如这两张表,主表Person.Person有一个[rowguid] [uniqueidentifier] 列
--而字表就没有[rowguid] [uniqueidentifier] 列
select * from Person.Person
select * from Person.PersonPhone
/*
这里想知道,这样做(有主子关联关系的表,设计或者不设计[rowguid] [uniqueidentifier]列)的目的和依据是什么?
*/