我正在編寫一個應用程序,該應用程序與使用JSON響應的Web API進行通信。目前,我正在使用gson(這很棒,順便說一句)將JSON對象翻譯成Java對象。將JSON存儲在sqlite字段中?
現在,我想將這些對象中的一些存儲在SQLite數據庫中。然而,它們有很多屬性在查詢中永遠不會被使用(即我不會使用ORDER
ing,WHERE
ing,或者那些具有這些屬性的東西),所以我覺得沒必要爲它們創建列。我在想什麼做的是:
- 只爲將查詢數據庫時
- 有一個
TEXT
或BLOB
列(你推薦哪一個?)中使用的基本數據列存儲的實際的JSON,所以我可以從它重新創建我的Java對象並訪問所有數據。
這樣既能讓我的生活更輕鬆,並簡化我的代碼(我也不會從API與數據從數據庫中的數據處理時,寫非常不同的代碼)。
但是,雖然我沒有看到缺點,但感覺有點可疑。
如果我使用這種技術,你會認爲我會遇到什麼樣的麻煩?
這在技術上會違反規範化規則 - 其值依賴於其他領域的領域,但規範化規則是建議,而不是刻在石頭上 - 你必須做的是這樣的規則。 –
在我的應用程序中,我將JSON數據存儲在'TEXT'字段中,但是它的數據不適合使用它自己的表格。 – javisrk
@Marc我喜歡你如何在「違反規範化規則」中翻譯「腥」:)(是的,我知道他們是什麼) – Felix