我正在用PHP/MySQL开发一个股票订购系统。产品可以有多个供应商。通过指定所需数量和供应商,将产品添加到篮子中。这是当前的DB结构:
Products
=========
id (PK)
name
etc...
Suppliers
==========
id (PK)
name
etc...
Product_Suppliers
=================
id (PK)
product_id (PK)
supplier_id (PK)
price
Basket
=======
product_id (PK)
quantity
product_suppliers_idProduct_Suppliers表存储每种产品的不同供应商及其价格。
当将产品添加到篮子中时,它首先检查product_id是否已经存在于篮子表中-如果已经存在,则它将简单地覆盖记录。如果它不存在,那么它将创建一个新记录。
篮子表格中的product_suppliers_id字段指定为该特定产品选择了哪个供应商。
我想知道我在这里是否得到了正确的方法,或者我是否需要进行任何更改来消除任何冗余。
发布于 2011-08-25 04:15:43
你可能想要分配给篮子自己的PK (以防你想要一个包含多个产品的篮子,或者相同的产品和不同的提供商)。如果您想在数据库级别强制产品和购物篮之间建立一对一关系,则可以为(basket_id,product_id)分配唯一的索引
https://stackoverflow.com/questions/7181580
复制相似问题