Bài 20 · Hệ thống thông tin BĐS

Lịch sử biến động và phiên bản hồ sơ đất đai cần được quản lý thế nào?

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 đổiVí dụCách lưu
Business eventChuyển nhượngEvent + new version
Spatial eventTách/hợp thửaLineage + geometry version
CorrectionSửa lỗi nhậpCorrection log
Workflow eventBổ sung hồ sơCase history
System migrationChuyển nền tảngMigration 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átCâu hỏi thiết kếBằng chứng nghiệm thu
IdentityCùng một đối tượng được nhận diện thế nào?ID/namespace/crosswalk
SemanticsTrường này nghĩa chính xác là gì?Data dictionary/code list
SourceAi/cái gì khẳng định dữ liệu?Source + provenance
TimeĐúng ở thời điểm nào?Effective/version fields
OwnershipAi chịu trách nhiệm?Data owner/steward
AccessAi xem/sửa/duyệt?Role/permission/audit
ChangeThay đổ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ướcViệc phải làmCâu hỏi phản biện
1. Xác định đối tượngLiệt kê entity/domainCó đang trộn object với document/process?
2. Xác định quan hệCardinality + roleM:N có thuộc tính riêng không?
3. Gắn thời gianEffective/version/eventCó tái dựng lịch sử được không?
4. Gắn nguồnSource/provenanceAi chứng minh dữ liệu?
5. Gắn governanceOwner/permissionAi có quyền sửa?
6. Test ngoại lệSplit/merge/correctionMô 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ượngVí dụ lỗiKiểm soát
CompletenessThiếu ID/source/effective dateRequired rule + exception queue
ValidityLoại quyền ngoài code listReference data validation
ConsistencyCRM và master khác loại tài sảnReconciliation
UniquenessHai record cùng đối tượngMatching/duplicate workflow
TimelinessThông tin quá hạnExpiry/SLA
TraceabilityKhông biết dữ liệu từ đâuProvenance/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ế

  1. Thiết kế event catalog cho 8 loại biến động.
  2. Tạo predecessor–successor graph.
  3. Phân biệt workflow log và legal history.
  4. 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 testDấ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 IDCRM/GIS/ERP dùng mã khác?Join bằng tên/địa chỉ
Thời gianXem trạng thái 2 năm trước?Chỉ giữ current
CorrectionSử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

  1. Nghị định 101/2024/NĐ-CP – đăng ký đất đai, cấp Giấy chứng nhận và HTTT đất đai.
  2. Thông tư 10/2024/TT-BTNMT – hồ sơ địa chính và nội dung biến động.
  3. 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.
  4. ISO 19152-1:2024 và ISO 19152-2:2025 – source, versioning và land registration.
  5. 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?”.

📚 Xem toàn bộ 24 bài trong series Hệ thống thông tin BĐS