Bài 20 – Lịch sử biến động và phiên bản hồ sơ đất đai cần được quản lý thế nào? tiếp tục bộ xương V2 của Hệ thống thông tin BĐS. Mục tiêu không phải học thuộc tên bảng, mà hiểu cách mô hình hóa thế giới BĐS thành dữ liệu có định danh, quan hệ, thời gian, nguồn và trách nhiệm quản trị.
Biên soạn: ThS. Nguyễn Mạnh Hùng
Đơn vị: GV. Khoa QLĐĐ&BĐS – ĐH Nông Lâm TP.HCM
Email: nguyenmanhhung@hcmuaf.edu.vn
Cập nhật 30/09/2026: Bài viết phục vụ học tập và giảng dạy trong series Hệ thống thông tin BĐS V2. Nội dung giữ ranh giới với Tin học BĐS và Phân tích TTBĐS: tập trung vào mô hình dữ liệu, quy trình, kiến trúc, quản trị và tích hợp; không biến bài thành hướng dẫn thao tác SQL/GIS hay mô hình thống kê.
Ranh giới với các series khác: Bài tập trung vào kiến trúc thông tin đất đai. Chi tiết điều kiện pháp lý và thủ tục cụ thể thuộc series Pháp lý BĐS; thao tác GIS/CSDL thuộc Tin học BĐS.
1. Biến động là sự kiện nghiệp vụ, không phải UPDATE một dòng
Trong CSDL đơn giản, chuyển quyền được thực hiện bằng UPDATE owner_id. Cách này xóa trạng thái trước. LIS cần coi biến động như một sự kiện/case có hồ sơ nguồn, thời điểm, căn cứ và kết quả tạo phiên bản mới.
2. Tách business event và data correction
Chuyển nhượng, tách/hợp, thế chấp là biến động nghiệp vụ. Sửa lỗi chính tả, tọa độ nhập sai là hiệu chỉnh dữ liệu. Hai loại cần mã lý do, quyền phê duyệt và audit khác nhau để không biến correction thành thay đổi pháp lý giả.
3. Effective time và record time
Một biến động có ngày hiệu lực và ngày được ghi nhận. Nếu hồ sơ đăng ký hoàn thành sau ngày hiệu lực, hệ thống phải lưu cả hai để tái dựng chính xác. Đây là nền cho temporal query và kiểm tra lịch sử.
| Loại thay đổi | Ví dụ | Cách lưu |
|---|---|---|
| Business event | Chuyển nhượng | Event + new version |
| Spatial event | Tách/hợp thửa | Lineage + geometry version |
| Correction | Sửa lỗi nhập | Correction log |
| Workflow event | Bổ sung hồ sơ | Case history |
| System migration | Chuyển nền tảng | Migration provenance |
4. Version chain và lineage
Mỗi version nên trỏ tới version trước hoặc event tạo ra nó. Với tách thửa, thửa cũ có trạng thái retired và quan hệ predecessor–successor tới các thửa mới. Với hợp thửa, nhiều predecessor dẫn tới một successor.
5. Snapshot pháp lý tại thời điểm
Hệ thống phải có khả năng trả lời trạng thái parcel/party/RRR tại một thời điểm. Điều này phục vụ khai thác lịch sử, kiểm tra nội bộ, giải quyết tranh chấp và thống kê. Query lịch sử không nên phụ thuộc backup toàn database.
6. Workflow và legal effective state
Hồ sơ có thể ở trạng thái tiếp nhận, thẩm tra, chờ nghĩa vụ tài chính, ký, trả kết quả. Chỉ một số mốc làm thay đổi legal record. Kiến trúc cần phân biệt workflow log với versioned land record.
7. Audit trail và non-repudiation
Audit cần biết ai xem/sửa/phê duyệt, lúc nào, từ đâu và thay đổi trường nào. Tài liệu nguồn có checksum/chữ ký số giúp tăng khả năng chứng minh. Không nên cho phép admin chỉnh trực tiếp record lịch sử mà không log.
8. Cập nhật CSDL quốc gia về đất đai
Thông tư 25/2024/TT-BTNMT quy định quy trình xây dựng/cập nhật các CSDL thành phần của CSDL quốc gia về đất đai. Từ góc HTTT, bài học là cập nhật phải có quy trình, kiểm tra, đối soát và trách nhiệm thay vì chỉ ‘import dữ liệu’.
Khung thiết kế nâng cao: từ khái niệm đến hệ thống có thể vận hành
Ở góc quản lý đất đai, mô hình chỉ có giá trị khi chuyển được thành quy tắc vận hành. Mỗi đối tượng phải có định danh, owner, source, trạng thái, thời gian, quyền truy cập và quy tắc thay đổi. Nếu thiếu một trong các lớp này, mô hình ER đẹp vẫn có thể tạo dữ liệu không đáng tin.
| Lớp kiểm soát | Câu hỏi thiết kế | Bằng chứng nghiệm thu |
|---|---|---|
| Identity | Cùng một đối tượng được nhận diện thế nào? | ID/namespace/crosswalk |
| Semantics | Trường này nghĩa chính xác là gì? | Data dictionary/code list |
| Source | Ai/cái gì khẳng định dữ liệu? | Source + provenance |
| Time | Đúng ở thời điểm nào? | Effective/version fields |
| Ownership | Ai chịu trách nhiệm? | Data owner/steward |
| Access | Ai xem/sửa/duyệt? | Role/permission/audit |
| Change | Thay đổi qua quy trình nào? | Workflow/event/version |
Một change set có thể chứa event_id, case_id, effective_date, recorded_at, source_ids, affected_objects, before_version, after_version, operator, approver và reason_code. Đây là lớp audit độc lập với log kỹ thuật của database.
Một nguyên tắc quan trọng là không để schema vật lý quyết định nghiệp vụ. Nếu hệ thống hiện tại có một cột nhưng nghiệp vụ thực tế là quan hệ nhiều–nhiều, hãy sửa mô hình thay vì ép nghiệp vụ vào cột. Ngược lại, không cần tạo hàng chục thực thể chỉ để thể hiện sự 'đúng chuẩn' nếu tổ chức không có use case và governance tương ứng.
Tình huống thiết kế và phòng thí nghiệm quyết định
Tình huống giả lập: thửa 100 được tách thành 100-1 và 100-2, sau đó 100-2 được hợp với thửa 101. Nếu chỉ overwrite geometry, lịch sử biến mất. Hãy xây lineage graph predecessor–successor và event timeline.
| Bước | Việc phải làm | Câu hỏi phản biện |
|---|---|---|
| 1. Xác định đối tượng | Liệt kê entity/domain | Có đang trộn object với document/process? |
| 2. Xác định quan hệ | Cardinality + role | M:N có thuộc tính riêng không? |
| 3. Gắn thời gian | Effective/version/event | Có tái dựng lịch sử được không? |
| 4. Gắn nguồn | Source/provenance | Ai chứng minh dữ liệu? |
| 5. Gắn governance | Owner/permission | Ai có quyền sửa? |
| 6. Test ngoại lệ | Split/merge/correction | Mô hình có vỡ khi nghiệp vụ khó? |
Sinh viên không cần viết code ở bước này. Yêu cầu là vẽ mô hình, giải thích từng quan hệ và chứng minh mô hình xử lý được ngoại lệ. Nếu một thiết kế chỉ chạy trong ví dụ 'mỗi tài sản một chủ, mỗi khách một hợp đồng' thì chưa đủ cho BĐS thực tế.
Kiểm soát chất lượng dữ liệu và khả năng truy vết
Chất lượng dữ liệu không chỉ là “đủ trường”. Với mô hình BĐS, cần kiểm tra ít nhất tính đầy đủ, hợp lệ, nhất quán, duy nhất, kịp thời và truy vết được nguồn. Một record có đầy đủ thông tin nhưng source không rõ vẫn có rủi ro cao; một record đúng nhưng đã hết hiệu lực cũng không nên dùng cho quyết định hiện tại.
| Chiều chất lượng | Ví dụ lỗi | Kiểm soát |
|---|---|---|
| Completeness | Thiếu ID/source/effective date | Required rule + exception queue |
| Validity | Loại quyền ngoài code list | Reference data validation |
| Consistency | CRM và master khác loại tài sản | Reconciliation |
| Uniqueness | Hai record cùng đối tượng | Matching/duplicate workflow |
| Timeliness | Thông tin quá hạn | Expiry/SLA |
| Traceability | Không biết dữ liệu từ đâu | Provenance/audit |
Hãy luôn thêm exception workflow. Dữ liệu thực tế không bao giờ sạch tuyệt đối; hệ thống trưởng thành không phải hệ thống “không có lỗi” mà là hệ thống phát hiện, phân công, xử lý và học từ lỗi có cấu trúc.
Khung áp dụng thực tế
- Thiết kế event catalog cho 8 loại biến động.
- Tạo predecessor–successor graph.
- Phân biệt workflow log và legal history.
- Lập audit checklist cho một change set.
Những sai lầm cần tránh
- UPDATE trực tiếp record lịch sử.
- Không phân biệt correction và biến động.
- Backup database thay cho history model.
- Cho phép sửa bản cũ mà không audit.
Bài tập thực hành
Chọn một hệ thống thật hoặc giả lập. Không bắt đầu bằng giao diện. Hãy viết danh sách đối tượng nghiệp vụ, quan hệ, mã định danh, source, thời gian hiệu lực, người chịu trách nhiệm và các ngoại lệ. Sau đó vẽ mô hình khái niệm và dùng ít nhất hai tình huống khó để phá thử mô hình. Cuối cùng ghi rõ phần nào là dữ liệu chủ, phần nào là giao dịch, phần nào là tài liệu và phần nào là lịch sử.
Câu hỏi tự kiểm tra
- Đối tượng chính của mô hình là gì và có định danh độc lập không?
- Quan hệ nào là 1:N, quan hệ nào thực chất là M:N?
- Mô hình có giữ được source và lịch sử hay chỉ trạng thái hiện tại?
- Ai là Data Owner và ai được quyền sửa?
- Nếu hai hệ thống có ID khác nhau, ta nối chúng bằng cơ chế nào?
- Thiết kế có đứng vững khi xảy ra split, merge, correction hoặc nhiều chủ thể không?
Kiểm thử mô hình bằng các ngoại lệ thường gặp trong BĐS
Một mô hình tốt phải xử lý được ngoại lệ trước khi triển khai. Hãy thử năm nhóm: nhiều chủ thể, nhiều hệ định danh, thay đổi theo thời gian, hồ sơ đến muộn/sửa sai và tách–hợp đối tượng. Nếu phải sửa cấu trúc bảng mỗi khi gặp ngoại lệ, conceptual model chưa đủ tổng quát.
| Ngoại lệ | Câu hỏi test | Dấu hiệu mô hình yếu |
|---|---|---|
| Nhiều chủ thể | Một quyền có 3 bên thì sao? | Chỉ có owner_id |
| Nhiều ID | CRM/GIS/ERP dùng mã khác? | Join bằng tên/địa chỉ |
| Thời gian | Xem trạng thái 2 năm trước? | Chỉ giữ current |
| Correction | Sửa sai có xóa lịch sử? | Overwrite |
| Split/Merge | Đối tượng mới kế thừa gì? | Không có lineage |
Sau mỗi test, không chỉ sửa schema. Hãy hỏi liệu lỗi nằm ở định nghĩa nghiệp vụ, code list, workflow hay governance. Nhiều vấn đề dữ liệu không thể giải quyết chỉ bằng thêm cột.
Decision log cho thiết kế dữ liệu
Mỗi quyết định mô hình quan trọng nên có nhật ký: vấn đề, các phương án, lựa chọn, lý do, tác động, người phê duyệt và ngày xem lại. Ví dụ quyết định chọn một PropertyMasterID nội bộ thay vì dùng mã CRM cần ghi rõ vì sao: CRM ID phụ thuộc ứng dụng và có thể đổi khi thay CRM. Decision log giúp đội ngũ sau này hiểu ý định thiết kế thay vì suy đoán từ schema.
Ghi nhớ trong 30 giây
- Biến động nghiệp vụ khác với sửa lỗi kỹ thuật dữ liệu.
- Không ghi đè lịch sử nếu hệ thống cần chứng minh trạng thái tại thời điểm trước.
- Mỗi thay đổi cần nguồn, căn cứ, người xử lý, thời điểm hiệu lực và thời điểm ghi nhận.
- Phiên bản dữ liệu phải đi cùng quy tắc hợp nhất và phục hồi.
- Lịch sử đáng tin là điều kiện cho dịch vụ công, kiểm tra, tranh chấp, thống kê và phân tích.
Nguồn tham khảo
- Nghị định 101/2024/NĐ-CP – đăng ký đất đai, cấp Giấy chứng nhận và HTTT đất đai.
- Thông tư 10/2024/TT-BTNMT – hồ sơ địa chính và nội dung biến động.
- Thông tư 25/2024/TT-BTNMT – quy trình xây dựng/cập nhật CSDL quốc gia về đất đai.
- ISO 19152-1:2024 và ISO 19152-2:2025 – source, versioning và land registration.
- UN-GGIM FELA – quản trị và hiện đại hóa quản lý đất đai.
Bài tiếp theo: “Thông tin quy hoạch, kế hoạch sử dụng đất và hạn chế quyền được tích hợp ra sao?”.