此流程設計是在第一版的基礎上根據實際情況做出更多調整的一種設計方案,在此方案中,可以大大的提高流程編碼的簡潔性。此設計中的表中存在很多的冗餘設計,冗餘設計有時對系統來說是非常友好的,對效能提公升有很大的幫助,對編碼邏輯有很大的幫助
t_workflow流程定義表
列名型別
是否主鍵
描述workflow_id
varchar(20)
是流程id,流程識別時的唯一標識
workflow_name
varchar(100)
否流程名稱
create_time
datetime
否建立時間
create_user
varchar(20)
否建立人
t_workflow_node流程節點表
列名型別
是否主鍵
描述node_id
varchar(20)
是流程節點id,用來標識流程節點
workflow_id
varchar(20)
否流程id,用來標識流程和節點的關係
node_name
varchar(100)
否節點名稱
node_status
varchar(1)
否流程節點狀態,1-起始節點,2-流程中間節點,3-結束節點
create_time
datetime
否建立時間
create_user
varchar(20)
否建立人
t_workflow_node_x_role流程和角色關聯表,流程和角色可以是一對多關係
列名型別
是否主鍵
描述node_id
varchar(20)
是流程節點id
role_id
varchar(20)
是流程角色id
t_workflow_node_link流程節點流向表
列名型別
是否主鍵
描述workflow_id
varchar(20)
是流程id
curr_node_id
varchar(20)
是當前流程節點
next_node_id
varchar(20)
是下一流程節點
action_name
varchar(100)
否流程流轉描述
action
varchar(20)
否流程流轉標識,通過-next,駁回-back,用來標識此流轉是通過還是駁回
workflow_status
varchar(10)
否此步驟是否結束流程1-不結束,2-結束
t_workflow_business流程業務關聯表,此表用來標識流程當前流轉到狀態和節點
列名型別
是否主鍵
描述workflow_business_id
varchar(20)
是流程啟動後,與業務進行關聯,每一條流程只產生一條記錄
workflow_id
varchar(20)
否流程id
curr_node
varchar(20)
否流程所處的流程節點
last_node
varchar(20)
否上一處理節點
workflow_status
varchar(20)
否流程當前處理的狀態,例如待接收,已接收,已結束,根據實際業務來定
business_id
varchar(100)
否流程與業務進行關聯時,儲存的業務表的唯一標識
business_type
varchar(100)
否關聯的業務標識,根據實際的業務來定
deal_user
varchar(100)
否流程是否結束,1-未結束,2-結束
workflow_is_over
varchar(10)
否處理人
create_user
varchar(100)
否流程建立人
create_time
datetime
否 建立時間
t_workflow_business_history業務流轉記錄表
列名型別
是否主鍵
描述history_id
varhcar(20)
是業務流轉表歷史記錄唯一標識
workflow_business_id
varchar(20)
否流程業務關聯表id
curr_node_id
varchar(20)
否流程當前處理節點
next_node_id
varchar(20)
否流程流轉下一節點
node_action
varchar(20)
否流程流轉標識,通過-next,駁回-back,**-send,用來標識此流轉是通過還是駁回
deal_user_id
varchar(20)
否當前節點處理人id
deal_user_name
varchar(20)
否當前節點處理人名稱
deal_time
varchar(20)
否處理時間
suggestion_feedback
text
否流程處理反饋意見
deal_step
varchar(20)
流程處理步驟,例如:提交申請,審批等等,可根據實際業務來定製
create_time
datetime
否建立時間
create_user
varchar(20)
否建立人
t_workflow_node_action流程節點流轉動作表
列名型別
是否主鍵
描述此表用來標識每個節點的流轉動作,通過,駁回或者**,也可以說是一種冗餘的表設計,但是,有時冗餘的設計對編碼來說,可以大大的提高編碼的簡潔性
idint(11)
是主鍵id
workflow_id
varchar(20)
否流程id
node_id
varchar(20)
否節點id
action
varchar(20)
否動作,通過-next;駁回-back;send-**
action_name
varchar(20)
否動作名稱
此流程設計可和聯合看
結構設計 資料表設計 常用表結構設計
為了建立冗餘較小 結構合理的資料庫,設計資料庫時必須遵循一定的規則。在關係型資料庫中這種規則就稱為正規化。位址一般包括 省 市 縣 區 詳細位址 我們當然可以儲存乙個字段 使用分隔符 json 等儲存 介紹字段介紹 字段介紹 idbigint id parentid parentidlist chi...
試讀 《軟體架構設計(第二版)》
作為技術開發人員以及有將近2年了。因為現在團隊裡有乙個架構師,所以在日常開發中不太涉及到架構方面的思考。但總聽到大家在會議上討論 過度設計 冗餘設計 深刻體會到作為乙個剛入門的開發人員,想要成為乙個架構師還有很多地方需要學習進步。掌握好基本的技術只是第一步。讀書我會首先看目錄,軟體架構設計 這本書的...
Hbase表結構設計
一 主體思路 先確定查詢場景,再確定表結構。二 主鍵設計 主鍵設計需要考慮兩個問題 1.選擇哪些作為主鍵?2.當主鍵大於1個時,如何排列。2.1 邏輯上用於表示行的唯一性的列必須作為主鍵 2.2 單個查詢場景中一定出現的列可以考慮加入主鍵列,用於優化查詢效能 2.3 在多個查詢場景都出現的主鍵列要排...