我正在建設一個網站,我會收取我的客戶使用它。我正在考慮每月或每年有6個許可證選項,並且會有幾種不同的許可證可供使用,每種許可證都允許不同類型的網站訪問。許可使用網站和產品數據庫架構幫助
另外我還有一些可以添加到購買許可證的附加選項。這些一次性採購更像產品而不是許可證。他們爲網站提供了更多附加組件,以實現更多功能。一旦購買,你就可以保留它。所以一切都基於網站,沒有任何運費擔心。
這將顯示在某種購物車時尚,他們可以選擇他們想要然後發送到貝寶進行處理。
只是想知道如何在我的數據庫中正確地建模?到目前爲止,我想出了:
基本上我試圖把許可證和產品在同一個表,並使用了標誌柱(licence_or_product)兩者之間的區別。這將有助於在網站上顯示它是否是產品或許可證。
值得擁有許可* offering_start_date *和* offering_end_date *字段嗎?我試圖得到它,以便我可以在提供產品時過期,如果我想以不同的價格製作新的許可證產品。這樣,那些已經以該價格購買了許可證的客戶始終保持這個價格。如果我想要更改價格,我會將產品的結束日期設置爲今天,然後在將來以較低的價格創建一個新的licence_products行,但end_date。這是做到這一點的正確方法嗎?或者你只是直接編輯物品的價格?我只是想,如果價格改變,那麼客戶想要退還該許可證,那麼您如何跟蹤他們爲該許可證支付了多少? amount_paid字段會告訴我整個訂單的成本是多少,但不是現在已改變的許可證的原始價格。我是否需要所有產品價格變化的歷史記錄?
其他事情我不知道該怎麼做,可以說他們已經購買了使用該網站一年的許可證。如何取出哪個是最新的許可證?假設我已經用30天的試用許可開始了他們,然後他們每年購買一次許可證。我是否立即使試用許可無效?我想我一次只需要一個有效的許可證。因此,如果他們在舊版本到期之前購買另一個許可證,我不確定我的程序應該如何處理。
任何幫助非常感謝。謝謝!
P.S.這裏是SQLyog數據庫模式和SQL,如果你想稍微修改一下它。
好的,非常感謝。這對許可證有意義。我如何標記他們是否支付了許可證?另一個欄位稱爲amount_paid?還是我需要一個單獨的付款表?也想知道這將如何與我銷售的'產品'一起工作,哪些不被視爲許可證,更多的是一次性購買不會過期? – zuallauz 2011-05-11 07:40:53
我認爲,有一個許可證表可以創建一個「產品」表,另一個稱爲「product_type」,這將是「嚴格」的做法,我認爲它給你靈活性,你總是可以檢索你的銷售(或不)許可證和產品。如果您想跟蹤客戶是否付款,也許您應該添加一個「支付tinyint(1)」的列,如果它是1,則表示他/她已付款,如果爲0,則表示他/她沒有付款。我希望這有幫助。 – PachinSV 2011-05-11 14:26:34
現在工作得很好。謝謝您的幫助。 – zuallauz 2011-05-25 08:47:14