readFileSystem/xml.sql

124 lines
7.0 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 '复合索引,用于元素-样品-时间的组合查询';