Skip to content

Commit

Permalink
Merge pull request #8 from ThangLeQuoc/6-implement-the-patch-checker
Browse files Browse the repository at this point in the history
#6: Implement the patch checker
  • Loading branch information
ThangLeQuoc authored Jun 25, 2022
2 parents 55bef57 + adda97b commit 9439a6f
Show file tree
Hide file tree
Showing 3 changed files with 114 additions and 2 deletions.
32 changes: 31 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

A complete SQL database of Vietnamese administrative units, includes all **63 Vietnamese provinces** and associated districts, wards sub-divisions.
Data is updated as of late 2021.
Don't forget to leave a :star: if you find this repository helpful. It's would help to cheer us up to we can deliver valuable product to support our community.
Don't forget to leave a :star: if you find this repository helpful, and to keep track of the latest release of this dataset in the future. It's would help to cheer us up so we can deliver valuable product to support our community.

**Data status**
Last update at: June 2022
Expand All @@ -19,6 +19,20 @@ The author(s) of this repository is not associated with the **General Statistics
The data of provinces, districts and wards are created base on the CSV file from the [General Statistics Office of Vietnam website][source danhmuchanhchinh gov].
This dataset also include additional information apart from the original provinces, districts and wards data from the original CSV file. Please see section [Additional change make by this repository](#additional-change-make-by-this-repository)

### Dataset releases and Government issued decrees

The Vietnamese Government may issues decree time to time to change the administrative unit structure. You can track the latest issued decrees [here][decree issued page].

This dataset will be gradually updated to keep up with the latest **effected** decree. To check the status of your dataset and how to keep the dataset up-to-date, see section [How to ensure that my dataset is up-to-date?](#how-to-ensure-that-my-dataset-is-up-to-date).

The following tables contains the list of issued decree, its effected date from, tracked from the earliest version of this dataset.

|Issued Decree|Issued on |Effect from|Release Version|
|-------------|-----------|-------------|---------------|
|[510/NQ-UBTVQH15][decree 510/NQ-UBTVQH15]|12/05/2022|01/07/2022|(WIP, to be released in 01/07/2022)
|[469/NQ-UBTVQH15][decree 469/NQ-UBTVQH15]|15/02/2022|10/04/2022|v1.0.1
|[387/NQ-UBTVQH15][decree 387/NQ-UBTVQH15]|22/09/2021|01/11/2021|v1.0.0

### Additional change make by this repository

- Add `administrative_regions` table
Expand Down Expand Up @@ -329,6 +343,18 @@ You can go to the site, tick on the checkbox **Quận Huyện, Phường Xã**,
Districts 2, 9 and Thu Duc were merged into a single Thu Duc Municipal city, directly under **Ho Chi Minh city** recently. Hence all their
wards are binded directly under district entity `Thu Duc city`, code `769`.

### How to ensure that my dataset is up-to-date?

The government may gradually public decree

If you want to check the current up-to-date status of your provinces dataset, simply execute the [patch_checker.sql](patch/patch_checker.sql) script, and apply the missing decree patch (if any) in the [patch directory](./patch/).

Sample Output from the `patch_checker` script:

|nghidinh_469_nq_ubtvqh15|vietnamese_provinces_dataset_up_to_date|
|------------------------|---------------------------------------|
|true|true|

### I saw some issues in the SQL patch?

Even the government csv sheet does not have a unified format (I have to admit so, mixed between 'Thị xã' & 'Thị Xã', 'Thành phố' & 'Thành Phố' format). If you see any typo, any error or redundant spaces..., please kindly [Open a issue](https://github.com/ThangLeQuoc/VietnameseProvincesDatabase/issues) and write down your finding. Or even better by [Create a Pull Request](https://github.com/ThangLeQuoc/VietnameseProvincesDatabase/pulls).
Expand All @@ -337,3 +363,7 @@ Any contribution is welcomed.

[source danhmuchanhchinh gov]: https://danhmuchanhchinh.gso.gov.vn/
[source government decree]: https://danhmuchanhchinh.gso.gov.vn/NghiDinh.aspx
[decree issued page]: https://danhmuchanhchinh.gso.gov.vn/NghiDinh.aspx
[decree 387/NQ-UBTVQH15]: https://thuvienphapluat.vn/van-ban/Bo-may-hanh-chinh/Nghi-quyet-387-NQ-UBTVQH15-thanh-lap-Toa-an-nhan-dan-thanh-pho-Tu-Son-thuoc-tinh-Bac-Ninh-490766.aspx
[decree 469/NQ-UBTVQH15]: https://thuvienphapluat.vn/van-ban/Bo-may-hanh-chinh/Nghi-quyet-469-NQ-UBTVQH15-2022-thanh-lap-phuong-thuoc-thi-xa-Pho-Yen-Thai-Nguyen-504359.aspx
[decree 510/NQ-UBTVQH15]: https://thuvienphapluat.vn/van-ban/Bo-may-hanh-chinh/Nghi-quyet-510-NQ-UBTVQH15-2022-thanh-lap-thi-tran-Phuong-Son-huyen-Luc-Nam-Bac-Giang-516371.aspx
33 changes: 32 additions & 1 deletion README_vi.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

Đây là tập lệnh cơ sở dữ liệu SQL của toàn bộ đơn vị hành chính Việt Nam, bao gồm **63 tỉnh thành** và các Quận huyện, phường xã liên quan.
Dữ liệu được cập nhật vào cuối năm 2021.
Hãy để lại một ngôi sao :star: trên dự án này nếu bạn thấy nó hữu ích. Điều này giúp khích lệ tinh thần của chúng tôi để chúng tôi tiếp tục cống hiến thêm các sản phẩm mã nguồn mở phục vụ cộng đồng.
Hãy để lại một ngôi sao :star: trên dự án này nếu bạn thấy nó hữu ích, và để nhận những thông báo về các bản release mới nhất. Điều này giúp khích lệ tinh thần của chúng tôi để chúng tôi tiếp tục cống hiến thêm các sản phẩm mã nguồn mở phục vụ cộng đồng.

**Trạng thái dữ liệu**
Cập nhật lần cuối: June 2022
Expand All @@ -18,6 +18,21 @@ Tác giả của dự án không làm việc, hay đại diện cho **Tổng c
Dữ liệu của Tỉnh thành, Quận huyện và Phường xã được tổng kết và hệ thống dựa trên tệp tin CSV (Excel) tải trực tiếp từ [trang web Đơn vị hành chính của Tổng cục Thống kê Việt Nam][source danhmuchanhchinh gov]
Ngoài ra, cơ sở dữ liệu này còn có thêm những thông tin bổ sung, xin xem chi tiết trong phần **Các thay đổi thêm** ngay bên dưới.

### Các phiên bản của bộ dữ liệu và Nghị định của Chính phủ

Chính phủ Việt Nam có thể ban hành những nghị định để thay đổi cấu trúc của các đơn vị hành chính Việt Nam theo thời gian. Bạn có thể theo dõi danh mục nghị định thay đổi đơn vị được ban hành tại [đây][decree issued page].

Bộ dữ liệu này sẽ liên tục được cập nhật theo **nghị định gần nhất có hiệu lực**. Để kiểm tra trạng thái và cập nhật bộ dữ liệu hành chính Việt Nam của bạn, hãy làm theo hướng dẫn ở phần [Làm sao để cập nhật bộ dữ liệu của tôi?](#làm-sao-để-cập-nhật-bộ-dữ-liệu-của-tôi).

Bảng dưới thông kê các nghị định đã được ban hành, cùng thời gian có hiệu lực, cùng phiên bản của bộ dữ liệu tỉnh thành Việt Nam từ phiên bản đầu tiên.

|Nghị định|Ngày ban hành|Ngày có hiệu lực|Phiên bản|
|-------------|-----------|-------------|---------------|
|[510/NQ-UBTVQH15][decree 510/NQ-UBTVQH15]|12/05/2022|01/07/2022|(Sẽ tung ra vào 01/07/2022)
|[469/NQ-UBTVQH15][decree 469/NQ-UBTVQH15]|15/02/2022|10/04/2022|v1.0.1
|[387/NQ-UBTVQH15][decree 387/NQ-UBTVQH15]|22/09/2021|01/11/2021|v1.0.0


### Các thay đổi thêm

- Thêm bảng quan hệ `administrative_regions`
Expand Down Expand Up @@ -326,6 +341,16 @@ Bạn có thể truy cập trang web trên, đánh dấu vào ô **Quận Huyệ
Quận 2, Quận 9 và Quận Thủ Đức đã chính thức sáp nhập thành thành phố Thủ Đức, là thành phố trực thuộc thành phố Hồ Chí Minh từ đầu năm 2021.
Tất cả các Phường xã của 3 quận kể trên được liên kết trực tiếp đến cùng một đối tượng Quận huyện là `Thành phố Thủ Đức`, mã định danh `code``769`

### Làm sao để cập nhật bộ dữ liệu của tôi?

Chính phủ Việt Nam có thể ban hành nghị định để thay đổi tổ chức hành chính của Việt Nam theo thời gian.
Để kiểm tra trạng thái của bộ dữ liệu ở máy của bạn, hãy chạy tệp [patch_checker.sql](patch/patch_checker.sql), và chạy thủ công những bản vá theo từng nghị định trong thư mục [patch](./patch/)
Ví dụ kết quả khi chạy lệnh kiểm tra `patch_checker`

|nghidinh_469_nq_ubtvqh15|vietnamese_provinces_dataset_up_to_date|
|------------------------|---------------------------------------|
|true|true|

### Tôi tìm thấy một vài lỗi trong tệp dữ liệu SQL này?

Nếu bạn thấy có lỗi chính tả, lỗi logic, dư thừa dữ liệu trong các tệp SQL, xin vui lòng [tạo một Issue](https://github.com/ThangLeQuoc/VietnameseProvincesDatabase/issues) và cung cấp thông tin cụ thể.
Expand All @@ -334,3 +359,9 @@ Tất cả các đóng góp đến dự án đều được trân trọng ghi nh

[source danhmuchanhchinh gov]: https://danhmuchanhchinh.gso.gov.vn/
[source government decree]: https://danhmuchanhchinh.gso.gov.vn/NghiDinh.aspx
[source danhmuchanhchinh gov]: https://danhmuchanhchinh.gso.gov.vn/
[source government decree]: https://danhmuchanhchinh.gso.gov.vn/NghiDinh.aspx
[decree issued page]: https://danhmuchanhchinh.gso.gov.vn/NghiDinh.aspx
[decree 387/NQ-UBTVQH15]: https://thuvienphapluat.vn/van-ban/Bo-may-hanh-chinh/Nghi-quyet-387-NQ-UBTVQH15-thanh-lap-Toa-an-nhan-dan-thanh-pho-Tu-Son-thuoc-tinh-Bac-Ninh-490766.aspx
[decree 469/NQ-UBTVQH15]: https://thuvienphapluat.vn/van-ban/Bo-may-hanh-chinh/Nghi-quyet-469-NQ-UBTVQH15-2022-thanh-lap-phuong-thuoc-thi-xa-Pho-Yen-Thai-Nguyen-504359.aspx
[decree 510/NQ-UBTVQH15]: https://thuvienphapluat.vn/van-ban/Bo-may-hanh-chinh/Nghi-quyet-510-NQ-UBTVQH15-2022-thanh-lap-thi-tran-Phuong-Son-huyen-Luc-Nam-Bac-Giang-516371.aspx
51 changes: 51 additions & 0 deletions patch/patch_checker.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
/*
* Vietnamese Provinces Database up-to-date status checker script
*
* This is a handy script to check and verify the up-to-date status of your dataset. Simply execute the script
* against the database that contains the VietnameseProvinces dataset to check the status.
* If a patch is missing, please go to the patch folder section and apply the corresponding missing patch.
*
* The earliest version of this dataset already met the 387/NQ-UBTVQH15
* Decrees in check:
* - 469/NQ-UBTVQH15
*
* Example result:
* |nghidinh_469_nq_ubtvqh15|vietnamese_provinces_dataset_up_to_date|
* |------------------------|---------------------------------------|
* |true |true |
*/


/*
* Nghi dinh 469/NQ-UBTVQH15
* */
WITH decree_469_NQ_UBTVQH15 AS (
SELECT '469/NQ-UBTVQH15' as decree,
CASE
WHEN
-- Phổ Yên (172) from District-level town (Thị xã - 6) to provincial city (Thành phố thuộc tỉnh - 4)
(d.administrative_unit_id = 4 AND d.full_name = CONCAT('Thành phố ', d.name) AND d.full_name_en = CONCAT(d.name_en, ' City'))
AND
-- Hồng Tiến, Đắc Sơn, Tiên Phong, Nam Tiến, Tân Hương, Đông Cao, Trung Thành, Tân Phú, Thuận Thành from commune (Xã - 10) to ward (Phường - 8)
w.administrative_unit_id = 8 AND w.full_name = CONCAT('Phường ', w.name) AND w.full_name_en = CONCAT(w.name_en, ' Ward')
THEN TRUE
ELSE
FALSE
END as up_to_date
FROM districts d
INNER JOIN wards w
ON d.code = w.district_code
WHERE
-- Phổ Yên (172)
d.code = '172' AND
-- Hồng Tiến, Đắc Sơn, Tiên Phong, Nam Tiến, Tân Hương, Đông Cao, Trung Thành, Tân Phú, Thuận Thành
w.code IN ('05869', '05875', '05884', '05890', '05893', '05896', '05899', '05902', '05905')
GROUP BY 1, 2
)
SELECT decree_469_NQ_UBTVQH15.up_to_date AS nghidinh_469_NQ_UBTVQH15,
CASE
WHEN decree_469_NQ_UBTVQH15.up_to_date THEN TRUE
ELSE FALSE
END AS vietnamese_provinces_dataset_up_to_date
FROM decree_469_NQ_UBTVQH15;

0 comments on commit 9439a6f

Please sign in to comment.