neo*_*kio 6 php mysql e-commerce
我使用了十几个模板系统(Zen Cart,Cube Cart等).每种方法都有自己奇怪的方式来构建产品,选项和类别.所有附加功能都会导致McGuyver堆叠的卡片状况,这使得使用代码成为一种阻力.
所以六年前我建立了自己的网络商店引擎,这个引擎多年来不断发展,成为自己的一堆卡片.现在我正在对发动机进行全面检修.虽然没有一个引擎能够满足所有Webstore的需求,但我想知道以下模型是否有任何缺点,或者是否有更好的方法来创建灵活,规范化,非讨厌的商业数据库:

注意:
option_types=颜色,尺寸,材料
options=红色,白色,蓝色,S,M,L,棉,氨纶,皮革
除了有意省略的基本内容(位置,主动等),有人看到了改善这种情况的方法吗?
这是我对此的笔记/意见。您缺少基数,但我会尽力猜测它们。
Categories没问题。
由于您不使用它,因此将id其删除。item_categories在category_id 和item_id 上创建复合主键。
为每条记录提供一个唯一的 ID 在很多方面都更明智:在一个字段上查找比在两个字段上查找更快、删除更安全等
你会对该 id 进行什么查找?您将运行的查询是:“获取某个项目的所有类别”和“获取某个类别的所有项目”。我不明白为什么删除会更安全。但是,我想说添加 anid可能会不安全,因为您可能有不同的 id,但有相同的 Category_id 和 item_id 对。您必须检查那里的约束并确保这些对是唯一的(这不是 PK 的用途吗?)
items还可以...(见下面的评论)id)item_optionsoption_types没问题现在,我认为项目和选项的关联方式需要更多思考。看起来是多对多的关系。作为一件物品(例如 T 恤)可以有多种尺寸,因此说每对物品和选项都应该具有不同的尺寸是有道理的。但是,除了尺寸之外,还有不同的材料(例如棉和皮革)时会发生什么。您需要了解有关棉质 S、棉质 M、棉质 L 和皮革 S、皮革 M 和皮革 L 的信息。这是有道理的,因为我很确定它们都有不同的价格和重量。现在让我们为 T 恤添加 2 种颜色。您必须为我们现在拥有的 12 种组合中的每一种添加价格和重量。
更不用说,如果用户想查看商品的价格,他必须选择所有选项,直到达到价格。我不知道该怎么做,因为我不知道要求。我只是提出一个想法:您可以将价格和重量变化应用于作为商品一部分的基本价格和重量。
只是一些临睡前未处理的想法:
option_types可能是某种层次结构stock这种设计。您将拥有 10 件黑色 T 恤商品...但是您将拥有多少件黑色皮革 T 恤商品?这个数字与原来的 10 个数字有何关系?| 归档时间: |
|
| 查看次数: |
4068 次 |
| 最近记录: |