在 Excel 中将数据分解为有条理的主题

下面的几个示例数据表在拆分为销售人员、产品、客户和订单的表格后,显示 Excel 工作表中的相同信息。 表设计不是最终的,但它在正确的轨道上。

Salespersons 表仅包含有关销售人员的信息。 请注意,每个记录都有一个唯一的 ID (SalesPerson ID) 。 SalesPerson ID 值将在“订单”表中用于将订单连接到销售人员。

售货员

Salesperson ID

姓氏

名字

101

Li

耶鲁

103

亚当斯

艾伦

105

Hance

米申

107

科赫

芦苇

“产品”表仅包含有关产品的信息。 请注意,每条记录都有一个唯一的 ID (产品 ID) 。 “产品 ID”值将用于将产品信息连接到“订单详细信息”表。

产品

产品 ID

价格

A-2275

16.75

B-205

4.50

C-789

7.00

C-795

9.75

D-4420

7.25

F-198

5.25

“客户”表仅包含有关客户的信息。 请注意,每个记录都有一个唯一的 ID (客户 ID) 。 “客户 ID”值将用于将客户信息连接到“订单”表。

客户

客户 ID

名称

街道地址

城市

州/省

邮政编码

手机

1001

康拓工程有限公司

2302 哈佛大道

Bellevue

WA

98227

425-555-0222

1003

嘉元实业

1025 哥伦比亚圈

柯克兰

WA

98234

425-555-0185

1005

Fourth Coffee

7007 康奈尔街

雷德蒙德

WA

98199

425-555-0201

“订单”表包含有关订单、销售人员、客户和产品的信息。 请注意,每个记录都有一个唯一的 ID (订单 ID) 。 此表中的某些信息需要拆分为包含订单详细信息的附加表,以便“订单”表仅包含四列:唯一的订单 ID、订单日期、销售人员 ID 和客户 ID。 此处显示的表尚未拆分为“订单详细信息”表。

订单

订单 ID

订单日期

SalesPerson ID

客户 ID

产品 ID

数量

2349

3/4/09

101

1005

C-789

3

2349

3/4/09

101

1005

C-795

6

2350

3/4/09

103

1003

A-2275

2

2350

3/4/09

103

1003

F-198

6

2350

3/4/09

103

1003

B-205

1

2351

3/4/09

105

1001

C-795

6

2352

3/5/09

105

1003

A-2275

2

2352

3/5/09

105

1003

D-4420

3

2353

3/7/09

107

1005

A-2275

6

2353

3/7/09

107

1005

C-789

5

订单详细信息(如产品 ID 和数量)从“订单”表中移出,并存储在名为“订单详细信息”的表中。 请记住,有 9 个订单,因此此表中有 9 条记录是有意义的。 请注意,Orders 表具有唯一 ID (Order ID) ,该 ID 将从“订单详细信息”表中引用。

Orders 表的最终设计应如下所示:

订单

订单 ID

订单日期

SalesPerson ID

客户 ID

2349

3/4/09

101

1005

2350

3/4/09

103

1003

2351

3/4/09

105

1001

2352

3/5/09

105

1003

2353

3/7/09

107

1005

“订单详细信息”表不包含需要唯一值的列 (也就是说,没有主键) ,因此任何或所有列都可以包含“冗余”数据。 但是, (此规则适用于数据库) 中的任何表,则此表中的两条记录不应完全相同。 在此表中,应有 17 条记录,每个记录对应于单个订单中的产品。 例如,在订单 2349 中,三个 C-789 产品构成整个订单的两个部分之一。

因此,“订单详细信息”表应如下所示:

订单详细信息

订单 ID

产品 ID

数量

2349

C-789

3

2349

C-795

6

2350

A-2275

2

2350

F-198

6

2350

B-205

1

2351

C-795

6

2352

A-2275

2

2352

D-4420

3

2353

A-2275

6

2353

C-789

5

CSGO连跳怎么跳?详细攻略教你成为高手
三国杀酒牌的奥秘与战术运用