买卖电子商务的数据库设计

use*_*104 5 mysql database e-commerce

我正在学校项目上工作,以创建一个销售和出租产品的电子商务网站。

我的主要问题是我找不到“出租”部分的最佳设计。现在,我正在考虑两种设计:

第一个数据库设计建议: 第一个数据库设计建议


第二个数据库设计建议: 第二个数据库设计建议

如您所见,两种设计都有相同的表格,但关系不同,但我无法确定哪个更好。

如果您能告诉我哪种设计更好,或者是否有更好的方法来设计我的数据库,我将很高兴。

vye*_*rov 2

从现实生活的角度思考你的问题:

\n\n
    \n
  1. 您将提供 \xe2\x80\x9csomething\xe2\x80\x9d,位于products您的模式中;
  2. \n
  3. 您将使用 \xe2\x80\x9csomebody\xe2\x80\x9d 或customers在您的架构中。
  4. \n
\n\n

这两个表是最重要的,因为没有它们,整个事情就没有意义。

\n\n

接下来,在现实生活中,您必须为每笔交易准备文件,以便:

\n\n
    \n
  1. 向当局报告并纳税(你不喜欢纳税吗?);
  2. \n
  3. 跟踪客户\xe2\x80\x9con 手中\xe2\x80\x9d 的产品。
  4. \n
\n\n

这些有orders两种类型:购买和租赁。

\n\n

但请注意,不太可能在一个订单中租用一组具有不同归还日期的产品。通常,人们会为某些特殊情况租用一套相关物品,例如婚礼庆典或浴室维修。如果您需要某些产品 2 天,而另一些产品需要 2 周,最好创建 2 个订单,因为可能适用不同的交货条件或折扣。

\n\n

因此,我认为初始变体 #1通过以下更新更符合您的目标:

\n\n
    \n
  1. order_type应将列添加到orders表中;
  2. \n
  3. rent_detailsorders应与表相关;
  4. \n
  5. rent_details应该只order_id代替rent_detail_id+ order_items_id;
  6. \n
  7. 非常有必要在表中添加一个单独的price列;order_itemsdiscount
  8. \n
\n