2011-08-14 144 views
0

我正計劃編寫一個應用程序來幫助我跟蹤我如何花錢。爲此,我希望能夠將事務記錄到系統中,然後我首先想到的是持久性存儲是將事務加載到數據庫中。MySql設計問題

我的問題是,因爲我只會記錄一件事情,事務處理使用數據庫作爲存儲時,它只會有一個表,即transaction

如果沒有,任何人都可以想到可能在數據庫中的其他表。我最初的想法是隻有一個transactions表,但我可以看到需要有categories,其數據類似於Food, Entertainment, Gas ..等等。

任何想法/指針將是真棒 感謝

+1

不是你的問題的答案,但你可以考慮SQLite而不是mysql,因爲它是無服務器的,但仍然SQL(http://sqlite.org/) – Inca

+0

@Inca,謝謝。這可能會更好,因爲這將是一個非常小的數據庫。 –

回答

1

這是什麼?據只有一個數據庫表中。有時,使用平面文件進行數據存儲可能更簡單(例如csv,json),但適當的數據庫可以提供更好的過濾,排序和連接數據的性能。

此外,事務不是某些數據庫的理想名稱,因爲它可能是保留關鍵字。 「支出」如何?

如果您使用的標籤,而不是類,典型的設計是一個交易表,標籤表,並加入他們在一起的許多一對多膠表:

  • 支出表:expenditure_id ,名稱,位置,數量
  • 標籤表:TAG_ID,名
  • expenditure_tag表:expenditure_id,TAG_ID
+0

感謝您的想法。 –