Que*_*ger 11 database shopping-cart database-design
我从未设计过数据库/数据模型/模式,特别是对于Web应用程序.在最近的一些求职面试中,我被要求为购物车应用程序"设计"数据库.现在我正在开发一个移动购物应用程序(零售,使用phonegap),后端需要存储和处理产品和订单信息.这个问题的规模是如此巨大,我不知道从哪里开始.我希望有一些建议 -
我还应该澄清 -
Dev*_*osh 19
数据库中可以有五个表:
CATEGORY此表存储有关商店的产品类别和类别层次结构的信息.
此表的父字段存储父类别的ID.
PRODUCT您商店的所有产品都存储在此表中.此表具有外键categoryID,用于标识产品所属类别的ID.
订购此表存储有关您商店的访客所做的所有订单的信息.
ORDERED_SHOPPING_CART表与PRODUCT和ORDER表紧密相连; 存储有关客户订单内容的信息.
SPECIAL_OFFER表包含产品列表,这些产品在主页上显示为特别优惠
Dan*_*rly 12
一个简短的答案是我将解决这个问题的方式.首先,有大量的开源或免费的基于Web的购物车.这意味着你可以获得一个,设置数据库,然后仔细看看他们做了什么.
问问自己这些问题,为什么他们这样做?它为什么好?有什么不利之处?我怎么会这样做?为什么?
我会尝试使用一个数据库设计工具,允许您可视化数据库.(就像Visual Studio中的数据库设计师,或者我有一个来自MicroOlap的pgsql数据库)
然后,您需要考虑数据库中需要什么.客户要做什么?买产品!因此,您需要一个产品表.没有走完整条路线,你可以看到重点.想象一下需要什么,然后基本上为它做一个表.
如果表中的字段有多个选项,请创建另一个表中包含关系的表.因此,如果您有产品表并且您有一个状态字段.你可以拥有多个身份.(例如缺货,数量有限,大件商品,价格昂贵)而不是硬编码这些字段,制作表格并允许用户向表格添加商品.然后在product表中添加一个字段status_id并将其链接到状态表
许多关系是很有用的事情.(我自己也不满意.)说你有一个组件和产品表.产品可以由许多组件组成,组件可以分配给许多产品.创建一个中介表.类似prodcomp的东西(在这里你会有像id,prod_id,comp_id,qtyneeded这样的字段).
学会正确索引.
在您充分了解数据库的工作方式之前,请不要创建数据库.这节省了以后重新创建它的时间.
可能还有更多,但是,我希望我给你一个良好的开端.