Relationship Class: liên kết thửa đất, chủ thể, công trình và hồ sơ là Bài 15 của chuyên đề ArcGIS Pro trong phân tích không gian BĐS. Thiết kế Relationship Class trong geodatabase để liên kết lâu dài giữa feature class và table như thửa đất–chủ thể–công trình–hồ sơ; hiểu cardinality, key, simple/composite và khác biệt với Join/Relate.
Biên soạn: ThS. Nguyễn Mạnh Hùng
GV. Khoa QLĐĐ&BĐS – ĐH Nông Lâm TP.HCM
Email: nguyenmanhhung@hcmuaf.edu.vn
Cập nhật 02/10/2026: Nội dung thao tác được đối chiếu với tài liệu chính thức ArcGIS Pro 3.6 của Esri. Tên nút, tab hoặc pane có thể khác nhẹ theo bản vá, ngôn ngữ giao diện và loại giấy phép.
Lưu ý phương pháp: ArcGIS Pro có thể hiển thị các lớp khác hệ tọa độ nhờ phép chiếu động trên bản đồ, nhưng điều đó không chứng minh dữ liệu nguồn đã được khai báo đúng hoặc kết quả đo khoảng cách, diện tích và chồng lớp đã đáng tin. Luôn kiểm nguồn, spatial reference, đơn vị, phạm vi và mục tiêu phân tích trước khi kết luận BĐS.
Mục tiêu học tập
- Hiểu đúng khái niệm ArcGIS Pro của bài và vai trò trong quy trình dữ liệu BĐS.
- Biết dữ liệu đầu vào, metadata và điều kiện phải kiểm trước khi thao tác.
- Thực hiện workflow theo cách có thể lặp lại trên ArcGIS Pro 3.6.
- Phân biệt thay đổi hiển thị, thay đổi schema và thay đổi dữ liệu nguồn.
- Ghi lại source, spatial reference, version và quyết định để project có thể bàn giao.
Vị trí trong lộ trình 96 bài
Bài thuộc Chương 2 – Dữ liệu GIS và Geodatabase. Bài 9–10 đã đặt nền vector/raster và Feature Class–Table–Feature Dataset. Bài 11–16 đi sâu từ định dạng lưu trữ đến schema có kiểm soát: Shapefile/File GDB, field, domain, subtype, relationship class và attachments. Mục tiêu là biến dữ liệu BĐS từ nhiều lớp rời thành một mô hình geodatabase có cấu trúc và khả năng bàn giao.
1. Relationship Class là schema persistent
Nó lưu mối liên hệ giữa hai classes trong geodatabase, cho phép truy các rows/features liên quan.
Khác với join chỉ ghép trường để xem/phân tích tạm.
Liên hệ BĐS: trước khi thao tác, ghi rõ lớp này đại diện cho thửa đất, công trình, chủ thể, hồ sơ, tin rao, giao dịch, đường, tiện ích hay dữ liệu khảo sát. Cùng một tên gần giống nhau nhưng đơn vị quan sát, nguồn và thời điểm có thể khác hoàn toàn.
2. Origin và Destination
Quan hệ có class nguồn và class đích theo thiết kế.
Tên hướng phải phản ánh nghiệp vụ để người dùng dễ hiểu.
Điểm kiểm ArcGIS Pro: quan sát Catalog, Contents, Source Properties và metadata của dataset. Nhiều lỗi tưởng là geoprocessing không chạy thực chất bắt đầu từ nhầm workspace, nhầm layer, field sai kiểu hoặc spatial reference không đúng.
3. Key là nền tảng
Primary/origin key và foreign key phải ổn định, đúng kiểu và không dựa vào ObjectID dễ thay qua export.
GlobalID/GUID thường hữu ích trong workflows cần ID bền.
Dấu vết cần giữ: ghi tên project, dataset, source path/geodatabase, số bản ghi hoặc số feature, schema/spatial reference và mục đích của output. Người khác phải phân biệt được raw source, master data và derived output.
4. Cardinality 1:1
Một thửa–một hồ sơ tóm tắt có thể là ví dụ nếu nghiệp vụ thật sự một–một.
Không áp 1:1 khi thực tế nhiều hồ sơ.
Liên hệ BĐS: trước khi thao tác, ghi rõ lớp này đại diện cho thửa đất, công trình, chủ thể, hồ sơ, tin rao, giao dịch, đường, tiện ích hay dữ liệu khảo sát. Cùng một tên gần giống nhau nhưng đơn vị quan sát, nguồn và thời điểm có thể khác hoàn toàn.
5. Cardinality 1:M
Một thửa có nhiều hồ sơ, một công trình có nhiều lần kiểm tra là ví dụ phổ biến.
Thiết kế này tránh lặp attributes của thửa ở mỗi hồ sơ.
Điểm kiểm ArcGIS Pro: quan sát Catalog, Contents, Source Properties và metadata của dataset. Nhiều lỗi tưởng là geoprocessing không chạy thực chất bắt đầu từ nhầm workspace, nhầm layer, field sai kiểu hoặc spatial reference không đúng.
6. Cardinality M:N
Một chủ thể có thể liên quan nhiều thửa và một thửa nhiều chủ thể.
Thường cần bảng trung gian/attributed relationship để lưu vai trò, tỷ lệ, thời gian nếu cần.
Dấu vết cần giữ: ghi tên project, dataset, source path/geodatabase, số bản ghi hoặc số feature, schema/spatial reference và mục đích của output. Người khác phải phân biệt được raw source, master data và derived output.
7. Simple và Composite
Composite relationship có logic phụ thuộc vòng đời destination mạnh hơn simple; xóa origin có thể ảnh hưởng objects liên quan tùy thiết kế.
Không chọn composite chỉ vì nghe 'chặt chẽ'.
Liên hệ BĐS: trước khi thao tác, ghi rõ lớp này đại diện cho thửa đất, công trình, chủ thể, hồ sơ, tin rao, giao dịch, đường, tiện ích hay dữ liệu khảo sát. Cùng một tên gần giống nhau nhưng đơn vị quan sát, nguồn và thời điểm có thể khác hoàn toàn.
8. Relationship Class khác Join
Join làm bảng rộng dựa key; relationship class cho navigation và integrity/behavior lâu dài.
Một–nhiều join có thể nhân dòng và gây hiểu sai.
Điểm kiểm ArcGIS Pro: quan sát Catalog, Contents, Source Properties và metadata của dataset. Nhiều lỗi tưởng là geoprocessing không chạy thực chất bắt đầu từ nhầm workspace, nhầm layer, field sai kiểu hoặc spatial reference không đúng.
9. Relationship Class khác Relate tạm
Relate ở layer/table có thể liên kết để truy records nhưng không phải schema geodatabase bền như relationship class.
Project mất relate khác với GDB schema.
Dấu vết cần giữ: ghi tên project, dataset, source path/geodatabase, số bản ghi hoặc số feature, schema/spatial reference và mục đích của output. Người khác phải phân biệt được raw source, master data và derived output.
10. Attributed Relationship Class
Khi chính quan hệ có thuộc tính như `ty_le_so_huu`, `vai_tro`, `tu_ngay`, cần lưu thuộc tính của relation.
Không nhét các thuộc tính này sai vào thửa hoặc chủ thể.
Liên hệ BĐS: trước khi thao tác, ghi rõ lớp này đại diện cho thửa đất, công trình, chủ thể, hồ sơ, tin rao, giao dịch, đường, tiện ích hay dữ liệu khảo sát. Cùng một tên gần giống nhau nhưng đơn vị quan sát, nguồn và thời điểm có thể khác hoàn toàn.
11. Tên và path labels
Forward/backward labels giúp navigation dễ hiểu như `Thửa có Hồ sơ` / `Hồ sơ thuộc Thửa`.
Thiết kế cho người dùng cuối.
Điểm kiểm ArcGIS Pro: quan sát Catalog, Contents, Source Properties và metadata của dataset. Nhiều lỗi tưởng là geoprocessing không chạy thực chất bắt đầu từ nhầm workspace, nhầm layer, field sai kiểu hoặc spatial reference không đúng.
12. Referential integrity cần kiểm
Foreign key lạc orphan records làm relationship vô nghĩa.
QA trước khi tạo quan hệ.
Dấu vết cần giữ: ghi tên project, dataset, source path/geodatabase, số bản ghi hoặc số feature, schema/spatial reference và mục đích của output. Người khác phải phân biệt được raw source, master data và derived output.
13. Quan hệ thửa–công trình
Một thửa có thể nhiều công trình; một công trình có thể cần lịch sử thay đổi riêng.
Không copy field công trình vào thửa nếu quan hệ nhiều.
Liên hệ BĐS: trước khi thao tác, ghi rõ lớp này đại diện cho thửa đất, công trình, chủ thể, hồ sơ, tin rao, giao dịch, đường, tiện ích hay dữ liệu khảo sát. Cùng một tên gần giống nhau nhưng đơn vị quan sát, nguồn và thời điểm có thể khác hoàn toàn.
14. Quan hệ hồ sơ–tệp đính kèm
Attachments dùng relationship đặc biệt do hệ thống tạo khi enable attachments.
Bài 16.
Điểm kiểm ArcGIS Pro: quan sát Catalog, Contents, Source Properties và metadata của dataset. Nhiều lỗi tưởng là geoprocessing không chạy thực chất bắt đầu từ nhầm workspace, nhầm layer, field sai kiểu hoặc spatial reference không đúng.
15. Performance và schema
Relationship giúp tổ chức nhưng không thay thiết kế index/query phù hợp.
Dự án lớn vẫn cần tối ưu.
Dấu vết cần giữ: ghi tên project, dataset, source path/geodatabase, số bản ghi hoặc số feature, schema/spatial reference và mục đích của output. Người khác phải phân biệt được raw source, master data và derived output.
16. Export/CSV không giữ relationship class
Nếu bàn giao ra CSV/shapefile, chỉ còn keys/dữ liệu; behavior quan hệ không đi theo như GDB.
Cần documentation.
Liên hệ BĐS: trước khi thao tác, ghi rõ lớp này đại diện cho thửa đất, công trình, chủ thể, hồ sơ, tin rao, giao dịch, đường, tiện ích hay dữ liệu khảo sát. Cùng một tên gần giống nhau nhưng đơn vị quan sát, nguồn và thời điểm có thể khác hoàn toàn.
17. Kiểm bằng navigation
Chọn một origin và mở Related Data để xác nhận số destination đúng.
Kiểm cả case 0,1,n.
Điểm kiểm ArcGIS Pro: quan sát Catalog, Contents, Source Properties và metadata của dataset. Nhiều lỗi tưởng là geoprocessing không chạy thực chất bắt đầu từ nhầm workspace, nhầm layer, field sai kiểu hoặc spatial reference không đúng.
18. Kết luận
Relationship Class biến geodatabase từ các bảng rời thành mô hình dữ liệu liên kết.
Cardinality đúng quan trọng hơn thao tác tạo tool.
Dấu vết cần giữ: ghi tên project, dataset, source path/geodatabase, số bản ghi hoặc số feature, schema/spatial reference và mục đích của output. Người khác phải phân biệt được raw source, master data và derived output.
Thao tác/công cụ trọng tâm
Create Relationship Class; kiểm key/cardinality trước, sau đó thử Related Data/relationship navigation.
Trong lớp học nên dùng dữ liệu thử nghiệm hoặc bản sao trước. Sau mỗi thao tác thay schema, metadata hoặc geometry, hãy mở lại Source Properties, kiểm số bản ghi và so ít nhất một vài đối tượng mẫu thay vì chỉ nhìn bản đồ.
Tình huống thực hành BĐS
Một file cũ lặp tên chủ thể và số giấy tờ trong mỗi polygon thửa. Nhóm tách `ThuaDat`, `ChuThe`, `Thua_ChuThe` và dùng relationship để lưu nhiều–nhiều cùng `vai_tro`/`ty_le` ở bảng liên kết.
Điểm chấm của tình huống không nằm ở việc bấm được công cụ mà ở khả năng giải thích: đầu vào là gì, ArcGIS Pro đã thay đổi điều gì, output nằm ở đâu, metadata nào đổi và rủi ro nào còn tồn tại.
Ma trận quyết định nhanh
| Khái niệm/tình huống | Vai trò | Mục đích | Điểm phải kiểm |
|---|---|---|---|
| Join | Ghép fields | Phân tích tạm | Có thể nhân dòng |
| Relate | Liên kết layer/table | Navigation tạm | Project-level |
| Relationship Class | Schema GDB | Persistent relation | Cardinality |
| Attributed RC | Quan hệ có thuộc tính | M:N/extra fields | Bảng quan hệ |
| Composite | Dependency mạnh | Lifecycle | Dùng cẩn trọng |
Quy trình thao tác chuẩn tại lớp
- Mở đúng project và kiểm tên/version.
- Xác định active Map/Scene và workspace/geodatabase đang dùng.
- Mở Catalog Pane và Contents Pane.
- Kiểm Source Properties của lớp/bảng trước khi chỉnh.
- Ghi số feature/row và các field trọng yếu.
- Tạo bản sao thử nghiệm nếu thao tác thay schema/metadata/geometry.
- Thực hiện công cụ hoặc chỉnh cấu trúc của bài.
- Kiểm Messages/History của geoprocessing nếu có.
- Mở lại output và kiểm source/schema/spatial reference.
- So một vài records/features trước–sau.
- Lưu project và output đúng thư mục/GDB.
- Cập nhật nhật ký workflow và limitation.
Bài thực hành
Thiết kế một relationship 1:M và một M:N cho mô hình thửa–chủ thể–hồ sơ, rồi kiểm Related Data.
Sản phẩm sinh viên phải nộp
- ER diagram
- Key table
- Relationship Class screenshots
- Cardinality tests
- Orphan QA
Những lỗi thường gặp
- Dùng ObjectID làm khóa lâu dài
- Chọn sai cardinality
- Nhét thuộc tính quan hệ vào entity
- Join thay relationship lâu dài
- Composite không hiểu hậu quả
- Orphan foreign keys
- Export rồi tưởng relationship còn
- Tên hướng quan hệ khó hiểu
Lỗi 1 – Dùng ObjectID làm khóa lâu dài: tạo một tình huống before–after. Ghi rõ lỗi làm schema, vị trí, quan hệ hoặc kết quả phân tích sai như thế nào; sau khi sửa phải kiểm lại Source/Catalog/Contents và lưu bằng chứng.
Lỗi 2 – Chọn sai cardinality: tạo một tình huống before–after. Ghi rõ lỗi làm schema, vị trí, quan hệ hoặc kết quả phân tích sai như thế nào; sau khi sửa phải kiểm lại Source/Catalog/Contents và lưu bằng chứng.
Lỗi 3 – Nhét thuộc tính quan hệ vào entity: tạo một tình huống before–after. Ghi rõ lỗi làm schema, vị trí, quan hệ hoặc kết quả phân tích sai như thế nào; sau khi sửa phải kiểm lại Source/Catalog/Contents và lưu bằng chứng.
Lỗi 4 – Join thay relationship lâu dài: tạo một tình huống before–after. Ghi rõ lỗi làm schema, vị trí, quan hệ hoặc kết quả phân tích sai như thế nào; sau khi sửa phải kiểm lại Source/Catalog/Contents và lưu bằng chứng.
Lỗi 5 – Composite không hiểu hậu quả: tạo một tình huống before–after. Ghi rõ lỗi làm schema, vị trí, quan hệ hoặc kết quả phân tích sai như thế nào; sau khi sửa phải kiểm lại Source/Catalog/Contents và lưu bằng chứng.
Lỗi 6 – Orphan foreign keys: tạo một tình huống before–after. Ghi rõ lỗi làm schema, vị trí, quan hệ hoặc kết quả phân tích sai như thế nào; sau khi sửa phải kiểm lại Source/Catalog/Contents và lưu bằng chứng.
Phản biện chéo 5 phút
Nhóm A mở geodatabase của nhóm B mà không hỏi hướng dẫn. Trong 5 phút phải xác định dataset nào là master, field nào là key, domain/subtype/relationship/attachments nào đang được dùng và schema có đủ để hiểu nghiệp vụ BĐS hay không. Nếu không xác định được, nhóm B phải sửa tên, alias, metadata hoặc data dictionary.
Checklist QA trước khi kết thúc bài
- Đúng project và đúng workspace.
- Source dataset/path đã kiểm.
- Số row/feature trước–sau hợp lý.
- Field/schema/spatial reference được ghi.
- Không thao tác nhầm raw/source nếu chỉ cần output dẫn xuất.
- Tên output thể hiện được nội dung/version.
- Metadata/alias/domain/subtype/relationship còn đúng sau export/import nếu có.
- Map hiển thị đúng nhưng cũng đã kiểm Source Properties.
- Project save thành công và mở lại không broken.
- Có ảnh/bảng chứng minh kết quả.
- Có limitation nếu nguồn/tham số chưa chắc chắn.
- Có data dictionary/CRS inventory cập nhật.
Ghi nhớ trong 30 giây
- Relationship Class là schema persistent
- Cardinality phải đúng nghiệp vụ
- Key cần ổn định
- Join/Relate khác Relationship Class
- M:N thường cần relation attributes
Nguồn tham khảo
Nguồn kỹ thuật chính là tài liệu chính thức Esri ArcGIS Pro 3.6. Tài liệu nội bộ môn Hệ thống thông tin BĐS/Lab GIS được dùng để giữ ngữ cảnh ứng dụng BĐS; chi tiết hành vi phần mềm ưu tiên tài liệu Esri hiện hành.
- https://pro.arcgis.com/en/pro-app/3.6/sdk/api-reference/conceptdocs/docs/ProConcepts-Geodatabase.html
- https://pro.arcgis.com/en/pro-app/3.6/sdk/api-reference/topic7579.html
Bài tiếp theo
Attachments: gắn ảnh khảo sát và tài liệu vào đối tượng không gian.
Bài luyện tập mở rộng
Luyện tập 1
Thiết kế 1:M thửa–hồ sơ.
Yêu cầu: nộp ảnh hoặc bảng kiểm, ghi rõ source, thao tác, output, một lỗi có thể xảy ra và cách xác minh. Không chỉ nộp screenshot bản đồ cuối cùng.
Luyện tập 2
Thiết kế M:N thửa–chủ thể.
Yêu cầu: nộp ảnh hoặc bảng kiểm, ghi rõ source, thao tác, output, một lỗi có thể xảy ra và cách xác minh. Không chỉ nộp screenshot bản đồ cuối cùng.
Luyện tập 3
Tạo orphan record rồi phát hiện.
Yêu cầu: nộp ảnh hoặc bảng kiểm, ghi rõ source, thao tác, output, một lỗi có thể xảy ra và cách xác minh. Không chỉ nộp screenshot bản đồ cuối cùng.
Luyện tập 4
So Join vs Relationship.
Yêu cầu: nộp ảnh hoặc bảng kiểm, ghi rõ source, thao tác, output, một lỗi có thể xảy ra và cách xác minh. Không chỉ nộp screenshot bản đồ cuối cùng.
Tình huống dữ liệu nâng cao
Cho một geodatabase dự án gồm polygon thửa đất, polygon công trình, table chủ thể, table hồ sơ và folder ảnh khảo sát. Sinh viên phải thiết kế lại schema để giảm lặp dữ liệu: chọn field types, domain, subtype nếu phù hợp, relationship classes và attachment strategy. Sau đó giải thích phần nào nên giữ trong GDB và phần nào chỉ là raw/exchange data.
Biên bản thực hành mẫu
| Mục | Trước thao tác | Sau thao tác | Kết luận |
|---|---|---|---|
| Project | Tên/version | Đã lưu | Đúng |
| Source | Path/GDB/item | Đã kiểm | Khớp |
| Schema/CRS | Giá trị trước | Giá trị sau | Có giải thích |
| Rows/Features | Số lượng trước | Số lượng sau | Hợp lý |
| Output | Vị trí dự kiến | Vị trí thật | Khớp |
| Reopen | Chưa thử | Mở lại project | Không broken |
Câu hỏi tự luận cuối bài
- Giải thích bằng ngôn ngữ nghiệp vụ BĐS vì sao chủ đề “Relationship Class: liên kết thửa đất, chủ thể, công trình và hồ sơ” quan trọng hơn việc chỉ nhớ vị trí nút bấm.
- Nêu một tình huống mà thao tác kỹ thuật đúng nhưng dữ liệu nguồn sai vẫn dẫn tới kết luận sai.
- Thiết kế một bước kiểm tra độc lập để phát hiện lỗi trước khi giao project cho người khác.
- Nêu phần thông tin bắt buộc phải ghi trong README/Data Dictionary/CRS Inventory của bài.