2010-04-30 51 views
4

我目前正在開發一個將數據存儲在SQLite數據庫中的應用程序。數據庫將具有更多的讀寫訪問權限(實際上,它將被填充一次數據,然後幾乎只有閱讀將會發生)。閱讀表現因此非常重要。我目前正在開發的模式很可能會在未來發生變化,並添加更多的列和表。我一般對數據庫沒有太多的經驗。我的問題是,特別是在SQLite中,更改模式時是否有任何缺陷需要考慮?是否有任何模式或最佳做法提前計劃這種情況?如何規劃SQLite數據庫中的模式更改?

回答

6

以下是一些建議:

  1. 不要使用select * from ...,因爲*變化與架構更改的意義;明確命名您的查詢使用的列
  2. 保留數據庫中的模式版本號,並將應用程序中的代碼從模式版本N轉換爲版本N + 1;那麼應用程序中的所有代碼都可以使用最新的模式版本;這可能意味着默認值來填充加列
  3. 可避免複製的模式更新的表使用SQLite版本3.1.3或更高,支持ALTER TABLE ADD COLUMN...
0

研究數據集市和星型模式設計。這對你的情況可能是過度的,但至少它會阻止你隨意設計。

相關問題