我有一個包含匯率的mysql數據庫表。目前它是這樣定義的:數據庫架構問題
date | currency | rate
這些費率使用一些基本貨幣。現在我還需要另存基準貨幣的利率。創建一個單獨的表格還是使用一個表格更好?每種方法的優點和缺點是什麼?
我有一個包含匯率的mysql數據庫表。目前它是這樣定義的:數據庫架構問題
date | currency | rate
這些費率使用一些基本貨幣。現在我還需要另存基準貨幣的利率。創建一個單獨的表格還是使用一個表格更好?每種方法的優點和缺點是什麼?
您可以添加新列currency_from這是啓動貨幣和兌換貨幣,以currency_to這將是貨幣更換成
這個優點是您的貨幣轉換器不需要跟蹤不同轉換類型的不同表名稱,並且您只需執行一次轉換而不是2次,如果您決定保持原狀並轉換爲已知貨幣然後轉換爲所需的貨幣。 – plague
你確定你需要存儲這兩個基礎貨幣?如果你知道從美元到歐元的匯率,以及歐元到英鎊的匯率,你可以從美元到英鎊。
如果您必須同時存儲兩種基本費率,i_forget的答案顯然是正確的 - 您希望您的貨幣轉換代碼相同,而不必根據您使用的貨幣來替換表格名稱 - 如果必須到2種貨幣,你必須考慮到你必須去200種貨幣的可能性。
+1同意。不知道爲什麼你需要以第二基礎貨幣@planetp存儲利率。如果您有一些來源以不同的基礎貨幣提供匯率,請考慮將其轉換爲*您的*基礎,然後再堅持它們。 –
-1不同意。貨幣轉換不是溫度轉換。您需要爲每個日期或時間單位存儲每種貨幣對的匯率。 – TomL
@TomL - 這是一個問題,而不是一個答案。如果您正在追蹤歷史交易,則確實需要存儲每種貨幣的匯率;如果你只是在計算假設值,你可能不需要它。 –
你可以包含一些將在表中的示例數據嗎? – Dirk
有趣的問題,因爲邏輯表明,應該有一個有效的方式來存儲所有數據,而不必訴諸重複,因爲匯率雙向工作。 +1。 –
@Dirk:'2011-07-20 | AUD | 30.0056 || 2011-07-20 | CAD | 29.4461' – planetp