我打算爲Rails中的項目創建一個定價矩陣。它應該是一個目的地和出發地點的表格,價格取決於你來到哪裏並準備出發。創建定價矩陣 - sql或常量數組?
我有點不知道如何更好地做到這一點:或者在這個矩陣的db中創建一個表,或者創建一個巨大的常量數組。問題是,客戶端應該能夠編輯這個矩陣,所以它最有可能去數據庫路線。
無論如何,這是什麼模式?目的地ID,出發ID,然後價格?目標和出發ID將是包含所有可能位置的表格的外鍵。有沒有更好的方法來做到這一點?
我打算爲Rails中的項目創建一個定價矩陣。它應該是一個目的地和出發地點的表格,價格取決於你來到哪裏並準備出發。創建定價矩陣 - sql或常量數組?
我有點不知道如何更好地做到這一點:或者在這個矩陣的db中創建一個表,或者創建一個巨大的常量數組。問題是,客戶端應該能夠編輯這個矩陣,所以它最有可能去數據庫路線。
無論如何,這是什麼模式?目的地ID,出發ID,然後價格?目標和出發ID將是包含所有可能位置的表格的外鍵。有沒有更好的方法來做到這一點?
使它成爲一個數據庫表。
關於價格的唯一不變是他們改變。
補充:
定價(也稱爲產品保)是,我有很多有經驗的東西。
您的客戶也可能會問/或欣賞增加的定價工具,以幫助他們做正確的事情。例如,您的sw:
您可能還需要擔心的生效日期爲定價。即如何以協調的方式推出一套新的價格。
我會將它添加到3列表中,因爲它不一定是矩陣 - 你可能不會從所有地方到所有其他地方。你想能夠編輯它。一旦你完成了你的硬編碼版本,你會被要求編輯它。
LeavingFrom, TravellingTo, Price
此外,隨着目標列表的增長,查詢性能和代碼維護將成爲一個因素。
我會使用兩個表格,Location和TravelPrice。
Location
----------
LocationID --PK
Name
TravelPrice
-------------
TravelPriceID --PK
DepartureLocationID --FK to Location
DestinationLocationID --FK to Location
Price
StartDate --date the price is effective from
EndDate --date the price is effective to (or NULL)
這可以讓你保持歷史價格,用於報表,賬單等重要理想情況下你會對TravelPrice
表,確保觸發器,有沒有間隙或重疊的日期爲給定DepartureLocationID
/DestinationLocationID
組合,並且只有一條記錄的NULL對爲EndDate
。
那麼我的模式是否正確?只是這兩個地點的ID,然後相應的價格? – corroded 2010-08-12 16:11:25
這非常有幫助。謝謝! – corroded 2010-08-12 16:26:36