我遇到了一种情况,我需要通过 MariaDB 设计一个 SQL 数据库结构,但我不是数据库架构师,而且我想第一次尝试就做对。
因此,我有一个产品表,为了便于阅读,它有 2 个字段,id 和 name。我不知道如何制作这个图形,所以我将使用 json 来定义它:
productColumns = {
id: "INTEGER",
name: "STRING",
}
然后我有了变体表:
variantsColumns = {
id: "INTEGER",
name: "STRING",
product_id: "INTEGER",
}
现在的目标。我需要添加捆绑包和购物车。捆绑包必须包含具有指定变体的多个产品。购物车必须包含具有指定变体的多个产品以及捆绑包。现在我需要能够为购物车和捆绑包整体添加折扣,同时也能为购物车或捆绑包中的特定产品添加折扣。
我的想法是:
bundlesColumns: {
id: "INTEGER",
name: "STRING",
discount_type: "PERCENTAGE|ABSOLUTE"
discount: "INTEGER"
}
bundleItems: {
id: "INTEGER",
bundle_id: "INTEGER",
discount_type: "PERCENTAGE|ABSOLUTE",
discount: "INTEGER",
product_id: "INTEGER",
variant_id: "INTEGER",
quantity: "INTEGER",
}
carts: {
id: "INTEGER",
discount_type: "PERCENTAGE|ABSOLUTE"
discount: "INTEGER"
}
cartItems: {
id: "INTEGER",
cart_id: "INTEGER",
discount_type: "PERCENTAGE|ABSOLUTE",
discount: "INTEGER",
product_id: "INTEGER",
variant_id: "INTEGER",
bundle_id: "INTEGER",
quantity: "INTEGER"
}
我之前设计过几个数据库,但这种结构有些不对劲,看起来会给未来的发展带来麻烦,我想听听你的意见。有没有更好的方法?