如何在数据库架构中表达购物网站的工作流和数据结构及其操作?

How to express the workflows and data structures of a shopping site in a database schema and operations on it?

我正在从事一个雄心勃勃的电子商务项目。到目前为止,我的所有 html 模板都是用 Notepad++ 创建的。我喜欢使用 MVC Cake Framework 概念在 NetBeans 中工作,在我看来这很容易理解。

我知道如何使用添加和删除等基本命令创建一个简单的购物车。我也知道如何使用 MySQL 数据库(我认为这就是全部)。我想通过开发像沃尔玛或亚马逊这样的成熟的复杂应用程序来进一步推动游戏,客户可以在其中:

1- 你们有人做过吗?是否可以使用 MVC Cake Framework?

2- 至于注册过程和一切,我知道它主要只是数据库的东西,但我如何开发一个心愿单......访问者可以创建的那种心愿单,而无需他们注册添加上面的项目但是如果他们想管理和保存它,他们需要创建一个帐户...

3- 与一个人的帐户和活动(在社交媒体上分享、在网站上购买、评论产品.. .etc)?它也只是数据库的东西吗?可以用 MySQL 和 MVC 实现吗?

我希望我说得够清楚了!任何形式的帮助、反馈或输入将不胜感激!我很想听听你的经历!

1- Has anyone of you done it? Is it possible using MVC Cake Framework?

https://github.com/burzum/cakephp-cart-plugin

但这是 "just" 购物车。如果您查看它的特性和架构,您会发现这不是最简单的任务。有几件事需要考虑。我之前从事过不同的电子商务相关项目。

2- As for the registration process and everything, I know it's mostly just database stuff, but how do I develop a Wishlist... The kind of wishlist that can be created by visitors without them having to register to add items on it BUT if they want to manage and save it, they need to create an account...

老实说,如果您不知道如何开发一个 琐碎的 愿望清单,我严重怀疑您是否能够正确开发一个完整的电子商务解决方案。愿望清单基本上只是产品和用户之间的连接:

| id | user_id | product_id |

在 CakePHP 2.x 中,这表示为 hasAndBelongsToMany 关联,在 Cake3 中,它被称为 belongsToMany,只是被缩短了。

3- What about the "Air miles kind of reward system that is associated with one's account and activities (sharing on social medias, purchasing on the site, reviewing products...etc)? Is it just database stuff also? Doable with MySQL and MVC?

同样,您这样问让我觉得您缺乏所需的经验。当然,这在理论上适用于任何语言和任何数据库系统,它甚至不必是 MVC,有多种方法可以通向罗马。

不过,CakePHP + Mysql 是不错的选择。这些天我会选择 Cake 3.0。对于这个非常广泛的问题,我不知道您希望得到什么样的答案。奖励系统和社交分享是两个不同的子系统,可以协同工作。如果您希望获得完整的数据库模式和架构建议,抱歉,它太宽泛了,无法快速回答。