微软自带数据库分析

AdventureWorks 案例研究

 

介绍:

       Adventure Works Cycles,AdventureWorks 示例数据库所基于的虚构公司,是一家大型跨国生产公司。公司生产金属和复合材料的自行车,产品远销北美、欧洲和亚洲市场。公司总部设在华盛顿州的伯瑟尔市,拥有 299 名雇员,而且拥有多个活跃在世界各地的地区性销售团队。

在 2000 年,Adventure Works Cycles 购买了位于墨西哥的小型生产厂 Importadores Neptuno。Importadores Neptuno 为 Adventure Works Cycles 产品生产多种关键子组件。这些子组件将被运送到伯瑟尔市进行最后的产品装配。2001 年,Importadores Neptuno 转型成为专注于旅行登山车系列产品的制造商和销售商。

实现一个成功的财务年度之后,Adventure Works Cycles 希望通过以下方法扩大市场份额:专注于向高端客户提供产品、通过外部网站扩展其产品的销售渠道、通过降低生产成本来削减其销售成本。

现状:

         今天,企业在北美、欧洲和亚洲(自行车行业)商业市场已经拥有市场地位。而且,它销售备用部件给不同国家的其他自行车制造商。公司已经在中国上海建立了另外一个制造厂。

         Adventure Works 通过372个地区销售办公室运作,并且在全球雇佣了12,000名员工。

         企业通过包括四大运营部门:制造、销售、人力资源和购买。考虑所有部门维护和共享大量信息,管理层决定在Bothell维护一个公共数据库。

         Peter Greb,Adventure Works的IT顾问,决定实现Sql Server 2005以维护这个数据库。数据库分析组研究了Adventure Works的每个部门使用的信息并且为名为Adventure Works的数据库创建了一个设计。

         数据库设计包括五个架构:销售、产品、人力资源、人和购买。每个架构包含特定的运营部门的数据库对象。如下表所示:

架构

运营部门

Sales

销售和市场

Production

制造

HumanResources

人力资源

Purchase

购买和提供商

Person

不属于任何部门。它包含数据库对象以维护所有运行部门的人的联系详情。

未来计划:

         随着竞争的增长,Adventure Works的管理层想在下两个财年增加30%的利润。对于它,管理层正在开拓新市场和扩展现有市场的份额的可能性。

         为了支持未来的共同目标,IT部门创建了下面的目标:

²         使数据库对全球不同地点的各种办公室可用。

²         提供高可用性的数据库服务器

²         维护日常备份并且对任何数据损失提供支持

²         提供数据库服务器的安全以便在公司的不同等级的用户有不同服务数据的等级。所有用户不应该能够浏览或修改所有数据。

---***************************************五大架构****************************---

Person架构

 

HumanResources架构:

Purchaing架构:

Sales架构:

Production架构:

 

AdventureWorks 中的架构

在 Microsoft SQL Server 2005 中,架构与用户是分开的:作为数据库主体,用户拥有架构,而对象则包含在架构中。有关详细信息,请参阅用户架构分离。

下表说明 AdventureWorks 中所使用的架构并列出每个架构中典型的表。

架构

包含相关对象

示例

HumanResources

Adventure Works Cycles 的雇员。

Employee 表

Department 表

Person

各个客户、供应商和雇员的名称和地址。

Contact 表

Address 表

StateProvince 表

Production

由 Adventure Works Cycles 生产和销售的产品。

BillOfMaterials 表

Product 表

WorkOrder 表

Purchasing

从其采购零件和产品的供应商。

PurchaseOrderDetail 表

PurchaseOrderHeader 表

Vendor 表

Sales

与客户和销售相关的数据。

Customer 表

SalesOrderDetail 表

SalesOrderHeader 表

HumanResources架构:

Employee表

列

数据类型

为空性

说明

EmployeeID

int

非空

雇员行的主键。

NationalIDNumber

nvarchar(15)

非空

唯一的国家/地区标识号(例如身份证号码)。

ContactID

int

非空

标识 Contact 表中的雇员。指向 Contact.ContactID 的外键。

LoginID

nvarchar(256)

非空

网络登录。

ManagerID

int

空

雇员的上司。指向 Employee.EmployeeID 的外键。

Title

nvarchar(50)

非空

职位(例如买方代表或销售代表)。

BirthDate

datetime

非空

出生日期。

MaritalStatus

nchar(1)

非空

M = 已婚

S = 未婚

Gender

nchar(1)

非空

M = 男

F = 女

HireDate

datetime

非空

雇佣雇员的日期。

SalariedFlag

Flag(用户定义类型)

bit

非空

工作分类。

0 = 计时,可以集体讨价。

1 = 月薪,不能集体讨价。

VacationHours

smallint

非空

假期可持续的小时数。

SickLeaveHours

smallint

非空

病假可持续的小时数。

CurrentFlag

Flag(用户定义类型)

bit

非空

0 = 非活动

1 = 活动

rowguid

uniqueidentifier ROWGUIDCOL

非空

唯一标识行的 ROWGUIDCOL 号。用于支持合并复制示例。

ModifiedDate

datetime

非空

行的上次更新日期和时间。

Department表

列

数据类型

为空性

说明

DepartmentID

smallint

非空

Department 行的主键。

Name

Name(用户定义类型) nvarchar(50)

非空

部门名称。

GroupName

Name(用户定义类型) nvarchar(50)

非空

部门所属的组名称。

ModifiedDate

datetime

非空

行的上次更新日期和时间。

EmployeeDepartmentHistory 表

列

数据类型

为空性

说明

EmployeeID

int

非空

雇员标识号。指向 Employee.EmployeeID 的外键。

DepartmentID

smallint

非空

雇员现在所在或原来所在的部门。指向 Department.DepartmentID 的外键。

ShiftID

tinyint

非空

分配给雇员的工作轮班时间(例如,白班、晚班或夜班)。指向 Shift.ShiftID 的外键。

Startdate

datetime

非空

雇员在部门中开始工作的日期。

EndDate

datetime

空

雇员离开部门的日期。

空 = 当前部门

ModifiedDate

datetime

非空

行的上次更新日期和时间。

 

posted on 2016-09-14 22:22  波波嘟  阅读(382)  评论(0)    收藏  举报