如何在5分钟内开始使用vietnamese-provinces-database?PostgreSQL/MySQL安装教程
越南行政区划数据库(vietnamese-provinces-database)是一个全面的越南行政单位数据集,包含越南所有34个省份以及相关的区、坊信息。这个数据库不仅提供标准的SQL数据,还包含地理信息系统(GIS)数据,是开发越南相关应用程序的必备资源。😊
📦 快速开始:5分钟安装指南
第一步:获取数据库文件
首先,克隆项目仓库到本地:
git clone https://gitcode.com/gh_mirrors/vi/vietnamese-provinces-database
cd vietnamese-provinces-database
项目提供了多种数据库格式的支持,您可以根据自己的需求选择:
- PostgreSQL(推荐):
postgresql/目录 - MySQL/MariaDB:
mysql/目录 - Microsoft SQL Server:
sqlserver/目录 - Oracle:
oracle/目录 - MongoDB:
mongodb/目录 - Redis:
redis/目录 - JSON:
json/目录
第二步:PostgreSQL快速安装
如果您使用PostgreSQL,安装过程非常简单:
- 创建数据库
CREATE DATABASE vietnamese_administrative_units;
- 执行建表脚本
psql -d vietnamese_administrative_units -f postgresql/postgres_CreateTables_vn_units.sql
- 导入数据
psql -d vietnamese_administrative_units -f postgresql/postgres_ImportData_vn_units.sql
🎉 恭喜!您的PostgreSQL数据库已经准备就绪!
第三步:MySQL/MariaDB快速安装
对于MySQL或MariaDB用户:
- 创建数据库
CREATE DATABASE vietnamese_administrative_units;
USE vietnamese_administrative_units;
- 执行建表脚本
mysql -u username -p vietnamese_administrative_units < mysql/mysql_CreateTables_vn_units.sql
- 导入数据
mysql -u username -p vietnamese_administrative_units < mysql/mysql_ImportData_vn_units.sql
🗺️ 数据库结构详解
越南行政区划数据库包含以下核心表:
1. 行政区域表(administrative_regions)
越南全国分为8个地理区域,从北到南编号:
- 红河三角洲
- 东北地区
- 西北地区
- 北中部地区
- 南中部地区
- 中央高地
- 东南部地区
- 湄公河三角洲
2. 行政单位表(administrative_units)
定义不同类型的行政单位,如:
- 省、直辖市
- 市、县
- 坊、社、镇
3. 省份表(provinces)
包含越南34个省份的详细信息:
- 省份代码(如:01 代表河内市)
- 越南语名称和英文名称
- 完整名称和简称
- 所属行政区域
4. 坊社表(wards)
包含3,321个坊、社、镇的详细信息:
- 行政单位代码
- 越南语和英文名称
- 所属省份和地区
🔍 实用查询示例
安装完成后,您可以立即开始查询数据:
查询所有省份
SELECT code, name, name_en FROM provinces ORDER BY code;
查询特定省份的行政区划
SELECT w.code, w.name, w.name_en
FROM wards w
JOIN provinces p ON w.province_code = p.code
WHERE p.code = '01' -- 河内市
ORDER BY w.code;
统计各省的行政区划数量
SELECT p.name, COUNT(w.code) as ward_count
FROM provinces p
LEFT JOIN wards w ON p.code = w.province_code
GROUP BY p.code, p.name
ORDER BY ward_count DESC;
按地理区域分组统计
SELECT ar.name, COUNT(p.code) as province_count
FROM provinces p
JOIN administrative_regions ar ON p.administrative_region_id = ar.id
GROUP BY ar.id, ar.name
ORDER BY ar.id;
🗺️ GIS地理信息系统数据
除了标准的行政区划数据,项目还提供丰富的GIS数据:
安装PostGIS扩展(PostgreSQL用户)
CREATE EXTENSION postgis;
导入GIS数据
psql -d vietnamese_administrative_units -f postgresql/gis/postgresql_CreateGISTables.sql
GIS数据查询示例
-- 查询省份的地理边界
SELECT name, ST_AsText(geom) as geometry
FROM sapnhap_provinces_gis
WHERE vn_province_code = '01';
📊 数据更新和维护
数据源和更新频率
- 数据基于越南统计总局的最新官方数据
- 根据政府颁布的行政调整法令及时更新
- 最新更新:2026年4月30日生效的30/2026/QH16法令
自动生成脚本
项目包含完整的自动生成脚本,位于 dataset-generation-scripts/ 目录:
cd dataset-generation-scripts
go run main.go
这个Go脚本会自动:
- 从官方数据源获取最新数据
- 处理GIS地理信息
- 生成所有数据库格式的导出文件
🛠️ 开发集成指南
在应用程序中使用
Python示例
import psycopg2
# 连接数据库
conn = psycopg2.connect(
host="localhost",
database="vietnamese_administrative_units",
user="your_username",
password="your_password"
)
# 查询省份数据
cursor = conn.cursor()
cursor.execute("SELECT code, name, name_en FROM provinces")
provinces = cursor.fetchall()
for province in provinces:
print(f"{province[0]}: {province[1]} ({province[2]})")
Node.js示例
const { Client } = require('pg');
const client = new Client({
host: 'localhost',
database: 'vietnamese_administrative_units',
user: 'your_username',
password: 'your_password'
});
async function getProvinces() {
await client.connect();
const res = await client.query('SELECT code, name, name_en FROM provinces ORDER BY code');
console.log(res.rows);
await client.end();
}
🧪 数据验证和质量保证
完整性检查
数据库经过严格验证,确保:
- ✅ 所有34个省份数据完整
- ✅ 3,321个坊社数据完整
- ✅ 越南语和英文名称准确
- ✅ 行政代码符合国家标准
- ✅ GIS地理数据100%匹配
数据一致性
- 行政单位代码与越南统计总局标准一致
- 地理区域划分符合官方定义
- 英文翻译经过人工校对
🚀 高级功能
1. 多语言支持
数据库提供完整的越南语和英语名称,支持国际化应用程序开发。
2. 地理编码
结合GIS数据,可以实现地址解析和地理位置服务。
3. 数据分析
支持复杂的统计分析,如人口密度、区域经济发展等。
4. API服务
基于此数据库可以快速构建行政区划查询API。
🔧 故障排除
常见问题
-
导入失败
- 检查数据库连接权限
- 确认SQL文件编码为UTF-8
- 验证数据库字符集支持越南语
-
GIS数据问题
- 确保已安装PostGIS扩展
- 检查GIS数据文件完整性
- 验证坐标系设置
-
数据更新问题
- 检查网络连接
- 确认Go环境配置正确
- 查看生成脚本日志
技术支持
- 查看详细文档:dataset-generation-scripts/CLAUDE.md
- 检查已知问题:development/ 目录
- 参考示例查询:docs/gis/ 目录
📈 性能优化建议
数据库索引
-- 为常用查询字段创建索引
CREATE INDEX idx_provinces_code ON provinces(code);
CREATE INDEX idx_wards_province_code ON wards(province_code);
CREATE INDEX idx_wards_name ON wards(name);
查询优化
- 使用EXPLAIN分析查询计划
- 避免全表扫描
- 合理使用连接查询
🎯 应用场景
电子商务
- 地址验证和标准化
- 配送区域管理
- 运费计算
政府服务
- 行政管理系统
- 人口统计
- 区域规划
地图服务
- 地理编码
- 区域边界显示
- 位置搜索
数据分析
- 区域经济分析
- 人口分布研究
- 基础设施规划
📚 学习资源
官方文档
- README.md - 项目概述和使用指南
- README_vi.md - 越南语版本文档
- AGENTS.md - AI代理使用指南
技术文档
- dataset-generation-scripts/CLAUDE.md - Go服务详细说明
- docs/gis/gis_readme.md - GIS数据使用指南
示例代码
- 查看
dataset-generation-scripts/中的Go源代码 - 参考各种数据库的SQL脚本
- 学习GIS数据处理示例
🏁 总结
越南行政区划数据库是一个功能完整、数据准确、易于使用的资源库。通过这个5分钟快速安装教程,您可以立即开始在项目中使用越南的行政区划数据。无论您是开发电子商务平台、政府服务系统,还是地理信息系统,这个数据库都能为您提供可靠的数据支持。
记住,数据会随着政府法令的发布而更新,建议定期运行生成脚本以获取最新数据。祝您开发顺利!🚀
核心优势总结:
- ⚡ 5分钟快速安装 - 简单的SQL导入流程
- 📊 完整数据覆盖 - 34个省份,3,321个坊社
- 🗺️ GIS地理数据 - 包含地理边界信息
- 🌐 多语言支持 - 越南语和英文名称
- 🔄 持续更新 - 跟随政府法令及时更新
- 🛠️ 多数据库支持 - PostgreSQL、MySQL、SQL Server等
- 📈 高性能设计 - 优化查询和索引
现在就开始使用越南行政区划数据库,为您的项目添加专业的越南地理数据支持吧!
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



