我应该如何构建我的架构,以便我可以正确保存数据?

时间:2013-01-17 15:44:54

标签: mysql cakephp

我正在创建一个商店应用程序,商店有类别。

sizesproducts属于category

如果我创建新的product,则Categories会显示为选择框,我可以从可用选项中选择所需的类别。这很好。

由于sizes属于category,我想将与所选类别相关联的sizes显示为输入框。我想在哪里输入size

的每个product的价格

我有一个Ajax请求,返回的大小为json。现在我不确定如何在产品添加模板中显示尺寸。我应该把它放在同一个表格中吗?我在哪里可以节省价格?

价格表结构应如何看待?

1 个答案:

答案 0 :(得分:1)

在不知道要求的情况下,这将有点困难,因为您的问题非常广泛,我不确定架构是否正确。如果架构不正确,它将解释你为什么要挣扎。

有些列对我来说没有意义。例如,category_idproduct上有size。然后,您有一个price表格,其中包含productsize,但您是否需要size.category_idproduct.category_id匹配的约束?

了解我对数据库和购物车的了解,这就是我编写架构的方式:

Categories
    id
    name
    description
    active
    created
    modified

Sizes
    id
    name

Products
    id
    name
    description
    price
    active
    offered
    created
    modified

Categories_Products
    id
    category_id
    product_id

Products_Sizes
    id
    product_id
    size_id
    price

Toppings
    id
    name
    description
    price
    active
    created
    modified

Categories_Toppings
    id
    category_id
    toppings_id

Sizes_Toppings
    id
    size_id
    topping_id
    price

<强>解释

  • 最初的Product将有一个基本价格。
  • 每个Product都可以通过HABTM与N Categories相关联 关系。
  • 每个Product都可以通过HABTM与N Sizes相关联 关系。
  • Product_Size HABTM表将存储价格调整 大小。
  • 最初的Topping将有一个基本价格。
  • 每个Topping都可以通过HABTM与N Categories相关联 关系。
  • 每个Topping都可以通过HABTM与N Sizes相关联 关系。
  • Size_Topping HABTM表将存储价格调整 大小。