首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >微软数据库之微软自带数据库分析

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

作者头像
张哥编程
发布2024-12-17 14:03:18
发布2024-12-17 14:03:18
2700
举报
文章被收录于专栏:云计算linux云计算linux

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

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

HumanResources架构:

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

Purchaing架构:

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

Sales架构:

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

Production架构:

微软数据库之微软自带数据库分析_数据库设计_05
微软数据库之微软自带数据库分析_数据库设计_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

非空

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-03-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • AdventureWorks 案例研究
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档