转 Adventure Works示例数据库业务分析(一): 简介
2010-04-08 11:58 诸葛二牛 阅读(1585) 评论(1) 编辑 收藏 举报Microsoft为了演示SQL Server的产品功能,提供了虚拟业务场景的示例数据库。在SQL Server 2005以前,是pubs 和Northwind 这两个数据库,之后是AdventureWorks数据库,SQL Server联机丛书都是基于所提供的这几个示例数据库来阐述演示配套应用程序和代码示例的。
pubs数据库演示了一个虚拟的图书出版公司的业务场景,Northwind 数据库演示了一个虚拟的从事食品的进出口业务公司的销售业务场景,这两个数据库的业务场景都不是太复杂。而从SQL Server 2005开始提供的AdventureWorks数据库,引入了一个虚拟的Adventure Works Cycles公司。此公司及其业务方案、雇员和产品是下列示例数据库的基础:
- AdventureWorks 示例 OLTP 数据库
- AdventureWorksDW 示例数据仓库
- AdventureWorksAS 示例 Analysis Services 数据库
Adventure Works Cycles,AdventureWorks 示例数据库所基于的虚构公司,是一家大型跨国生产公司。公司生产金属和复合材料的自行车,产品远销北美、欧洲和亚洲市场。公司总部设在华盛顿州的伯瑟尔市,拥有 290 名雇员,而且拥有多个活跃在世界各地的地区性销售团队。
在 2000 年,Adventure Works Cycles 购买了位于墨西哥的小型生产厂 Importadores Neptuno。Importadores Neptuno 为 Adventure Works Cycles 产品生产多种关键子组件。这些子组件将被运送到伯瑟尔市进行最后的产品装配。2001 年,Importadores Neptuno 转型成为专注于旅行登山车系列产品的制造商和销售商。
实现一个成功的财务年度之后,Adventure Works Cycles 希望通过以下方法扩大市场份额:专注于向高端客户提供产品、通过外部网站扩展其产品的销售渠道、通过降低生产成本来削减其销售成本。
从数据结构上看,AdventureWorks数据库是对Northwind数据库和pubs数据库的扩展,体现在数据库中的某些表结构是相似的,比如AdventureWorks数据库的Sales.SalesOrderHeader表对应Northwind数据库的dbo.Orders表,AdventureWorks数据库的Sales.SpecialOffer表对应pubs数据库中的dbo.Discounts 表。
AdventureWorks数据库反映的业务场景不光能充分挖掘SQL Server的功能特性,而且其示例从业务到数据都具有真实世界的参考意义,对于我们设计业务软件系统的数据模型和业务流程非常有价值。但有一点遗憾的就是,Microsoft并没有系统深入地阐述过AdventureWorks的业务场景,从而也就无从指导我们如何了解到为什么要那样构建数据模型,从这一篇出发,我打算通过反向基于SQL Server 2008的AdventureWorks数据库的数据表并结合业务经验来推导Adventure Works Cycles公司的业务流程,达到更好地理解系统设计的目的。
目前网上关于AdventureWorks数据库有价值的资源参见: