如何在数据库中存储订单和产品?

时间:2014-07-07 18:03:17

标签: database

我订购的客户ID,订单日期,订单类型等详细信息......

然后该订单包含该订单上的产品列表

我是为订单创建一个表,还是为产品创建另一个表?

如果是,那么两个表之间是否应该有外键?

3 个答案:

答案 0 :(得分:1)

您的表格结构应如下所示。在您的product表格中,通过foriegn密钥在order_id表格中创建对order的引用。那么,每个订单都将被关联 使用一个或多个产品,您可以使用JOIN查询中的SELECT找到相同内容。

Table: Order(order_id Primary key,customer id, order date, order type)

Table: Products(product_id primary key, order_id foriegn key,col1, col2); 

说明:

产品可能无法随时与订单关联,但订单必须与产品相关联(出于原因,我们无法订购空白订单)。

答案 1 :(得分:1)

以下是我的模型:

  1. 客户可以订购多个订单;订单属于一个客户。
  2. 项目是指一个产品
  3. 订单可以有很多项目;一个物品属于一个订单。
  4. 一对多的外键总是属于"很多"表并参考他们的"一个"表

    如果你有多对多的关系,你需要一个JOIN表,它有两个一对多的外键。

答案 2 :(得分:1)

如果产品不属于您的商店/来源,您当前的情况可能有效,您从不同的来源和客户订购产品,以便您可以使用要求详细信息维护订单。 如果产品来自您的来源/商店,那么您必须需要产品和订单