我正在制作 POS,由于产品属性,目前有点卡在订单流程上。
到目前为止,数据库看起来像这样:
tbl_products
tbl_attributes (attr id, name, extra price)
tbl_sales ( where i store the time, total price etc)
tbl_salelines ( where i store what items have being order for a certain sale).
问题是存储商品订单的属性。一件物品可以拥有的属性没有固定数量。它可以从 1 到 10-15,因此我认为在 tbl_salelines 中使用attr_1
attr_2
etc 等创建一些列不会解决这个问题。
我应该如何处理这个?
假设属性用于 tbl_salelines 中的记录。
如果关系是一个销售线可以有多个属性,则在 tbl_attributes 表中为 salesline_id 添加一列。
如果关系是这样的,一个销售线可以有多个属性,一个属性可以有多个销售线,然后添加一个带有 attribute_id 和 salesline_id 的交集表,其中这两个 id 都是它们自己表中的主键,并且是交集表中的外键. 它可能看起来像这样......
在上面的示例中,销售热线 800 有两个属性(蓝色和夜光)。同样,属性 45 在两条销售线上。