天天看點

資料庫設計的思考1 視圖

1 視圖

随着重構的進行,所有的表都将變成視圖,那麼使用視圖查詢就沒有什麼問題,而繼承提供了一種不用視圖的方案.

由于Mybatis的sql嵌入功能,加上with文法,那麼可以不建立資料庫的視圖,而是使用with建立臨時視圖,這樣在新老版本更替的時候就不會出現代碼和資料庫不一樣的情況

2 不同狀态

同一個事物的不同狀态下可能有不同字段,并且一般來說達到這種狀态必然會導緻一些字段非空,如果有太長的流程導緻有太多的字段(這樣看起來似乎不合理),那麼我們是否需要将不同狀态的資料放入不同的表呢,這樣就可以保證非空字段的一緻性(各個表根據自己的含義可以知道有哪些字段,并且這些差異化的字段一般是非空的).一種方式是通過delete 原記錄,然後insert到對應的表.另一種方式是形成一張基本記錄表,然後每發生一個動作就在響應的動作表中記錄響應的新字段,然後主鍵使用相同(如果這個事件隻能發生一次,如果發生多次必然已經是分表了)