Files

36 lines
3.0 KiB
SQL
Raw Permalink Normal View History

-- ============================================================
-- 帽石系统 - 检测/考试记录表
-- 适用数据库:MySQL 5.7+
-- 字符集:utf8mb4(兼容中文与特殊符号)
-- ============================================================
DROP TABLE IF EXISTS `t_capstone_exam`;
CREATE TABLE `t_capstone_exam` (
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`candidate_id` VARCHAR(64) NOT NULL COMMENT '考生ID(由外部系统同步至对方系统,作为跨系统关联键)',
`capstone_no` VARCHAR(64) NOT NULL COMMENT '帽石编号',
`actual_position_x` DECIMAL(10,3) DEFAULT NULL COMMENT '实际位置 X(标准/目标坐标)',
`actual_position_y` DECIMAL(10,3) DEFAULT NULL COMMENT '实际位置 Y(标准/目标坐标)',
`measured_x` DECIMAL(10,3) DEFAULT NULL COMMENT '实测数据 X(考生实测坐标)',
`measured_y` DECIMAL(10,3) DEFAULT NULL COMMENT '实测数据 Y(考生实测坐标)',
`setter` VARCHAR(64) DEFAULT NULL COMMENT '出题人',
`score` DECIMAL(6,2) DEFAULT NULL COMMENT '成绩',
`exam_time` DATETIME NOT NULL COMMENT '考试时间',
`qualified` TINYINT(1) NOT NULL DEFAULT '0' COMMENT '是否合格:0-不合格,1-合格',
`sync_status` TINYINT(1) NOT NULL DEFAULT '0' COMMENT '同步状态:0-未同步,1-已同步(考生ID已同步至对方)',
`remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`del_flag` TINYINT(1) NOT NULL DEFAULT '0' COMMENT '删除标志:0-未删除,1-已删除',
-- 位置偏差由“实测-实际”实时计算,不额外存储,避免数据不一致
`deviation_x` DECIMAL(11,3) GENERATED ALWAYS AS (measured_x - actual_position_x) VIRTUAL COMMENT '位置偏差X(实测-实际)',
`deviation_y` DECIMAL(11,3) GENERATED ALWAYS AS (measured_y - actual_position_y) VIRTUAL COMMENT '位置偏差Y(实测-实际)',
PRIMARY KEY (`id`),
-- 同一考生、同一帽石、同一次考试时间只允许一条记录,防止重复录入
UNIQUE KEY `uk_candidate_capstone_time` (`candidate_id`, `capstone_no`, `exam_time`),
KEY `idx_candidate` (`candidate_id`),
KEY `idx_capstone` (`capstone_no`),
KEY `idx_exam_time` (`exam_time`),
KEY `idx_qualified` (`qualified`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='帽石系统检测/考试记录表';