想要构建高性能的中国行政区划数据库吗?这套完整的中国行政区划数据系统采用PostgreSQL重构,提供从省级到村级的完整五级联动架构,是开发地理信息系统和数据分析平台的理想选择。本文将指导你完成从SQLite到PostgreSQL的完整迁移流程,无需数据库专家经验!

【免费下载链接】Administrative-divisions-of-China 中华人民共和国行政区划:省级(省份)、 地级(城市)、 县级(区县)、 乡级(乡镇街道)、 村级(村委会居委会) ,中国省市区镇村二级三级四级五级联动地址数据。 【免费下载链接】Administrative-divisions-of-China 项目地址: https://gitcode.com/gh_mirrors/ad/Administrative-divisions-of-China

系统架构与数据特色

中国行政区划数据库整合了全国五级行政单位数据,包含省级行政区、地级市、县级区划、乡镇街道和村级社区。数据源自权威机构发布,确保准确性和时效性。

数据层级概览

  • 省级单位:34个行政区域
  • 地级市:334个城市级单位
  • 县级区划:2851个县级行政区
  • 乡镇街道:约4万基层单位
  • 村级社区:超过66万村落数据

环境配置与项目初始化

获取项目资源

git clone https://gitcode.com/gh_mirrors/ad/Administrative-divisions-of-China
cd Administrative-divisions-of-China

安装必要组件

项目基于Node.js环境运行,需安装相关依赖:

npm install

数据文件检查

项目提供多格式数据文件,位于 dist/ 目录:

  • data.sqlite - 完整SQLite数据库
  • 分层CSV文件:provinces.csvcities.csv
  • 分层JSON文件:provinces.jsoncities.json

PostgreSQL数据库设计

创建数据库实例

CREATE DATABASE china_division;
\c china_division;

构建五级数据表

-- 省级行政区划表
CREATE TABLE province (
    code VARCHAR(10) PRIMARY KEY,
    name VARCHAR(50) NOT NULL
);

-- 地级行政区划表
CREATE TABLE city (
    code VARCHAR(10) PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    province_code VARCHAR(10) REFERENCES province(code)
);

-- 县级行政区划表
CREATE TABLE area (
    code VARCHAR(10) PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    city_code VARCHAR(10) REFERENCES city(code),
    province_code VARCHAR(10) REFERENCES province(code)
);

-- 乡级行政区划表
CREATE TABLE street (
    code VARCHAR(15) PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    area_code VARCHAR(10) REFERENCES area(code),
    city_code VARCHAR(10) REFERENCES city(code),
    province_code VARCHAR(10) REFERENCES province(code)
);

-- 村级行政区划表
CREATE TABLE village (
    code VARCHAR(20) PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    street_code VARCHAR(15) REFERENCES street(code),
    area_code VARCHAR(10) REFERENCES area(code),
    city_code VARCHAR(10) REFERENCES city(code),
    province_code VARCHAR(10) REFERENCES province(code)
);

数据迁移与导入操作

生成标准化数据文件

运行导出脚本创建CSV格式数据:

./export_csv.sh

生成文件包括:

  • dist/provinces.csv - 省级数据
  • dist/cities.csv - 地级数据
  • dist/areas.csv - 县级数据
  • dist/streets.csv - 乡级数据
  • dist/villages.csv - 村级数据

PostgreSQL数据导入

使用COPY命令批量导入数据:

-- 导入省级数据
\copy province FROM 'dist/provinces.csv' WITH CSV HEADER;

-- 导入地级数据
\copy city FROM 'dist/cities.csv' WITH CSV HEADER;

-- 导入县级数据
\copy area FROM 'dist/areas.csv' WITH CSV HEADER;

-- 导入乡级数据
\copy street FROM 'dist/streets.csv' WITH CSV HEADER;

-- 导入村级数据
\copy village FROM 'dist/villages.csv' WITH CSV HEADER;

数据验证与完整性测试

检查导入结果

执行统计查询验证数据完整性:

SELECT 'province' as level, COUNT(*) as count FROM province
UNION ALL
SELECT 'city', COUNT(*) FROM city
UNION ALL
SELECT 'area', COUNT(*) FROM area
UNION ALL
SELECT 'street', COUNT(*) FROM street
UNION ALL
SELECT 'village', COUNT(*) FROM village;

预期数据规模:

  • 省级:34条记录
  • 地级:334条记录
  • 县级:2851条记录
  • 乡级:约4万条记录
  • 村级:约66万条记录

应用场景与查询实践

地址联动选择实现

-- 查询省份下的城市列表
SELECT * FROM city WHERE province_code = '13';

-- 查询城市下的区县信息
SELECT * FROM area WHERE city_code = '1301';

-- 查询区县下的乡镇数据
SELECT * FROM street WHERE area_code = '130111';

-- 查询乡镇下的村庄详情
SELECT * FROM village WHERE street_code = '130111200';

数据分析与统计查询

-- 统计各省城市数量
SELECT p.name, COUNT(c.code) as city_count
FROM province p
LEFT JOIN city c ON p.code = c.province_code
GROUP BY p.code, p.name;

-- 搜索特定行政区划
SELECT * FROM province WHERE name ILIKE '%北京%';

性能优化与维护策略

索引优化配置

-- 创建查询优化索引
CREATE INDEX idx_city_province ON city(province_code);
CREATE INDEX idx_area_city ON area(city_code);
CREATE INDEX idx_street_area ON street(area_code);
CREATE INDEX idx_village_street ON village(street_code);

系统维护建议

  1. 定期备份:配置PostgreSQL自动备份
  2. 编码统一:确保数据库使用UTF-8字符集
  3. 关系验证:定期检查外键约束完整性

成果总结与后续规划

通过本指南,你已成功将中国行政区划数据库迁移至PostgreSQL。这套五级数据架构为项目提供强大支撑:

  • 完整行政区划数据覆盖
  • 标准化数据库设计
  • 高效查询性能表现
  • 易于维护的关系结构

现在你可以基于这套PostgreSQL数据库开发各类应用,包括地址选择组件、地理信息系统、数据分析平台等。这套权威数据将为项目提供准确、全面的中国行政区划信息基础!

【免费下载链接】Administrative-divisions-of-China 中华人民共和国行政区划:省级(省份)、 地级(城市)、 县级(区县)、 乡级(乡镇街道)、 村级(村委会居委会) ,中国省市区镇村二级三级四级五级联动地址数据。 【免费下载链接】Administrative-divisions-of-China 项目地址: https://gitcode.com/gh_mirrors/ad/Administrative-divisions-of-China

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐