结合微软的AdventureWorks示例数据库,关于表设计时的一些问题
--关于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]列)的目的和依据是什么?
*/
相关推荐
微软SQL Server示例数据库AdventureWorks2019.rar
微软SQL Server示例数据库AdventureWorks2019,下载自https://docs.microsoft.com/en-us/sql/samples/adventureworks-install-configure?view=sql-server-ver15&tabs=tsql
AdventureWorks2008数据库文件深度解析与实战应用
AdventureWorks2008是微软官方推出的示例数据库,广泛用于SQL Server学习与开发测试。它模拟了企业级ERP系统的核心业务流程,涵盖员工、产品、订单、客户等关键实体,结构规范且符合现实业务逻辑。该数据库基于SQL Server 2008环境构建,支持完整的T-SQL功能、外键约束、索引策略及存储过程机制,适合深入学习关系型数据库的设计与优化。安装时可通过SQL Server Management Studio(SSMS)从备份文件.bak。
AdventureWorks2012,2014示例数据库,AdventureWorksDW2012,2014数据仓库(bak文件)
AdventureWorks2012,2014示例数据库,AdventureWorksDW2012,2014数据仓库(bak文件)
AdventureWorks2016,2017示例数据库,AdventureWorksDW2016,2017数据仓库(bak文件)
AdventureWorks2016,2017示例数据库,AdventureWorksDW2016,2017数据仓库(bak文件)
AdventureWorks2008_Database示例数据库
2008/2008R2亲测成功,其他版本可以试试,应该都能使用


应用实例
