為了保證更好的兼容性和協同開發,在開發的過程中對數據庫表及字段的命名請遵循以下規范。
**數據庫表的命名**
數據庫表一律采用全部小寫字母加下劃線鏈接的格式,且業務模塊數據庫表統一使用前綴db_,部分業務模塊的數據庫表命名參考下表:
| 應用名稱 | 數據表前綴 |完整示例 |
| --- | --- | --- |
| 辦公系統 | office | db_office_meet |
| 征收系統 | levy |db_levy_project |
| 內控系統 | neikong | db_neikong_assest |
**字段命名**
數據庫表中字段遵循使用全部小寫字母、下劃線及數字組合而成,且字段名應當具有描述性,見名知意,例如org_id,org_name,org_full_name等。
**視圖命名**
如果您在開發的過程中需要建立視圖來處理一些多表連接查詢,則視圖命名請遵循以下規范
1)、使用小些字母、數字及下劃線組合
2)、必須以view_開頭,且后面緊跟應用標識
3)、應當盡可能的描述關聯的標間關系或者視圖的作用。
視圖命名示例
view_sys_user_data
view_office_meet_room_seat
**存儲過程的命名**
如果您在開發中需要使用存儲過程來處理一些事情,存儲過程的命名請遵循以下規范
1)、使用小些字母和下劃線及數字組合的方式。
2)、必須以sp_開頭,之后緊跟應用標識
3)、需要描述出存儲過程的功能作用
存儲過程命名示例
sp_sys_getuserinfo
sp_office_getsigndata
**觸發器命名**
如果您希望使用觸發器來自動完成一些關聯操作,觸發器的命名請遵循以下規范
1)、使用小寫字母、數字及下劃線組合
2)、必須以trigger_開頭,且之后緊跟應用標識
3)、需要描述出觸發器所在的表及字段信息,或者描述出觸發器的功用信息
觸發器命名示例
trigger_sys_syncuserinfo
trigger_sys_user_for_insert
**特約字段**
由于系統引入了工作流引擎,在需要走審批流程的業務數據主表中需要存在一些特約字段,暫定字段名如下表:
| 字段名稱 |數據類型 | 字段描述 |備注說明 |
| --- | --- | --- | --- |
| sano | varchar(64) | 單據編號 |唯一索引,系統內必須唯一 |
| status |tinyint(2) | 審批狀態 | |
| explain | varchar(255) |審批說明 | |
| apply_id|varchar(64)|申請用戶編號| |
| apply_name| varchar(255)| 申請用戶姓名| |
| apply_org_id | varchar(64)| 申請用戶部門編號 | |
| apply_org_name | varchar(255) | 申請用戶部門名稱 | |
| apply_time| int(11) |申請時間| 存儲UNIX時間戳||
同時,由于需要兼容工作流引擎,采用了雙用戶表、組織機構表、角色表映射,某些特殊字段的數據類型需要按照以下約定來處理,雖然實際上這些字段存儲的可能是數值,但是在設計數據庫結構時需要將這些字段設計為字符串形式,且寫入數據時以字符串的形式保存,具體如下表:
| 字段名稱 |數據類型 | 字段描述 |備注說明 |
| --- | --- | --- | --- |
| 用戶編號|varchar(64) | | |
| 組織機構編號|varchar(64) | | |
| 角色編號 | varchar(64)| | |
凡是需要在您設計的數據庫表中需要存儲以上列舉的類型的字段是,請嚴格按照此表中約定的數據類型設計,并在編碼過程中按此數據類型存儲(不要進行強制轉整操作和直接與數值類型的0進行大小比較)
另外,如果要在同一張表中描述審批狀態和數據狀態,建議使用字段state描述審批狀態以外的狀態值
| 字段名稱 |數據類型 | 字段描述 |備注說明 |
| --- | --- | --- | --- |
| status |tinyint(2) | 數據狀態 |具體狀態值根據業務場景需要自行設置,一般建議使用0和1來描述 |
對于數值類型的字段,如果不存在負數值的情況時,建議將數據類型的屬性設置為無符號的;而取值為是/否類型的字段,命名建議以is_開頭,數據類型定義為tinyint(2),例如:
| 字段名稱 |數據類型 | 字段描述 |備注說明 |
| --- | --- | --- | --- |
|is_disabled|tinyint(2)|是否禁用| 1-是 0-否|
|is_locked|tinyint(2)|是否鎖定|1-是 0-否|
**數據庫引擎的選用**
對于一旦入庫,后續不會出現頻繁的數據寫入或更新操作的數據表,為了提高讀取數據的效率建議使用MYISAM引擎
對于需要保證數據一致性(支持事務)的數據表或者寫入操作頻繁的數據表,建議使用INNODB引擎。
**字符集**
數據庫統一采用UTF-8編碼(utf_gernaeral_ci)。
**其他注意事項**
在建立數據表時,需要填寫準確的數據表備注;為數據庫表創建字段時,需要添加字段的備注說明。
- 簡介
- 目錄結構說明
- 開發規范
- 文件命名規范
- 函數的命名
- 命名空間命名規范
- 數據庫命名規范
- 編碼注釋規范
- 文件注釋規范
- 方法注釋規范
- 行內注釋
- 外包開發人員特別說明
- 前端開發
- 組件的使用
- 單文件上傳
- 多文件上傳
- 選擇組織機構
- 選擇用戶
- 選擇角色
- 選擇用戶組
- 手機門戶
- 常用值對照表
- 工作流審批狀態對照
- 請假類型鍵值對照
- 后端開發
- 訪問權限
- 數據權限
- 公共函數庫
- 用戶數據共享
- 通過類庫共享用戶數據
- 跨應用共享用戶數據
- 組織機構操作
- 公共數據詞典
- 創建詞典
- 讀取詞典
- 配置詞典
- 消息推送
- 消息發送
- 發送郵件
- 發送短信
- 企業微信
- 釘釘消息
- 即時通訊(站內消息)
- 二維碼
- 文件壓縮與解壓
- 文檔轉換
- 工作流引擎
- 工作流簡介
- 引入控制器片段
- ResetFull接口
- 01.提交單據發起流程
- 06.獲取當前用戶待辦列表
- 07.獲取指定任務信息
- 08.獲取流程下個可執行節點
- 09.獲取指定流程所有節點
- 10.獲取指定編號的流程節點
- 11.獲取指定節點的審批人員信息
- 手寫簽名
- PC端手寫簽名的實現
- 手機端手寫簽名的實現
- 智能硬件
- 簽名板
- 高拍儀
- 會知聲(道邦魔盒)
- 宇泛人臉識別
- 設備
- 設備列表
- 添加設備
- 更新設備
- 設備詳情
- 刪除設備
- 網絡查詢
- 啟用設備
- 禁用設備
- 重啟設備
- 重置設備
- 獲取更新包信息
- 設備升級
- 人員授權(批量)
- 人員銷權
- 授權查詢
- 人員
- 人像