SQL规范化与多个;“措施”;桌子
我目前正试图重新设计一个销售点数据库,使其更加规范化,这将极大地帮助管理数据等。根据我必须处理的数据,我对最佳设计实践有点不确定。首先,基本上有两组度量,它们共享公共密钥。有库存数据,单位和美元,然后是销售点数据,单位和美元。每一个都是客户、商店、商品和日期级别 我所做的(目前主要是在理论上)是为SQL规范化与多个;“措施”;桌子,sql,normalization,Sql,Normalization,我目前正试图重新设计一个销售点数据库,使其更加规范化,这将极大地帮助管理数据等。根据我必须处理的数据,我对最佳设计实践有点不确定。首先,基本上有两组度量,它们共享公共密钥。有库存数据,单位和美元,然后是销售点数据,单位和美元。每一个都是客户、商店、商品和日期级别 我所做的(目前主要是在理论上)是为 Item level information Item_ID, Customer_ID itemnumber (and a few other item specific inf
Item level information
Item_ID,
Customer_ID
itemnumber
(and a few other item specific information).
Stores
Store_ID,
Customer_ID,
Store Number,
(and essentially address information)
Customer
Customer_ID,
Customer Number
(other customer specific information like name).
所以除了那些“支持”表,我还有
Main Inventory Data
Store_ID
Item_ID
我还有POS数据表,具有完全相同的ID
基本上,我的问题是:
- 我是否应该在Pos数据表和库存数据表中包括客户ID,即使它们是stores和items表的一部分
- 我的第二个问题是,如果我添加客户ID,如果我将所有这些表连接在一起
- 我是否将所有表(Pos数据、门店和商品或库存数据、门店和商品)中的客户ID连接到客户表或
- 仅仅从Pos数据表中加入就足够了
当您可以加入
主库存数据时,为什么在门店
和项目
中重复使用客户ID。这是另一个冗余。也许我没有听你的问题,但让我看看这是否回答了你的问题。每个客户可能有几个商店,每个客户可能有几个项目。两个不同的客户可能共享同一个门店号(尽管地址可能完全不同),而且他们也可能拥有相同的商品号,即使商品的详细信息可能完全不同。我想你的答案正是我想要的关于客户ID的答案,也就是说,将其添加到库存数据中是没有意义的,因为我可以通过加入门店或商品表来获取客户详细信息。至于加入它,请使用我的查询所需的“最便宜”的。话虽如此,若你们有更好的方法来规范数据的想法,请分享。谢谢你的反馈!也许我还应该澄清另一点。对于给定的客户,每个商店可能包含与另一个商店相同的商品。因此,一个客户可能有许多商店,每个商店可能有许多商品,但每个商店可能包含与该客户的另一个商店相同的商品。@TimothylVenice我在可视化您的商业模式时遇到问题,请您编辑问题,尽可能多地添加详细信息,如商店的定义、客户、商品,存货等;实体之间的关系,它们之间的关系,也许,如果你想得更详细一些,你会自己找到一些答案。我补充了一些细节。如果你觉得还有一些问题需要澄清,请让我知道。你不应该让问题一直悬而未决。这个回答对你有帮助吗?如果是,请标出答案