news 2026/3/16 0:28:41

中国行政区划数据库PostgreSQL重构指南:打造高效五级数据架构

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
中国行政区划数据库PostgreSQL重构指南:打造高效五级数据架构

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

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

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/13 20:22:06

PS Vita内容管理深度解析:QCMA技术架构与实现原理

PS Vita内容管理深度解析:QCMA技术架构与实现原理 【免费下载链接】qcma Cross-platform content manager assistant for the PS Vita (No longer maintained) 项目地址: https://gitcode.com/gh_mirrors/qc/qcma 在PS Vita玩家的日常使用中,内容…

作者头像 李华
网站建设 2026/3/13 17:07:10

5分钟快速上手:在Windows上搭建企业级CentOS环境完整指南

5分钟快速上手:在Windows上搭建企业级CentOS环境完整指南 【免费下载链接】CentOS-WSL 项目地址: https://gitcode.com/gh_mirrors/ce/CentOS-WSL 想要在Windows系统上体验原汁原味的企业级CentOS Linux环境吗?CentOS-WSL项目为你提供了完美的解…

作者头像 李华
网站建设 2026/3/15 7:17:05

Mouseable:用键盘掌控鼠标的智能助手

Mouseable:用键盘掌控鼠标的智能助手 【免费下载链接】mouseable Mouseable is intended to replace a mouse or trackpad. 项目地址: https://gitcode.com/gh_mirrors/mo/mouseable 你是否曾想过摆脱鼠标的束缚,仅凭键盘就能完成所有操作&#x…

作者头像 李华
网站建设 2026/3/14 1:57:49

LunaTranslator终极指南:日文游戏实时翻译的完整解决方案

LunaTranslator终极指南:日文游戏实时翻译的完整解决方案 【免费下载链接】LunaTranslator Galgame翻译器,支持HOOK、OCR、剪贴板等。Visual Novel Translator , support HOOK / OCR / clipboard 项目地址: https://gitcode.com/GitHub_Trending/lu/Lu…

作者头像 李华
网站建设 2026/3/13 21:39:09

网易云音乐评论区:热门留言被IndexTTS 2.0读出制成彩蛋

网易云音乐评论区的“语音彩蛋”背后:IndexTTS 2.0 如何让 AI 声音更懂情绪 在网易云音乐的一首老歌播放间隙,突然传来一个温柔又熟悉的声音:“你当年写下的那句‘听这歌时我在哭’,现在有人替你读出来了。”这不是人工录音&#…

作者头像 李华
网站建设 2026/3/14 5:59:50

小鹏语音助手:IndexTTS 2.0带来更接近真人的交互感受

小鹏语音助手:IndexTTS 2.0带来更接近真人的交互感受 在智能汽车的驾驶舱里,一句“前方有匝道,请准备变道”如果语气生硬、节奏突兀,不仅影响体验,甚至可能干扰驾驶员的情绪。而当这句提示用温和却不失警觉的语调说出&…

作者头像 李华