【发布时间】:2012-02-25 20:34:16
【问题描述】:
我从未从头开始设计数据库/数据模型/模式,尤其是针对 Web 应用程序。 在最近的一些工作面试中,我被要求为购物车应用程序“设计”一个数据库。现在我正在开发一个移动购物应用程序(零售,使用phonegap),其后端需要存储和处理产品和订单信息。这个问题的规模如此之大,我不知道从哪里开始。我希望得到一些建议 -
- 我应该如何解决这样的问题(购物车应用程序数据库)?我应该从哪里开始?
- 有哪些我应该避免的常见错误/陷阱?
- 在设计这样的数据库时,我应该牢记哪些优化/效率范例?
- 我应该如何识别问题空间中的实体(产品、订单等)?我应该如何推导出它们之间的关系?
- 当面试官问这样一个问题时,他到底在寻找什么?有什么我应该/不应该说的吗?
我还应该澄清一下 -
- 是的,我是菜鸟,我的动机是学习数据库设计并为即将到来的工作面试做准备。我读过 DBMS 书籍,其中详细描述了各个概念,但我不知道如何将这些东西放在一起并开始设计数据库。
- 我见过其他有关数据库设计的主题。作者已经倾向于拥有一些关于如何分解问题的知识。我想了解这样做背后的方法。
- 非常感谢链接到外部资源、cmets、建议和任何能让我走上正轨的东西。我希望这个帖子可以作为我自己和其他人的学习经验。
【问题讨论】:
-
感谢您对规范化的回复和信息。作为一个新手,我必须从我的角度澄清这一点——对于一个新手来说,在购物车或银行这样复杂的领域中理解数据库设计的复杂性是非常困难的。这与理解数据库设计的基础知识关系不大,更多的是与理解领域以及如何分解它以得出一个好的解决方案有关。上面的答案很好地提供了简洁的解决方案来回答这两个问题 - 设计基础和领域知识。常识只能带你到此为止。
标签: database database-design shopping-cart