0
点赞
收藏
分享

微信扫一扫

微软数据库之微软自带数据库分析


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架构:

微软数据库之微软自带数据库分析_微软_02


Purchaing架构:

微软数据库之微软自带数据库分析_sql server_03


Sales架构:

微软数据库之微软自带数据库分析_数据库_04


Production架构:


 微软数据库之微软自带数据库分析_数据库设计_05

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



非空



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




举报

相关推荐

0 条评论