CREATE TABLE element_analysis_data ( -- ========== 主键 ========== id BIGSERIAL PRIMARY KEY, -- ========== 样品基本信息 ========== sample_name VARCHAR(255), sample_grade_id VARCHAR(100), sample_grade_alias VARCHAR(255), operator_name VARCHAR(100), instrument VARCHAR(100), method_name VARCHAR(255), sample_type VARCHAR(50), -- ========== 测量信息 ========== replicate_no VARCHAR(100), measure_datetime VARCHAR(100), measure_duration VARCHAR(100), check_type VARCHAR(50), check_status VARCHAR(50), grade_name VARCHAR(100), base_element VARCHAR(10), rsd_check VARCHAR(100), -- ========== 元素信息 ========== element_name VARCHAR(10) NOT NULL, element_type VARCHAR(50), -- ========== 测量结果(浓度值) ========== concentration_value VARCHAR(100), concentration_unit VARCHAR(20), std_dev_value VARCHAR(100), -- ========== 不确定度信息 ========== uncertainty_abs VARCHAR(100), uncertainty_rel VARCHAR(100), -- ========== 验收限值 ========== lower_acceptance_limit VARCHAR(100), upper_acceptance_limit VARCHAR(100), -- ========== 状态信息 ========== result_status VARCHAR(50), calibration_status VARCHAR(50), acceptance_status VARCHAR(50), is_deleted VARCHAR(100) DEFAULT 'false', -- ========== 计算字段(便于查询) ========== is_within_limits VARCHAR(100), deviation_from_center VARCHAR(100), -- ========== XML元数据 ========== xml_version VARCHAR(20), xml_creation_datetime VARCHAR(100), -- ========== 系统字段 ========== created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, data_source VARCHAR(255) ); -- ========== 索引设计 ========== CREATE INDEX idx_element_name ON element_analysis_data(element_name); CREATE INDEX idx_sample_grade ON element_analysis_data(sample_grade_id); CREATE INDEX idx_measure_datetime ON element_analysis_data(measure_datetime); CREATE INDEX idx_calibration_status ON element_analysis_data(calibration_status); CREATE INDEX idx_acceptance_status ON element_analysis_data(acceptance_status); CREATE INDEX idx_operator ON element_analysis_data(operator_name); CREATE INDEX idx_instrument ON element_analysis_data(instrument); CREATE INDEX idx_composite_element_sample ON element_analysis_data(element_name, sample_grade_id, measure_datetime); -- ============================================ -- 表和字段注释(使用单独的COMMENT语句) -- ============================================ COMMENT ON TABLE element_analysis_data IS '元素分析数据扁平化表 - 存储所有元素检测结果,每行代表一个元素的一次测量'; COMMENT ON COLUMN element_analysis_data.id IS '主键ID,自增'; COMMENT ON COLUMN element_analysis_data.sample_name IS '样品名称'; COMMENT ON COLUMN element_analysis_data.sample_grade_id IS '样品材料等级标识,如SS-321'; COMMENT ON COLUMN element_analysis_data.sample_grade_alias IS '样品材料等级别名,如SA-213 Grade TP 321'; COMMENT ON COLUMN element_analysis_data.operator_name IS '执行测量的操作员姓名'; COMMENT ON COLUMN element_analysis_data.instrument IS '使用的检测仪器编号'; COMMENT ON COLUMN element_analysis_data.method_name IS '使用的检测方法名称'; COMMENT ON COLUMN element_analysis_data.sample_type IS '样品类型:Calibration(校准)、Measurement(测量)等'; COMMENT ON COLUMN element_analysis_data.replicate_no IS '重复测量的序号,从0开始'; COMMENT ON COLUMN element_analysis_data.measure_datetime IS '执行测量的日期和时间'; COMMENT ON COLUMN element_analysis_data.measure_duration IS '测量持续时间,单位:秒'; COMMENT ON COLUMN element_analysis_data.check_type IS '检查类型,如GradeAcceptance(等级验收)'; COMMENT ON COLUMN element_analysis_data.check_status IS '检查状态,如Ok(通过)'; COMMENT ON COLUMN element_analysis_data.grade_name IS '检测使用的材料等级名称'; COMMENT ON COLUMN element_analysis_data.base_element IS '基础元素符号,用于计算其他元素的相对含量'; COMMENT ON COLUMN element_analysis_data.rsd_check IS '是否进行相对标准偏差(RSD)检查'; COMMENT ON COLUMN element_analysis_data.element_name IS '化学元素符号,如Fe(铁)、Cr(铬)、Ni(镍)、Mn(锰)等'; COMMENT ON COLUMN element_analysis_data.element_type IS '元素类型,通常为Element'; COMMENT ON COLUMN element_analysis_data.concentration_value IS '元素浓度的测量值'; COMMENT ON COLUMN element_analysis_data.concentration_unit IS '浓度单位,通常为%(百分比)'; COMMENT ON COLUMN element_analysis_data.std_dev_value IS '标准偏差值,表示测量的离散程度'; COMMENT ON COLUMN element_analysis_data.uncertainty_abs IS '绝对不确定度,表示测量的绝对误差范围'; COMMENT ON COLUMN element_analysis_data.uncertainty_rel IS '相对不确定度(百分比),表示测量的相对误差'; COMMENT ON COLUMN element_analysis_data.lower_acceptance_limit IS '验收判定的下限值'; COMMENT ON COLUMN element_analysis_data.upper_acceptance_limit IS '验收判定的上限值'; COMMENT ON COLUMN element_analysis_data.result_status IS '结果状态,如OK(正常)'; COMMENT ON COLUMN element_analysis_data.calibration_status IS '校准状态:InRange(在范围内)、UnderRange(低于范围)、OverRange(超出范围)'; COMMENT ON COLUMN element_analysis_data.acceptance_status IS '验收状态:InRange(合格)、OverRange(超标)、NotUsed(不参与验收)'; COMMENT ON COLUMN element_analysis_data.is_deleted IS '该测量结果是否已被标记为删除'; COMMENT ON COLUMN element_analysis_data.is_within_limits IS '测量值是否在验收范围内(自动计算)'; COMMENT ON COLUMN element_analysis_data.deviation_from_center IS '测量值偏离验收范围中心值的程度'; COMMENT ON COLUMN element_analysis_data.xml_version IS 'XML文件版本号'; COMMENT ON COLUMN element_analysis_data.xml_creation_datetime IS 'XML文件创建时间'; COMMENT ON COLUMN element_analysis_data.created_at IS '数据库记录创建时间'; COMMENT ON COLUMN element_analysis_data.updated_at IS '数据库记录最后更新时间'; COMMENT ON COLUMN element_analysis_data.data_source IS '数据来源的XML文件名'; COMMENT ON INDEX idx_element_name IS '元素名称索引,用于按元素查询'; COMMENT ON INDEX idx_sample_grade IS '样品等级索引,用于按材料等级查询'; COMMENT ON INDEX idx_measure_datetime IS '测量时间索引,用于时间范围查询'; COMMENT ON INDEX idx_calibration_status IS '校准状态索引,用于筛选校准状态'; COMMENT ON INDEX idx_acceptance_status IS '验收状态索引,用于筛选合格/不合格数据'; COMMENT ON INDEX idx_operator IS '操作员索引,用于按操作员查询'; COMMENT ON INDEX idx_instrument IS '仪器索引,用于按仪器查询'; COMMENT ON INDEX idx_composite_element_sample IS '复合索引,用于元素-样品-时间的组合查询';