表結構設計討論
1. 多個業務儲存到同一張表
優點:
資料聚集度較高,程式碼量少
缺點:
1) 結構不清晰
2) 由於工作流只能支援單個業務,無法跟工作流結合
結論:採用第一種方案。
2. 更新修改業務
根據不同的業務型別,分為兩類:
1) 顯式修改,也就是系統需要提供介面修改資訊的,比如單位基本資訊修改、個人基本資訊修改,建議採用統一的通用修改模組實現(該模組目前已實現85%)。可以達到的效果是:把修改資訊作為一筆業務看待,何時修改、何人修改、什麼原因修改、修改了什麼欄位以及原值是什麼,新值是什麼,一清二楚。
2) 隱式修改,即辦理一筆業務,修改了其他相關表資訊的,比如人員增減變動,辦理停保業務,修改了個人基本資訊表中的人員狀態為“停保”。這時候的原始資訊可以透過“歷史資料的保留”討論得出的方案保留。
結論:顯式修改,採用通用修改模組修改;隱式修改,視具體的業務具體處理。
3. 歷史資料的保留
兩種方案:
1) 在業務表上加入“有效標誌”欄位,0-當前 1-歷史 9-無效
優點:
Ø java程式處理方便,只對同一張表操作,無需書寫額外的程式碼
Ø 查詢歷史資訊和無效資訊只需要更改標誌標誌即可,透過持久層的封裝統一處理
缺點:
Ø 後臺查詢不方便,加入有效標誌=x,才能區分有效、歷史還是無效記錄
Ø PL/SQL處理不方便,理由同上
Ø 對於存在業務主鍵(業務唯一性約束)的情況,要保證有效標誌=0(當前)的情況下,保證唯一,目前Oracle有這樣的機制實現,遷移到資料庫,未確定使用資料庫的機制是否可以實現
Ø 效能損失,a)在同一張表保留歷史和無效資料,日積月累會降低查詢當前記錄的效能,尤其是對於頻繁修改的表,很可能會況會出現歷史資料+無效資料>當前資料的情況;b)降低使用索引的效能,對於某些存在業務主鍵的表,由於不能對全表資料建立業務主鍵上的唯一索引,只能建立普通索引,必然會導致效能的下降
Ø 資料量特別大的表情況,出於效能上的考慮,不太合適
2) 建立歷史表,表結構跟原表一樣,但需要加入
優點:
Ø 歷史、無效資料和當前資料隔離,不存在效能降低的問題
Ø 可以在業務主鍵上建立唯一索引,不存在“有效標誌”出現的問題
缺點:
Ø 對每張需要保留歷史記錄的表都需要建立歷史表
Ø java程式上的處理要對多張表操作,存在不夠方便(是否考慮使用通用的一種處理方式?)
結論:採用第二種方案,對每張需要保留歷史記錄的表都建立歷史表,命名方法為原表名+_BAK,加入xgr-修改人,xgsj-修改時間,scr-刪除人,scsj-刪除時間四個欄位;持久層在修改和刪除表資料的時候保留歷史、無效資訊,並且提供查詢歷史、無效資料的介面。
4. 支付賬目的設計
有兩種設計方法:
1) 主從表:從表儲存明細項金額,主表儲存彙總金額和狀態資訊
優點:
Ø 靈活,明細項有增加減少變化時,相應的從表增加減少記錄,對錶結構沒有影響
缺點:
Ø 資料量較大,比如在沖銷的時候,明細資訊也要同時沖銷,可能會存在效能問題
2) 單表:
優點:
Ø 資料量較第一種方法要少
缺點:
Ø 不靈活,明細項增加減少時需要增加減少欄位
結論:採用第一種方案。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/6906/viewspace-247758/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何設計SKU表結構
- 小組討論結果
- HBase的表結構你設計得不對!
- 討論下 RESTful 風格 API 的路由設計RESTAPI路由
- 關於IC設計的一次討論
- 架構設計方法論架構
- 關於網站設計的一點點討論網站
- 資料結構,雜湊表hash設計實驗資料結構
- 設計randompool結構random
- 討論個有關模組化設計的問題
- TRIZ理論在洗碗機設計中應用探討
- 討論
- 資料庫系統架構討論資料庫架構
- 樹形結構的選單表設計與查詢
- 專案需求討論 – 定位功能小結
- 專案需求討論 - 定位功能小結
- 前端架構設計的方法論前端架構
- 有沒有一些大廠的高階架構技術討論討論架構
- 設計模式總結(理論篇)設計模式
- 表欄位經常要增加的業務怎麼設計表結構
- 結構型設計模式設計模式
- 專案需求討論— ButterKnife初級小結
- [iOS Monkey 討論帖] 整套新的 fastmonkey 討論iOSAST
- 碎片資料收集利器-結構化動態表單設計思路
- RecyclerView的基本設計結構View
- Java基本程式設計結構Java程式設計
- DDD設計模式結構圖設計模式
- Bytom設計結構解讀
- 選擇結構程式設計程式設計
- 迴圈結構程式設計程式設計
- (Java)設計模式:結構型Java設計模式
- 關於動態配置表檢查工具 (討論帖)
- 討論《魔獸世界:暗影國度》副本“彼界”的設計失誤
- 論軟體架構設計及應用架構
- B站評論系統架構設計架構
- 網上商城架構設計之表設計思路(三)架構
- 系統架構設計師學習(二)系統架構設計師緒論架構
- 【乾貨】遊戲介面設計 (二)結構設計遊戲
- PDM系統的結構設計