2012-08-13 42 views
4

我正在开展我的学校项目,以创建销售和出租产品的电子商务网站。数据库设计出售/出租电子商务

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

的第一个数据库设计建议: The first database design suggestion


第二个数据库的设计建议: The second database design suggestion

正如你可以看到有在同一个表这两种设计都有不同的关系,但我不知道哪一个更好。

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

+0

我建议将'-id_order'添加到'rent_detail'并删除'id_product'和'id_customer'。他们可以从订单中获得。 – 2012-08-13 16:13:32

+0

ty,但哪种设计是? bcz命令没有id_product – user1559104 2012-08-13 16:21:12

+0

你画的是哪个编辑器?应该有没有虚线的实线。从订单中,你可以从物品 - 产品中获得物品。两种设计只有'rent_detail'才有区别。 – 2012-08-13 16:40:32

回答

1

认为你的问题,从现实生活的角度:

  1. 您将提供“东西”,是在您的架构products;
  2. 您将在架构中使用“somebody”或customers

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

接下来,在现实生活中,你必须为每个交易的文件,你会做,以:

  1. 向当局报告并缴纳税款;(你不喜欢纳税?)
  2. 跟踪客户“掌握”的产品。

这些是orders有2种类型:购买和出租。

但请注意,按一个订单租用具有不同退货日期的一组产品是不合情理的。通常情况下,人们会为一些特殊情况租用一套相关物品,例如婚礼庆典或浴室修理。如果您需要某些产品2天而其他产品需要2周,则最好创建2个订单,因为可能会应用不同的交付条件或折扣。

所以我认为最初变#1以下更新符合你的目标更好:

  1. order_type列应该被添加到orders表;
  2. rent_details应与orders表相关;
  3. rent_details应该只有order_id代替rent_detail_id + order_items_id;
  4. 非常有必要在order_items表中有单独的price列以及discount;
+0

谢谢你的答案,但可惜它有点晚了,我已经完成了我的数据库,开始为网站编写代码,这是一个[链接](http://postimage.org/image/guohxaa0l/),我认为这最后的设计更好,你觉得怎么样? – user1559104 2012-08-14 17:27:08

+0

@ user1559104,看起来不错。只要它适合你,那就没问题。 – vyegorov 2012-08-14 17:33:39