我有以下情况:
在销售代表跟踪订单的订单跟踪系统中:每个订单总共可以有 4 种产品类型(可佣金存储桶),每个存储桶可以有 1 个或没有该产品类型的产品。
因此,一个订单最多可以有 4 种产品(每种可能类型中的一种)
我需要为四种产品类型跟踪的信息是相同的:product-sold-id(fk)、status、product-given-id(fk)
在订单表中添加 12 列有什么好处:每种产品类型 3 列,例如 product-type1-sold-id、product-type1-status、product-type1-given-id ..... 等等?
这将是最简单的,但我的问题是大多数订单只会出售 2 或 3 种产品类型,这将导致每种产品类型有 3 个空字段未售出。每天有 100 个代表 @ 10 个订单,这将导致很多空字段。
我倾向于有一个带有 order-id(fk) 的订单项表来减少所有空字段。这种方法的问题在于,我必须向我的客户端代码添加一定程度的复杂性来处理嵌套数据,或者我的服务器代码必须在请求时展平数据并且还能够解析和保存从客户端发送修改后的平面数据。同样,每天有 100 个代表@10 个订单,每个订单有 1-4 种产品类型,这将导致每天将 1000-4000 行添加到订单项目表中。有没有办法克服这个?
任何意见,将不胜感激。我正在使用 extjs 客户端,php 服务器端,MySQL 作为我的数据库。