-- ========================================== -- 1. project 表 -- ========================================== CREATE TABLE project ( project_id CHAR(36) PRIMARY KEY, code VARCHAR(20) NOT NULL UNIQUE, name VARCHAR(200) NOT NULL, description TEXT, topology LONGTEXT, created_at DATETIME DEFAULT CURRENT_TIMESTAMP, updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ); -- ========================================== -- 2. device 表 -- ========================================== CREATE TABLE device ( device_id CHAR(36) PRIMARY KEY, project_id CHAR(36) NOT NULL, code VARCHAR(50) NOT NULL, type VARCHAR(50) NOT NULL, name VARCHAR(100), size JSON NOT NULL, volume DOUBLE, flow_rate DOUBLE, pulse_velocity DOUBLE, created_at DATETIME DEFAULT CURRENT_TIMESTAMP, updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ); -- ========================================== -- 3. material 表 -- ========================================== CREATE TABLE material ( material_id CHAR(36) PRIMARY KEY, project_id CHAR(36) NOT NULL, name VARCHAR(100) NOT NULL, u_concentration DOUBLE, uo2_density DOUBLE, u_enrichment DOUBLE, pu_concentration DOUBLE, puo2_density DOUBLE, pu_isotope DOUBLE, hno3_acidity DOUBLE, h2c2o4_concentration DOUBLE, organic_ratio DOUBLE, moisture_content DOUBLE, custom_attrs JSON, created_at DATETIME DEFAULT CURRENT_TIMESTAMP, updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ); -- ========================================== -- 4. critical_data 表 -- ========================================== CREATE TABLE critical_data ( critical_id CHAR(36) PRIMARY KEY, device_type VARCHAR(50) NOT NULL, attr_state JSON NOT NULL, keff_value DOUBLE, created_at DATETIME DEFAULT CURRENT_TIMESTAMP, updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ); -- ========================================== -- 5. scenario 表 -- ========================================== CREATE TABLE scenario ( scenario_id CHAR(36) PRIMARY KEY, project_id CHAR(36) NOT NULL, name VARCHAR(100) NOT NULL, description TEXT, created_at DATETIME DEFAULT CURRENT_TIMESTAMP, updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ); -- ========================================== -- 6. event 表 -- ========================================== CREATE TABLE event ( event_id CHAR(36) PRIMARY KEY, scenario_id CHAR(36) NOT NULL, device_id CHAR(36), material_id CHAR(36), attr_changes JSON NOT NULL, trigger_time DOUBLE NOT NULL, created_at DATETIME DEFAULT CURRENT_TIMESTAMP ); -- ========================================== -- 7. scenario_result 表 -- ========================================== CREATE TABLE scenario_result ( scenario_id CHAR(36) NOT NULL, device_id CHAR(36) NOT NULL, step INT NOT NULL, attr_state JSON NOT NULL, keff_value DOUBLE, PRIMARY KEY(scenario_id, device_id, step) ); -- ========================================== -- 8.algorithm 表 -- ========================================== CREATE TABLE algorithm ( algorithm_id CHAR(36) PRIMARY KEY COMMENT '算法唯一ID', name VARCHAR(100) NOT NULL COMMENT '算法名称', description TEXT COMMENT '算法描述', version VARCHAR(20) COMMENT '版本号,例如v1.0', principle TEXT COMMENT '算法原理说明', updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', input_params JSON COMMENT '调用参数,以JSON存储参数名称、类型、默认值等', output_params JSON COMMENT '输出参数,以JSON存储参数名称、类型、说明等' );