首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

YSPASYS 中小企業員工考核系統資料庫設計實戰:ASP.NET + MySQL 架構下的試題庫、試卷與考核流程建模

     編輯:MySQL 綜合教學

專案背景與業務需求

公司營運近兩年,員工入職/離職頻繁,需資訊化管理:基本資料、公告、資產、客戶、周報、**優秀員工評選/轉正考核**、請假/報銷/採購/加班申請。核心子系統:**員工轉正考核**,技術棧 **ASP.NET + MySQL**。

核心業務流程

  1. 行政部維護員工資料 (崗位:行政/銷售/設計/客服/會計/包裝...)
  2. 整理企業規章制度 → Excel 試題庫 (選擇題) → 匯入系統
  3. 題庫管理:題幹、選項、標準答案、啟用狀態
  4. 員工試用期滿 → 行政建立試卷 (指定題數、及格線)
  5. 員工線上答題 → 系統自動判分 → 通過/不通過
  6. 不通過 → 一周後可重考 → 行政重建試卷
  7. 通過 → 恭喜頁面、轉正流程啟動

資料庫設計 (PowerDesigner 逆向生成)

ER 圖

核心三表結構


-- 員工主檔
CREATE TABLE YS_USER (
    uid INT PRIMARY KEY,
    uposition INT,           -- 崗位
    uno VARCHAR(50),         -- 工號
    upid INT,                -- 上級ID
    uname VARCHAR(50),       -- 中文名
    uename VARCHAR(50),      -- 英文名
    upwd VARCHAR(50),        -- 密碼
    uhead VARCHAR(50),       -- 頭像
    ucard VARCHAR(18),       -- 身份證
    uworkdate DATE,          -- 入職日期
    uoffice INT,             -- 辦公室
    udepart INT,             -- 部門
    utel VARCHAR(50), uemail VARCHAR(50), umob VARCHAR(50),
    uemergencytel VARCHAR(50), uaddr VARCHAR(50), uhukou VARCHAR(50),
    ueducation VARCHAR(50), uprofessional VARCHAR(50),
    ustatus VARCHAR(50),     -- 狀態: 試用/正式/離職
    urecordtime DATETIME, ulasttime DATETIME,
    ucount INT, uonline SMALLINT, urmk VARCHAR(250)
);

-- 題庫主檔
CREATE TABLE YS_TKU (
    kid INT PRIMARY KEY,
    ktype INT,               -- 題型: 單選/多選/判斷
    kstem VARCHAR(200),      -- 題幹
    ksubject VARCHAR(400),   -- 科目/分類
    kstandard INT,           -- 標準答案 (選項ID)
    krmk VARCHAR(200),       -- 備註
    kstatus SMALLINT,        -- 狀態: 啟用/停用
    kcreator INT, krecordtime DATETIME,
    kmodifier INT, kmodifytime DATETIME
);

-- 題目選項明細
CREATE TABLE YS_TKU_DTL (
    kdid INT PRIMARY KEY,
    kid INT,                 -- 關聯題庫
    kdetail VARCHAR(200)     -- 選項內容
);

設計亮點與擴展建議

維度當前設計建議增強
試卷管理未建表,邏輯在代碼新增 YS_PAPER (試卷)、YS_PAPER_DTL (試卷題目)、YS_EXAM_RECORD (考核記錄)
題型擴展僅選擇題ktype 擴充:填空、問答、上傳附件,kstandard 改為 JSON 存儲答案
權限控制隱含在代碼引入 RBAC:角色-權限-資源,區分行政/考生/管理員
統計分析無新增 YS_EXAM_STATS:及格率、高頻錯題、部門排名
審計日誌無所有評分、重考、狀態變更寫入 YS_AUDIT_LOG

MySQL 具體優化建議

  • 引擎統一 InnoDB:事務保證考核提交原子性
  • 索引設計:YS_USER(udepart, ustatus) 部門狀態查詢、YS_TKU(ksubject, kstatus) 科目題庫篩選
  • 字符集 utf8mb4:支援題幹選項中的 Emoji/特殊符號
  • 軟刪除:關鍵表添加 is_deleted TINYINT DEFAULT 0,避免誤刪

總結: 專案雖小但「麻雀五臟俱全」,從 ER 建模到實體表、從業務流程到 SQL 落地,每一步都是對資料庫設計功力的淬煉。**實戰才是檢驗設計好壞的唯一標準**——是騾子是馬,拉出來溜溜。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved