2012-07-02 102 views
0

我爲我的一個客戶提出了以下模式。有沒有什麼東西在這裏特別是訂單行項目。我應該使用繼承。我敢肯定,這個網站只允許您訂購的課程,課程和禮品卡,這就是它沒有繼承的數據庫設計

任何反饋,將不勝感激

enter image description here

回答

0

這是真的很難講不知道客戶的要求。一切看起來都不錯,但我無法確定它是否包含客戶需要的東西,而不需要他們的需求文檔。

+0

該網站基本上允許用戶購買課程,課程或禮品卡,我特別詢問有關訂單表。顯示我有一個更通用的表產品,或者它很好,我怎麼做提前感謝 – DevTeamExpress

+0

你使用自上而下的方法?我摔倒了,他們應該能夠在決定他們想要購買什麼之前查看課程和課程。不只是彈出一個訂單屏幕,並讓他們從那裏進行研究 –

1

只是我的想法的設計:

  1. 您有可能購買的對象CoursesLessonsGiftCards表,OrderLines包含每個表的標識。但是,如果客戶購買LessonGiftCard,則應按順序將其顯示爲2行。另外,如果你的客戶想要交易更多的對象,你會做什麼?

    因此,我認爲這可能是更好的重新設計這部分,像這樣:

    • OrderLines重命名爲OrderItems;
    • add ItemType表中有3行:Courses,Lessons,GiftCards;
    • Items(ItemId, ItemType, Title, Price, LanguageCode, SortOrder, etc.)字段。

    這種方式也可以添加評論不僅爲Lessons,但所有可能的項目。

    您將不得不拿出保留Items詳細信息字段的首選方式。目前CoursesLessons共享很多字段,因此將其全部移到新的Items表中可能是合理的,因爲此類字段對於GiftCards也似乎也是有效的。如果您有一些具體的詳細信息,例如GiftCards,您可以添加特定的表格,如GiftCardItemsItems.id以及一組不與其他Item類型共享的特殊字段。

  2. 小調:我會將Users分成幾張表格,因爲我認爲這張表格將同時包含客戶和支持內容。這意味着該表格可能會變大(取決於預計有多少客戶)。當表的行數增加時,在單個表中維護這麼多的字段可能會產生問題。

我同意馬特 - 很難說沒有要求的東西。