0

我为我的客户提出了以下架构。这里有什么特别是订单行项目。我应该使用继承吗?我很确定这个网站只允许您订购课程、课程和礼品卡,仅此而已

对于任何反馈,我们都表示感谢

在此处输入图像描述

4

2 回答 2

1

只是我对设计的想法:

  1. 您有可能的购买对象的 和 表,并Courses包含Lessons每个表的 ID。但如果客户购买 a和 a ,它们应该在订单中显示为 2 行。另外,如果您的客户想要交易更多物品,您会怎么做?GiftCardsOrderLinesLessonGiftCard

    因此,我认为重新设计这部分可能会更好,如下所示:

    • OrderLines重命名为OrderItems
    • 添加ItemType3 行的表格:Courses, Lessons, GiftCards;
    • 添加Items带有(ItemId, ItemType, Title, Price, LanguageCode, SortOrder, etc.)字段的表。

    这样,不仅可以添加评论,还可Lessons以为所有可能的项目添加评论。

    您必须想出保留详细信息字段的首选方式Items。现在CoursesLessons共享很多字段,因此将它们全部移动到新Items表中可能是合理的,因为这些字段似乎也适用于GiftCards。如果你有一些特定的细节,比如 for GiftCards,你可以添加特定的表,比如GiftCardItemswithItems.id和一组不与其他Item类型共享的特殊字段。

  2. 一个小提示:我会分成Users几个表,因为我想这个表将包含客户和支持的东西。这意味着该表可能会变大(取决于预期的客户数量)。当表的行数增加时,在单个表中维护这么多字段可能会出现问题。

我同意马特的观点——没有要求就很难说出任何事情。

于 2012-07-02T15:08:46.960 回答
0

如果不了解客户的要求,真的很难说。一切看起来都不错,但如果没有客户的需求文档,我真的无法判断它是否包含客户想要的东西。

于 2012-07-02T14:32:20.480 回答