我正在開發一個關於書籍的網絡應用程序。我們都知道,書籍有不同的類別。所以,這個類別是一個數字序列的基礎,例如,200 =計算機相關,800 =歷史。每本書僅限於一個類別。哪種方法來存儲靜態數據更好?
這是問題。我有一個類別列表,它可能會在未來擴展。例如,新技術出現,將創建新類別。那麼,我應該如何存儲這個類別?在數據庫中?或一個簡單的XML文件?因爲它一直沒有改變,所以,我認爲它會成爲浪費存儲在數據庫中?你好。
我正在開發一個關於書籍的網絡應用程序。我們都知道,書籍有不同的類別。所以,這個類別是一個數字序列的基礎,例如,200 =計算機相關,800 =歷史。每本書僅限於一個類別。哪種方法來存儲靜態數據更好?
這是問題。我有一個類別列表,它可能會在未來擴展。例如,新技術出現,將創建新類別。那麼,我應該如何存儲這個類別?在數據庫中?或一個簡單的XML文件?因爲它一直沒有改變,所以,我認爲它會成爲浪費存儲在數據庫中?你好。
對我來說,最好的決定是使用數據庫進行存儲。你不知道隨着時間的推移,你的項目會有哪些變化。此外,如果數據進入數據庫,您可以輕鬆更新它們並添加相關的其他信息。但這取決於。你更清楚你有什麼樣的項目和你使用的是什麼技術。
也許XML也是一個不錯的選擇。您可以相對容易地添加新數據並選擇當前的數據,然後在項目中使用它們。
但我的建議是使用數據庫。類別不是太多要存儲的數據。它更加靈活和強大。
如果您認爲將來會添加新類別,它不是靜態的,應該可能存儲在數據庫中。由於它在應用程序運行時不會不斷變化,因此您可以讓應用程序在啓動時將此數據緩存在內存中,以避免不斷查詢數據庫中的此列表。
我看不出有效的理由不使用數據庫,特別是如果你已經做了一些其他的數據。這樣的小桌子很常見。 如果您想完全避免數據庫訪問,文件存儲(如XML或文本文件)可能是不錯的選擇。
如果您在應用程序中使用其他存儲的數據庫,然後將其存儲在查找表中。您可以緩存查詢以獲取列表,以便在沒有不必要的行程前往數據庫時,如果這就是您所說的浪費。所以我會根據你使用的是否是倉庫來做出決定。
將其存儲在數據庫中。如果你不這樣做,那將浪費普通磁盤空間。如果你談到「有些類別會不時增加」,那麼數據量就沒有真正的增長。請記住,大公司/網站/應用程序/數據庫...存儲數十億行數據,所以如果您存儲您的類別,這將是沒有問題的。這樣,應用程序就可以更容易地「與SQL一起工作」來進行數據檢索,就好像XML也是一樣。
您應該將類別存儲在關係表中以確保您的約束有效(在這種情況下,每本書中的一個類別是正確的)?
在存儲或成本(查詢性能)方面您不會遇到太多浪費。事實上,我很肯定你會希望按照他們的類別查詢書籍,所以這是一個合乎邏輯的設計。
浪費什麼? – 2010-07-05 14:01:32
+1給所有使用數據庫的人!如果您還將書籍存儲在那裏,則可以將數據加入並執行諸如「在與計算機相關的」類別中獲取所有書籍(SELECT * FROM tblBook WHERE CategoryId = 200)或者給我一本書並告訴我什麼類別它是在(選擇tblBook.Title,tblCategory.Title'CategoryTitle'從tblBook INNER JOIN tblCategory ON tblCategory.Id = tblBook.CategoryId WHERE tblBook.Id = 1)等等... – Fenton 2010-07-05 14:14:14