You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
179 lines
14 KiB
179 lines
14 KiB
USE zhiyuantong;
|
|
|
|
CREATE TABLE IF NOT EXISTS admission_batches (
|
|
admission_batch_id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '招生批次段次自增主键',
|
|
province_name VARCHAR(64) NOT NULL COMMENT '招生省份名称',
|
|
admission_year SMALLINT UNSIGNED NOT NULL COMMENT '招生年度',
|
|
admission_category VARCHAR(32) NOT NULL COMMENT '招生类别,如普通类、艺术类或体育类',
|
|
education_level VARCHAR(32) NOT NULL COMMENT '培养层次,如本科或高职专科',
|
|
segment_code VARCHAR(8) NOT NULL COMMENT '甘肃录取段次代码,如A至I',
|
|
batch_name VARCHAR(128) NOT NULL COMMENT '批次段次完整名称',
|
|
volunteer_mode VARCHAR(32) NOT NULL COMMENT '志愿投档模式,如顺序志愿、单志愿或平行志愿',
|
|
max_group_volunteers SMALLINT UNSIGNED NULL COMMENT '一次最多可填院校专业组志愿数,空值表示不适用或待核验',
|
|
max_majors_per_group SMALLINT UNSIGNED NULL COMMENT '每个院校专业组最多可填专业数',
|
|
solicitation_count TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '该段次计划安排的征集志愿次数',
|
|
source_id BIGINT UNSIGNED NOT NULL COMMENT '批次规则对应的数据来源ID',
|
|
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '记录创建时间',
|
|
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '记录最近更新时间',
|
|
PRIMARY KEY (admission_batch_id),
|
|
UNIQUE KEY uk_admission_batches (province_name, admission_year, admission_category, segment_code),
|
|
CONSTRAINT fk_admission_batches_source FOREIGN KEY (source_id) REFERENCES data_sources(source_id)
|
|
) ENGINE=InnoDB COMMENT='省级高考招生批次、段次及志愿规则';
|
|
|
|
CREATE TABLE IF NOT EXISTS admission_plan_releases (
|
|
plan_release_id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '招生计划发布批次自增主键',
|
|
province_name VARCHAR(64) NOT NULL COMMENT '招生省份名称',
|
|
admission_year SMALLINT UNSIGNED NOT NULL COMMENT '招生年度',
|
|
release_title VARCHAR(255) NOT NULL COMMENT '官方招生计划或剩余计划发布标题',
|
|
plan_round VARCHAR(32) NOT NULL COMMENT '计划轮次,如初始、第一次征集或第六号公告',
|
|
coverage_scope VARCHAR(32) NOT NULL COMMENT '数据覆盖范围,如full_initial或remaining_only',
|
|
published_on DATE NULL COMMENT '计划发布日期',
|
|
source_id BIGINT UNSIGNED NOT NULL COMMENT '计划发布对应的数据来源ID',
|
|
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '记录创建时间',
|
|
PRIMARY KEY (plan_release_id),
|
|
UNIQUE KEY uk_plan_releases_source (source_id),
|
|
CONSTRAINT fk_plan_releases_source FOREIGN KEY (source_id) REFERENCES data_sources(source_id)
|
|
) ENGINE=InnoDB COMMENT='省级招生计划及征集剩余计划发布批次';
|
|
|
|
CREATE TABLE IF NOT EXISTS admission_groups (
|
|
admission_group_id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '院校专业组自增主键',
|
|
plan_release_id BIGINT UNSIGNED NULL COMMENT '首次采集自招生计划时关联的发布批次ID;仅见于投档表时为空',
|
|
province_name VARCHAR(64) NOT NULL COMMENT '招生省份名称',
|
|
admission_year SMALLINT UNSIGNED NOT NULL COMMENT '招生年度',
|
|
admission_category VARCHAR(32) NOT NULL COMMENT '招生类别,如普通类、艺术类、体育类或中职升学',
|
|
subject_category VARCHAR(32) NOT NULL COMMENT '科类或首选科目类别,如物理类、历史类、艺术类',
|
|
segment_code VARCHAR(8) NOT NULL COMMENT '甘肃录取段次代码',
|
|
school_id CHAR(36) NULL COMMENT '匹配到全国院校基础库的稳定学校UUID,未匹配时为空',
|
|
source_school_code VARCHAR(16) NOT NULL COMMENT '甘肃当年发布的院校代号原值',
|
|
school_name_raw VARCHAR(255) NOT NULL COMMENT '来源表中的院校名称原值',
|
|
group_code VARCHAR(16) NOT NULL COMMENT '甘肃当年发布的院校专业组代码',
|
|
group_name VARCHAR(255) NULL COMMENT '院校专业组名称或类型,来源未提供时为空',
|
|
source_id BIGINT UNSIGNED NOT NULL COMMENT '该专业组对应的数据来源ID',
|
|
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '记录创建时间',
|
|
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '记录最近更新时间',
|
|
PRIMARY KEY (admission_group_id),
|
|
UNIQUE KEY uk_admission_groups_natural (province_name, admission_year, admission_category, subject_category, segment_code, source_school_code, group_code),
|
|
KEY idx_admission_groups_school (school_id),
|
|
KEY idx_admission_groups_lookup (admission_year, subject_category, segment_code, source_school_code),
|
|
CONSTRAINT fk_admission_groups_release FOREIGN KEY (plan_release_id) REFERENCES admission_plan_releases(plan_release_id),
|
|
CONSTRAINT fk_admission_groups_school FOREIGN KEY (school_id) REFERENCES schools(school_id),
|
|
CONSTRAINT fk_admission_groups_source FOREIGN KEY (source_id) REFERENCES data_sources(source_id)
|
|
) ENGINE=InnoDB COMMENT='按年度、省份和段次版本化的院校专业组';
|
|
|
|
CREATE TABLE IF NOT EXISTS admission_major_plans (
|
|
major_plan_id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '专业招生计划自增主键',
|
|
admission_group_id BIGINT UNSIGNED NOT NULL COMMENT '关联院校专业组ID',
|
|
plan_release_id BIGINT UNSIGNED NOT NULL COMMENT '关联招生计划发布批次ID,便于按快照查询',
|
|
major_code VARCHAR(32) NOT NULL COMMENT '来源表中的专业代号',
|
|
major_name VARCHAR(255) NOT NULL COMMENT '来源表中的专业或专业类名称',
|
|
subject_requirements VARCHAR(255) NULL COMMENT '来源表中的考试科目或选考科目要求',
|
|
plan_count INT UNSIGNED NOT NULL COMMENT '计划人数;征集表中表示剩余或缺额人数',
|
|
tuition_yuan_per_year DECIMAL(10,2) NULL COMMENT '每学年学费,公开来源未提供时为空',
|
|
study_years DECIMAL(3,1) NULL COMMENT '学制年数,公开来源未提供时为空',
|
|
campus_name VARCHAR(255) NULL COMMENT '就读校区或办学地点,公开来源未提供时为空',
|
|
notes TEXT NULL COMMENT '来源表中的专业备注及限制条件',
|
|
source_row_number INT UNSIGNED NOT NULL COMMENT '记录在原始表格中的行号',
|
|
source_id BIGINT UNSIGNED NOT NULL COMMENT '该专业计划对应的数据来源ID',
|
|
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '记录创建时间',
|
|
PRIMARY KEY (major_plan_id),
|
|
UNIQUE KEY uk_major_plans_source_row (source_id, source_row_number),
|
|
KEY idx_major_plans_group (admission_group_id),
|
|
KEY idx_major_plans_name (major_name),
|
|
CONSTRAINT fk_major_plans_group FOREIGN KEY (admission_group_id) REFERENCES admission_groups(admission_group_id),
|
|
CONSTRAINT fk_major_plans_release FOREIGN KEY (plan_release_id) REFERENCES admission_plan_releases(plan_release_id),
|
|
CONSTRAINT fk_major_plans_source FOREIGN KEY (source_id) REFERENCES data_sources(source_id)
|
|
) ENGINE=InnoDB COMMENT='院校专业组内的专业招生人数及征集缺额计划';
|
|
|
|
CREATE TABLE IF NOT EXISTS score_rank_points (
|
|
score_rank_id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '一分一段记录自增主键',
|
|
province_name VARCHAR(64) NOT NULL COMMENT '考试省份名称',
|
|
admission_year SMALLINT UNSIGNED NOT NULL COMMENT '高考年度',
|
|
admission_category VARCHAR(32) NOT NULL COMMENT '招生类别,如普通类',
|
|
subject_category VARCHAR(32) NOT NULL COMMENT '首选科目类别,如物理类或历史类',
|
|
score DECIMAL(7,2) NOT NULL COMMENT '高考分数或综合排序分',
|
|
same_score_count INT UNSIGNED NOT NULL COMMENT '取得该分数的考生人数,由相邻累计人数计算',
|
|
cumulative_count INT UNSIGNED NOT NULL COMMENT '达到该分数及以上的累计考生人数',
|
|
rank_from INT UNSIGNED NOT NULL COMMENT '该分数对应的最佳名次',
|
|
rank_to INT UNSIGNED NOT NULL COMMENT '该分数对应的最末名次',
|
|
source_sequence INT UNSIGNED NULL COMMENT '来源分段表中的序号',
|
|
source_id BIGINT UNSIGNED NOT NULL COMMENT '一分一段表对应的数据来源ID',
|
|
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '记录创建时间',
|
|
PRIMARY KEY (score_rank_id),
|
|
UNIQUE KEY uk_score_rank_points (province_name, admission_year, admission_category, subject_category, score),
|
|
KEY idx_score_rank_lookup (admission_year, subject_category, score),
|
|
CONSTRAINT fk_score_rank_source FOREIGN KEY (source_id) REFERENCES data_sources(source_id)
|
|
) ENGINE=InnoDB COMMENT='高考一分一段累计人数及位次区间';
|
|
|
|
CREATE TABLE IF NOT EXISTS control_score_lines (
|
|
control_line_id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '省级录取控制线自增主键',
|
|
province_name VARCHAR(64) NOT NULL COMMENT '招生省份名称',
|
|
admission_year SMALLINT UNSIGNED NOT NULL COMMENT '招生年度',
|
|
admission_category VARCHAR(32) NOT NULL COMMENT '招生类别,如普通类、艺术类或体育类',
|
|
subject_category VARCHAR(32) NOT NULL COMMENT '科类或首选科目类别',
|
|
education_level VARCHAR(32) NOT NULL COMMENT '控制线层次,如特殊类型、本科或高职专科',
|
|
culture_score DECIMAL(7,2) NOT NULL COMMENT '文化课录取最低控制分数',
|
|
professional_score DECIMAL(7,2) NULL COMMENT '专业课录取最低控制分数,普通类为空',
|
|
notes TEXT NULL COMMENT '控制线适用范围或计算口径说明',
|
|
source_id BIGINT UNSIGNED NOT NULL COMMENT '控制线对应的数据来源ID',
|
|
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '记录创建时间',
|
|
PRIMARY KEY (control_line_id),
|
|
UNIQUE KEY uk_control_score_lines (province_name, admission_year, admission_category, subject_category, education_level),
|
|
CONSTRAINT fk_control_lines_source FOREIGN KEY (source_id) REFERENCES data_sources(source_id)
|
|
) ENGINE=InnoDB COMMENT='省级各类别各层次录取最低控制分数线';
|
|
|
|
CREATE TABLE IF NOT EXISTS admission_cutoff_lines (
|
|
cutoff_line_id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '院校专业组投档线自增主键',
|
|
province_name VARCHAR(64) NOT NULL COMMENT '招生省份名称',
|
|
admission_year SMALLINT UNSIGNED NOT NULL COMMENT '招生年度',
|
|
admission_category VARCHAR(32) NOT NULL COMMENT '招生类别,如普通类',
|
|
subject_category VARCHAR(32) NOT NULL COMMENT '首选科目类别,如物理类或历史类',
|
|
education_level VARCHAR(32) NOT NULL COMMENT '培养层次,如本科或高职专科',
|
|
segment_code VARCHAR(8) NOT NULL COMMENT '甘肃录取段次代码,如C或F',
|
|
school_id CHAR(36) NULL COMMENT '匹配到全国院校基础库的稳定学校UUID,未匹配时为空',
|
|
source_school_code VARCHAR(16) NOT NULL COMMENT '甘肃当年发布的院校代号原值',
|
|
school_name_raw VARCHAR(255) NOT NULL COMMENT '来源表中的院校名称原值',
|
|
group_code VARCHAR(16) NOT NULL COMMENT '甘肃当年发布的院校专业组代码',
|
|
group_name VARCHAR(255) NOT NULL COMMENT '来源表中的院校专业组名称或类型',
|
|
cutoff_score DECIMAL(7,2) NOT NULL COMMENT '该院校专业组平行志愿投档最低分',
|
|
raw_total_score DECIMAL(7,2) NULL COMMENT '投档末位考生不含政策性照顾加分的总分',
|
|
chinese_math_sum DECIMAL(7,2) NULL COMMENT '投档末位考生语文与数学成绩之和',
|
|
chinese_or_math_max DECIMAL(7,2) NULL COMMENT '投档末位考生语文或数学单科最高成绩',
|
|
foreign_language_score DECIMAL(7,2) NULL COMMENT '投档末位考生外语单科成绩',
|
|
first_choice_subject_score DECIMAL(7,2) NULL COMMENT '投档末位考生首选科目单科成绩',
|
|
second_choice_subject_max DECIMAL(7,2) NULL COMMENT '投档末位考生再选科目单科最高成绩',
|
|
second_choice_subject_second DECIMAL(7,2) NULL COMMENT '投档末位考生再选科目单科次高成绩',
|
|
volunteer_number SMALLINT UNSIGNED NULL COMMENT '投档末位考生被检索到的志愿序号',
|
|
source_row_number INT UNSIGNED NOT NULL COMMENT '记录在原始表格中的行号',
|
|
source_id BIGINT UNSIGNED NOT NULL COMMENT '投档线表对应的数据来源ID',
|
|
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '记录创建时间',
|
|
PRIMARY KEY (cutoff_line_id),
|
|
UNIQUE KEY uk_cutoff_source_row (source_id, source_row_number),
|
|
KEY idx_cutoff_lookup (admission_year, subject_category, education_level, segment_code, cutoff_score),
|
|
KEY idx_cutoff_school (school_id),
|
|
CONSTRAINT fk_cutoff_school FOREIGN KEY (school_id) REFERENCES schools(school_id),
|
|
CONSTRAINT fk_cutoff_source FOREIGN KEY (source_id) REFERENCES data_sources(source_id)
|
|
) ENGINE=InnoDB COMMENT='院校专业组平行志愿投档最低分及同分排序项';
|
|
|
|
CREATE TABLE IF NOT EXISTS dataset_coverage (
|
|
coverage_id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '数据覆盖说明自增主键',
|
|
dataset_name VARCHAR(128) NOT NULL COMMENT '数据集业务名称',
|
|
province_name VARCHAR(64) NOT NULL COMMENT '数据适用省份名称',
|
|
admission_year SMALLINT UNSIGNED NOT NULL COMMENT '数据所属招生年度',
|
|
admission_category VARCHAR(32) NOT NULL DEFAULT '' COMMENT '招生类别,空字符串表示多类别或不区分',
|
|
subject_category VARCHAR(32) NOT NULL DEFAULT '' COMMENT '科类,空字符串表示多科类或不区分',
|
|
segment_code VARCHAR(8) NOT NULL DEFAULT '' COMMENT '录取段次,空字符串表示多段次或不区分',
|
|
coverage_status VARCHAR(32) NOT NULL COMMENT '覆盖状态,如complete_public_snapshot、partial_public_snapshot或unavailable_publicly',
|
|
record_count INT UNSIGNED NOT NULL DEFAULT 0 COMMENT '本次已入库的业务记录数',
|
|
notes TEXT NULL COMMENT '数据缺口、统计口径和不可公开原因说明',
|
|
source_id BIGINT UNSIGNED NULL COMMENT '覆盖说明对应的数据来源ID,无单一来源时为空',
|
|
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '覆盖说明最近更新时间',
|
|
PRIMARY KEY (coverage_id),
|
|
UNIQUE KEY uk_dataset_coverage (dataset_name, province_name, admission_year, admission_category, subject_category, segment_code),
|
|
CONSTRAINT fk_dataset_coverage_source FOREIGN KEY (source_id) REFERENCES data_sources(source_id)
|
|
) ENGINE=InnoDB COMMENT='各年度公开数据的覆盖范围、完整度及缺口说明';
|
|
|
|
CREATE OR REPLACE VIEW v_gansu_2024_cutoff_lines AS
|
|
SELECT c.*, s.moe_school_code, s.official_name
|
|
FROM admission_cutoff_lines c
|
|
LEFT JOIN schools s ON s.school_id=c.school_id
|
|
WHERE c.province_name='甘肃省' AND c.admission_year=2024;
|
|
|