结合微软的AdventureWorks示例数据库,关于表设计时的一些问题

专注or全面 专注or全面 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区



--关于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]列)的目的和依据是什么?

*/

...全文

相关推荐

评论 7
收藏 已收藏
分享
返回顶部
专注or全面
应用实例 27,579 成员 68,540 内容