前些天小編所在的組織部重構,組長交給小編一項設計實體的活兒,它是我們軟件靈魂(數據)的載體,實體的抽象影響到數據庫設計,數據庫設計的質量影響到整個程序的運營,下面是我設計的實體關系圖:

## 系統核心業務邏輯
? ? 1、導入基礎信息
? ? 2、設置考核對象
? ? 3、設置定量指標以及權重
? ? 4、設置定性指標,對應的檔次和權重
? ? 5、設置定量定性指標的整體權重
? ? 6、錄入定量、定性、附加分成績,將(考核對象、指標、成績進行綁定)
? ? 7、將對應的成績進行計算并匯總
## 實體概念
實體:客觀存在并可相互區別的事物稱之為實體,實體可以是具體的人、事、物,也可以是抽象的概念或聯系。
## 實體設計步驟
1、根據需求,將客觀存在的實體先畫出來
2、建立各實體之間的關系(1對1、1對多、多對多)
3、將公共屬性放到一個新實體中進行維護(如上圖的字典實體)
## 遺留問題
使用ITOO底層的框架(封裝好的增刪改查)如果每個表中沒有冗余字段,那么在得分匯總的時候,進行數據匹配,指標表和成績表匹配,再和對象表匹配,再和基礎表匹配,那么數據量將上5位數,系統的性能如何提高?
系統對數據采用硬刪除的方式,通過主外鍵關聯可以將從表中對應的關聯刪除掉,系統對數據采用軟刪除的方式,如果是三個表甚至是更多的表有主外鍵關聯,如何快速高效的刪除從表中的關聯數據?
## 總結
這個圖只是一個實體的關系圖,在建立表的過程中還是需要根據具體的業務需要,再具體確定表中的屬性,有時候可以通過增加增加冗余字段來降低查詢計算邏輯。
在設計實體的過程給自己最大的感覺就是對系統業務邏輯認識的提升,相信有了這個實體圖,心中將會有一個宏觀的圖的認識,邏輯將會更加清楚,因為業務的需要,里面實體間的關系也經過了反復思考并且和師哥在一起交流總結,感覺收獲多多。
真正做好,做大一個系統需要從更加長遠的角度去考慮,瞬間感覺任重而道遠啊,加油了O(∩_∩)O~