2016-01-18 32 views
2

我正在創建一個有趣的樣本銀行程序,我意識到我需要一些幫助。C++ - 保存和刪除

我設置了它,以便您可以創建兩種不同類型的銀行賬戶 - 一個用於個人賬戶,另一個用於業務賬戶。我希望能夠保存給這些帳戶的數據&也可以刪除數據,如果他們的帳戶得到「取消」等

我的想法是爲每個帳戶持有人創建單獨的文件 - 所以每個人或者公司將有一個用它中的數據創建的文件(多少錢,名字等)。這是一個現實的方法,還是隻是聚集起來,佔用大量空間?有沒有更簡單的方法來做到這一點? (更高效或更快)。

注意:我不想要這個問題的代碼,我想解釋如何最好地解決這個問題。

在此先感謝! :)

+4

對於您只是爲了好玩而編寫的程序,使用文件系統似乎是合理的。但是,您可能需要考慮使用數據庫來存儲數據。我會嘗試MySql –

回答

4

你可以用文件來做到這一點。然而,最終隨着程序變得複雜,最終需要更多的結構(如多個帳戶之間的共享數據),原子性(沒有中間狀態可見),事務(能夠回滾一些操作),更多的吞吐量,備份,報告,彙總,多系統分發,檢查指向,遷移等。你可以在你的文件結構的基礎上實現它,但這會很困難。

幸運的是,已經有一個簡單的解決方案。它被稱爲數據庫。您可以相對容易地設置您自己的實例,並提供您現在需要的一些功能以及一些您認爲現在不需要的功能,但可能在將來的某個時間點需要它們。

因此,請檢出SQL數據庫(例如MySql,PostGreSQL,SQlite或來自Microsoft或Oracle的一些更高級的解決方案)或雲提供商提供的NoSQL解決方案之一(例如bigtable)。此時,它們中的任何一個都可能滿足您存儲,修改和刪除數據的需要。

+4

SQlite也許值得一提。這樣,OP可以避免需要單獨的重量級數據庫應用程序,同時獲得大部分好處,並且可以在需要時輕鬆切換到「真實」數據庫。 – JBentley

+0

我想過關於文件,但是我也意識到在某些時候你會有一百萬個文件在浮動,事情會變得混亂。 (特別是因爲我想讓程序能夠更改數據並與數據交互)。很高興知道使用文件不是唯一的方法! 我還沒有在我的OOP類等數據庫中做過任何事情,但現在我會研究它。在新學期開始前有一些背景知識可能還不錯。 感謝您的提示! – opheliaxo