Xem thêm

Tìm kiếm mã code, kho lưu trữ, người dùng, vấn đề, yêu cầu rút pull...

Huy Erick
Đọc phiên bản tiếng Việt Một cơ sở dữ liệu SQL đầy đủ về các đơn vị hành chính ở Việt Nam, bao gồm tất cả 63 tỉnh thành và các huyện xã liên quan....

Repository Banner

Đọc phiên bản tiếng Việt

Một cơ sở dữ liệu SQL đầy đủ về các đơn vị hành chính ở Việt Nam, bao gồm tất cả 63 tỉnh thành và các huyện xã liên quan. Dữ liệu được cập nhật theo sắc lệnh vừa mới nhất: 939/NQ-UBTVQH15. Đừng quên nhấn ⭐ nếu bạn thấy dự án này hữu ích và để theo dõi phiên bản mới nhất của tập dữ liệu này trong tương lai. Điều đó sẽ giúp chúng tôi tiếp thêm động lực để mang đến những sản phẩm có giá trị hỗ trợ cộng đồng của chúng ta.

Tổng quan

Tác giả (các) của dự án này không liên quan đến Tổng cục Thống kê Việt Nam hoặc chính phủ Việt Nam. Dữ liệu về tỉnh thành, huyện xã được tạo dựa trên dữ liệu API về tỉnh của Tổng cục Thống kê Việt Nam. Bộ dữ liệu này cũng bao gồm thông tin bổ sung ngoài dữ liệu gốc về tỉnh thành, huyện xã từ nguồn dữ liệu ban đầu. Vui lòng xem phần "Thay đổi bổ sung được thực hiện bởi dự án này".

Phiên bản và các nghị định do chính phủ ban hành

Chính phủ Việt Nam có thể ban hành các nghị định từ thời gian này sang thời gian khác để thay đổi cấu trúc đơn vị hành chính. Bạn có thể theo dõi các nghị định mới nhất được ban hành tại đây.

Bộ dữ liệu này sẽ được cập nhật dần dần để đồng bộ với nghị định hiệu lực mới nhất. Để kiểm tra tình trạng dữ liệu của bạn và cách cập nhật dữ liệu hiện có, hãy xem phần "Làm thế nào để cập nhật bộ dữ liệu hiện có?".

Bảng dưới đây chứa danh sách các nghị định được ban hành, ngày có hiệu lực từ, theo dõi từ phiên bản sớm nhất của bộ dữ liệu này.

Nghị định đã ban hành Ban hành vào Có hiệu lực từ Phiên bản
939/NQ-UBTVQH15 13/12/2023 01/02/2024 v2.0.0
721/NQ-UBTVQH15 - 730/NQ-UBTVQH15 13/02/2023 10/04/2023 v1.0.4.1
569/NQ-UBTVQH15, 570/NQ-UBTVQH15 11/08/2022 01/10/2022 v1.0.3.1
510/NQ-UBTVQH15 12/05/2022 01/07/2022 v1.0.2
469/NQ-UBTVQH15 15/02/2022 10/04/2022 v1.0.1
387/NQ-UBTVQH15 22/09/2021 01/11/2021 v1.0.0

Thay đổi bổ sung được thực hiện bởi dự án này

  • Thêm bảng "administrative_regions"
  • Thêm bảng "administrative_units"
  • Xác định đơn vị hành chính và khu vực liên quan cho dữ liệu tỉnh, huyện và xã
  • Tạo tên tiếng Anh cho tỉnh, huyện và xã, đề xuất cả dạng đầy đủ và rút gọn
  • Tạo tên mã cho tỉnh, huyện và xã

Cài đặt

Postgresql

  • Sử dụng cơ sở dữ liệu hiện có hoặc tạo mới:
  • Thực thi tệp CreateTable_vn_units.sql trong thư mục postgresql trước tiên trong cơ sở dữ liệu đích để tạo ra tất cả cấu trúc bảng.
  • Tiếp theo, thực hiện tệp ImportData_vn_units.sql để nhập dữ liệu vào các bảng đã tạo.

MySQL - MariaDB

  • Sử dụng cơ sở dữ liệu hiện có hoặc tạo mới:
  • Thực thi tệp CreateTable_vn_units.sql trong thư mục mysql trước tiên trong cơ sở dữ liệu đích để tạo ra tất cả cấu trúc bảng.
  • Tiếp theo, thực hiện tệp ImportData_vn_units.sql để nhập dữ liệu vào các bảng đã tạo.

Microsoft SQL Server

  • Sử dụng cơ sở dữ liệu hiện có hoặc tạo mới:
  • Thực thi tệp CreateTable_vn_units.sql trong thư mục sqlserver trước tiên trong cơ sở dữ liệu đích để tạo ra tất cả cấu trúc bảng.
  • Tiếp theo, thực hiện tệp ImportData_vn_units.sql để nhập dữ liệu vào các bảng đã tạo.

Oracle

  • Sử dụng cơ sở dữ liệu hiện có hoặc tạo mới:
  • Thực thi tệp CreateTable_vn_units.sql trong thư mục oracle trước tiên trong cơ sở dữ liệu đích để tạo ra tất cả cấu trúc bảng.
  • Tiếp theo, thực hiện tệp ImportData_vn_units.sql để nhập dữ liệu vào các bảng đã tạo.

Schema bảng

VN_administrative_units db

Bảng "administrative_regions"

VN Geographical Regions

Bảng "administrative_regions" chứa danh sách "8" vùng địa lý của Việt Nam với id tăng dần theo thứ tự vị trí vùng từ Bắc vào Nam.

Định nghĩa bảng

Cột Kiểu dữ liệu Ý nghĩa Ràng buộc
id integer Mã của vùng Khóa chính
name varchar(255) Tên vùng trong tiếng Việt
name_en varchar(255) Tên vùng trong tiếng Anh
code_name varchar(255) Tên mã, phát sinh từ tên tiếng Việt, viết thường, gạch chân
code_name_en varchar(255) Tên mã, phát sinh từ tên tiếng Anh, viết thường, gạch chân

Xem trước dữ liệu

id name name_en code_name code_name_en
1 Đông Bắc Bộ Northeast dong_bac_bo northest
2 Tây Bắc Bộ Northwest tay_bac_bo northwest
3 Đồng bằng sông Hồng Red River Delta dong_bang_song_hong red_river_delta
4 Bắc Trung Bộ North Central Coast bac_trung_bo north_central_coast
5 Duyên hải Nam Trung Bộ South Central Coast duyen_hai_nam_trung_bo south_central_coast
6 Tây Nguyên Central Highlands tay_nguyen central_highlands
7 Đông Nam Bộ Southeast dong_nam_bo southeast
8 Đồng bằng sông Cửu Long Mekong River Delta dong_bang_song_cuu_long southwest

Bảng "administrative_units"

VN Units

Bảng "administrative_units" chứa danh sách các đơn vị hành chính với id được sắp xếp theo cấp độ từ đơn vị lớn nhất đến đơn vị nhỏ nhất.

Định nghĩa bảng

Cột Kiểu dữ liệu Ý nghĩa Ràng buộc
id integer Mã của đơn vị hành chính Khóa chính
full_name varchar(255) Tên đầy đủ của đơn vị hành chính
full_name_en varchar(255) Tên đầy đủ của đơn vị hành chính (tiếng Anh)
short_name varchar(255) Tên ngắn của đơn vị hành chính
short_name_en varchar(255) Tên ngắn của đơn vị hành chính (tiếng Anh)
code_name varchar(255) Tên mã, phát sinh từ tên đầy đủ tiếng Việt, viết thường, gạch chân
code_name_en varchar(255) Tên mã, phát sinh từ tên đầy đủ tiếng Anh, viết thường, gạch chân

Xem trước dữ liệu

id full_name full_name_en short_name short_name_en code_name code_name_en
1 Thành phố trực thuộc trung ương Municipality Thành phố City thanh_pho_truc_thuoc_trung_uong municipality
2 Tỉnh Province Tỉnh Province tinh province
3 Thành phố thuộc thành phố trực thuộc trung ương Municipal city Thành phố City thanh_pho_thuoc_thanh_pho_truc_thuoc_trung_uong municipal_city
4 Thành phố thuộc tỉnh Provincial city Thành phố City thanh_pho_thuoc_tinh provincial_city
5 Quận Urban district Quận District quan urban_district
6 Thị xã District-level town Thị xã Town thi_xa district_level_town
7 Huyện District Huyện District huyen district
8 Phường Ward Phường Ward phuong ward
9 Thị trấn Commune-level town Thị trấn Township thi_tran commune_level_town
10 Commune Commune xa commune

Bảng "provinces"

Provincial level

Bảng "provinces" chứa danh sách các đơn vị hành chính cấp tỉnh - cấp đơn vị lớn nhất, bao gồm 63 tỉnh thành.

Định nghĩa bảng

Cột Kiểu dữ liệu Ý nghĩa Ràng buộc
code varchar(20) Mã đơn vị chính thức, xác định bởi chính phủ Khóa chính
name varchar(255) Tên trong tiếng Việt
name_en varchar(255) Tên trong tiếng Anh
full_name varchar(255) Tên đầy đủ trong tiếng Việt, bao gồm tên đơn vị hành chính
full_name_en varchar(255) Tên đầy đủ trong tiếng Anh, bao gồm tên đơn vị hành chính
code_name varchar(255) Tên mã, phát sinh từ tên tiếng Việt, viết thường, gạch chân
administrative_unit_id integer Id đơn vị hành chính của bản ghi này Khóa ngoại, tham chiếu đến administrative_units.id
administrative_region_id integer Vùng địa lý mà bản ghi này thuộc về Khóa ngoại, tham chiếu đến administrative_regions.id

Xem trước dữ liệu

code name name_en full_name full_name_en code_name administrative_unit_id administrative_region_id
01 Hà Nội Ha Noi Thành phố Hà Nội Ha Noi ha_noi 1 3
30 Hải Dương Hai Duong Tỉnh Hải Dương Hai Duong hai_duong 2 3
46 Thừa Thiên Huế Thua Thien Hue Tỉnh Thừa Thiên Huế Thua Thien Hue thua_thien_hue 2 4
48 Đà Nẵng Da Nang Thành phố Đà Nẵng Da Nang da_nang 1 5
79 Hồ Chí Minh Ho Chi Minh Thành phố Hồ Chí Minh Ho Chi Minh ho_chi_minh 1 7
... ....... ....... .............. ............... ...... .. ..

Bảng "districts"

District level

Bảng "districts" chứa danh sách các đơn vị hành chính cấp huyện - cấp đơn vị thứ hai, bao gồm 705 quận thuộc thành phố, quận đô thị, thị xã, huyện và thành phố thuộc tỉnh.

Định nghĩa bảng

Cột Kiểu dữ liệu Ý nghĩa Ràng buộc
code varchar(20) Mã đơn vị chính thức, xác định bởi chính phủ Khóa chính
name varchar(255) Tên trong tiếng Việt
name_en varchar(255) Tên trong tiếng Anh
full_name varchar(255) Tên đầy đủ trong tiếng Việt, bao gồm tên đơn vị hành chính
full_name_en varchar(255) Tên đầy đủ trong tiếng Anh, bao gồm tên đơn vị hành chính
code_name varchar(255) Tên mã, phát sinh từ tên tiếng Việt, viết thường, gạch chân
province_code integer Mã tỉnh thành mà bản ghi này thuộc về Khóa ngoại, tham chiếu đến provinces.code
administrative_unit_id integer Id đơn vị hành chính của bản ghi này Khóa ngoại, tham chiếu đến administrative_units.id

Xem trước dữ liệu

code name name_en full_name full_name_en code_name province_code administrative_unit_id
001 Ba Đình Ba Dinh Quận Ba Đình Ba Dinh ba_dinh 01 5
002 Hoàn Kiếm Hoan Kiem Quận Hoàn Kiếm Hoan Kiem hoan_kiem 01 5
003 Tây Hồ Tay Ho Quận Tây Hồ Tay Ho tay_ho 01 5
004 Long Biên Long Bien Quận Long Biên Long Bien long_bien 01 5
005 Cầu Giấy Cau Giay Quận Cầu Giấy Cau Giay cau_giay 01 5
... ....... ....... .............. ............... ....... .. ..

Bảng "wards"

Commune level

Bảng "wards" chứa danh sách các đơn vị hành chính cấp xã - cấp đơn vị thứ ba, bao gồm 10.599 phường, xã và thị trấn cấp xã.

Định nghĩa bảng

Cột Kiểu dữ liệu Ý nghĩa Ràng buộc
code varchar(20) Mã đơn vị chính thức, xác định bởi chính phủ Khóa chính
name varchar(255) Tên trong tiếng Việt
name_en varchar(255) Tên trong tiếng Anh
full_name varchar(255) Tên đầy đủ trong tiếng Việt, bao gồm tên đơn vị hành chính
full_name_en varchar(255) Tên đầy đủ trong tiếng Anh, bao gồm tên đơn vị hành chính
code_name varchar(255) Tên mã, phát sinh từ tên tiếng Việt, viết thường, gạch chân
district_code integer Mã quận huyện mà bản ghi này thuộc về Khóa ngoại, tham chiếu đến districts.code
administrative_unit_id integer Id đơn vị hành chính của bản ghi này Khóa ngoại, tham chiếu đến administrative_units.id

Xem trước dữ liệu

code name name_en full_name full_name_en code_name district_code administrative_unit_id
25942 Dĩ An Di An Phường Dĩ An Di An di_an 724 8
25945 Tân Bình Tan Binh Phường Tân Bình Tan Binh tan_binh 724 8
25948 Tân Đông Hiệp Tan Dong Hiep Phường Tân Đông Hiệp Tan Dong Hiep tan_dong_hiep 724 8
25951 Bình An Binh An Phường Bình An Binh An binh_an 724 8
25954 Bình Thắng Binh Thang Phường Bình Thắng Binh Thang binh_thang 724 8
... ..... ..... ........... ........... ...... .. ..

Các truy vấn mẫu

Bạn có thể dễ dàng tạo truy vấn để lấy tất cả loại dữ liệu mà bạn cần vì các bảng được tham chiếu rõ ràng qua các khóa ngoại. Dưới đây là một số truy vấn mẫu để bạn bắt đầu:

Lấy tất cả các tỉnh thành trong một vùng địa lý

Lấy tất cả các tỉnh thành thuộc vùng Đông Nam Bộ (id = 7)

SELECT * FROM provinces
WHERE administrative_region_id = 7
code name name_en full_name full_name_en code_name administrative_unit_id administrative_region_id
79 Hồ Chí Minh Ho Chi Minh Thành phố Hồ Chí Minh Ho Chi Minh ho_chi_minh 1 7
... ....... ....... .............. ............... ....... .. ..

Lấy tất cả các quận huyện thuộc một tỉnh thành

Lấy tất cả các quận huyện thuộc tỉnh Khánh Hòa

SELECT * FROM districts
WHERE province_code = 56
code name name_en full_name full_name_en code_name province_code administrative_unit_id
569 Cam Ranh Cam Ranh Thành phố Cam Ranh Cam Ranh cam_ranh 56 8
... ....... ....... .............. ............... ....... .. ..

Lấy tất cả các xã thuộc một quận huyện

Lấy tất cả các xã thuộc thị xã Ninh Hòa

SELECT * FROM wards
WHERE district_code = 22546
code name name_en full_name full_name_en code_name district_code administrative_unit_id
22528 Ninh Hiệp Ninh Hiep Phường Ninh Hiệp Ninh Hiep ninh_hiep 22546 8
... ....... ....... .............. ............... ....... .. ..

Các câu hỏi thường gặp

Nguồn dữ liệu gốc được phát triển từ đâu?

Nguồn dữ liệu gốc là tệp CSV từ trang web Tổng cục Thống kê Việt Nam. Bạn có thể vào trang web, đánh dấu vào ô kiểm "Quận Huyện, Phường Xã", sau đó nhấp vào nút "Xuất Excel" để tải tệp CSV.

Khóa chính được định nghĩa như thế nào?

  • Bảng administrative_regions: Khóa: id. Bắt đầu từ 1 đến 8, theo thứ tự vị trí địa lý từ Bắc vào Nam.
  • Bảng administrative_units: Khóa: id. Bắt đầu từ 1 đến 10, theo thứ tự cấp độ từ đơn vị lớn nhất đến đơn vị nhỏ nhất.
  • Bảng provinces: Khóa: code. Được chính phủ xác định theo mã đơn vị hành chính.
  • Bảng districts: Khóa: code. Được chính phủ xác định theo mã đơn vị hành chính.
  • Bảng wards: Khóa: code. Được chính phủ xác định theo mã đơn vị hành chính.

Tại sao tôi không tìm thấy các quận 2, 9 và Thủ Đức?

Các quận 2, 9 và Thủ Đức đã được sáp nhập thành một thị xã thuộc thành phố Thủ Đức gần đây. Do đó, tất cả các xã của họ được gắn trực tiếp vào thực thể quận thị xã Thủ Đức, mã 769.

Làm thế nào để cập nhật bộ dữ liệu hiện có?

Chính phủ có thể công bố từ từ các nghị định mới để thay đổi cấu trúc đơn vị hành chính theo thời gian.

Nếu bạn muốn kiểm tra tình trạng hiện tại của bộ dữ liệu tỉnh thành, chỉ cần thực thi tập lệnh patch_checker.sql và áp dụng bản vá thiếu (nếu có) trong thư mục patch.

Đây là Ví dụ đầu ra từ tập lệnh patch_checker:

nghidinh_469_nq_ubtvqh15 vietnamese_provinces_dataset_up_to_date true true

Hoặc bạn có thể làm mới hoàn toàn bảng Vietnamese provinces hiện có trong cơ sở dữ liệu của bạn bằng cách hủy liên kết tất cả các tham chiếu của bạn, sau đó xóa các bảng tỉnh thành này và tạo lại và nhập tất cả bộ dữ liệu tỉnh thành, sau đó khôi phục lại mối quan hệ giữa dữ liệu của bạn và bảng tỉnh thành.

Tôi đã thấy một số vấn đề trong bản vá SQL?

Nếu bạn thấy bất kỳ cải tiến nào có thể được thực hiện, vui lòng mở một vấn đề và ghi lại những gì bạn đã tìm thấy. Hoặc tốt hơn hết là tạo Pull Request. Mọi đóng góp đều được hoan nghênh.

Tôi muốn phiên bản JSON

Vui lòng xem daohoangson/dvhcvn là phiên bản JSON thay thế.

1