Field và kiểu dữ liệu: thiết kế bảng thuộc tính BĐS ngay từ đầu là Bài 12 của chuyên đề ArcGIS Pro trong phân tích không gian BĐS. Thiết kế field cho dữ liệu BĐS trong geodatabase: tên, alias, kiểu số/text/date, nullability, default và quy tắc chọn kiểu để tránh mất mã, sai đơn vị và lỗi phân tích.
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. Field là hợp đồng dữ liệu
Mỗi field phải có tên kỹ thuật, alias, kiểu dữ liệu, đơn vị, miền giá trị và ý nghĩa nghiệp vụ.
Không tạo cột theo cảm tính rồi giải thích sau.
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. Mã định danh thường nên là Text khi không dùng để tính
Số thửa, mã hồ sơ, mã dự án có thể có số 0 đầu hoặc ký tự.
Dùng integer có thể làm mất định dạng và tạo ngộ nhận có thứ tự.
Đ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. Short/Long/Big Integer dùng cho số nguyên thật
Số tầng, số phòng hoặc mã subtype có thể dùng integer phù hợp.
Không dùng integer cho giá tiền có phần thập phâ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. Float và Double dùng số thực
Diện tích, tọa độ, khoảng cách, đơn giá thường cần Double để đủ độ chính xác.
Không chọn Float chỉ vì tên ngắn.
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. Text cần length hợp lý
Tên đường, ghi chú, mã pháp lý cần Text với độ dài đủ nhưng không vô hạn.
Schema quá dài gây khó quản trị.
Đ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. Date và kiểu thời gian mới
ArcGIS Pro/geodatabase hiện hỗ trợ Date và, tùy datastore, các kiểu như Date Only, Time Only, Timestamp Offset.
Chọn theo đúng ý nghĩa dữ liệu, không lưu ngày dưới dạng text nếu cần lọc/tính.
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. Field Alias giúp giao diện thân thiện
Tên kỹ thuật có thể `gia_rao_trieu`, alias là `Giá rao (triệu đồng)`.
Alias không thay tên field trong mọi công cụ.
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. Null và 0 khác nhau
0 m² khác chưa biết diện tích; 0 đồng khác không có giá.
Field nullable và missing policy phải thống nhất.
Đ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. Default value giúp nhập liệu nhưng không thay validation
Có thể đặt trạng thái mặc định hoặc nguồn mặc định.
Không để default che lỗi khi người nhập quên chọ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.
10. Precision/Scale cần hiểu theo workspace
Trong file geodatabase, precision/scale numeric không được dùng như cơ chế ràng buộc theo cách nhiều CSDL quan hệ áp dụng; tài liệu Esri lưu ý các giá trị này có thể bị bỏ qua.
Đừng dựa vào chúng để kiểm giá.
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. Đơn vị nên thể hiện ở schema
`dien_tich_m2`, `gia_trieu`, `kc_metro_m` giúp giảm nhầm đơn vị.
Không chỉ ghi đơn vị trong trí nhớ người tạo.
Đ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. Tách mã và mô tả
`loai_bds_code` có thể dùng domain, còn tên hiển thị từ domain/alias.
Không lưu cùng lúc nhiều cột mô tả không đồng bộ.
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. Field hệ thống không sửa tùy tiện
ObjectID, Shape, Shape_Length/Area hoặc GlobalID có vai trò hệ thống tùy dataset.
Không dùng OID làm khóa ổn định qua export/import.
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. GlobalID/GUID cho quan hệ và đồng bộ
Khi workflow cần ID toàn cục, geodatabase hỗ trợ GUID/GlobalID mà shapefile không hỗ trợ.
Bài 15–16 sẽ liên hệ relationship/attachments.
Đ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. Tránh field 'đa nghĩa'
Một cột `gia` không nên lúc là giá rao, lúc là giá giao dịch, lúc là giá thuê.
Tách theo khái niệm.
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. Data dictionary đi cùng schema
Mỗi field có description, source, unit, valid values, nullable, owner và update rule.
Đây là tài liệu bàn giao quan trọng.
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. Schema thay đổi có chi phí
Đổi field type sau khi đã có dữ liệu có thể cần tạo field mới, calculate và QA.
Thiết kế đúng ngay từ đầu tiết kiệm hơ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 nối sang Domain
Sau khi field đúng kiểu, domain có thể giới hạn danh mục/range.
Bài 13 biến schema thành quy tắc nhập liệ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.
Thao tác/công cụ trọng tâm
Fields View để thiết kế field; Add Field/Calculate Field dùng có kiểm soát và luôn ghi Data Dictionary.
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
Lớp tin BĐS ban đầu lưu `gia='3.5 tỷ'`, `dien_tich='80m2'`, `ngay='02/10/26'` dưới Text. Nhóm thiết kế lại thành numeric/date fields và giữ text gốc ở raw để truy vế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 |
|---|---|---|---|
| ID/mã | Text/GUID | Giữ định dạng | Không dùng để tính |
| Số lượng | Integer | Tầng/phòng | Không decimal |
| Đo lường | Double | Giá/diện tích/khoảng cách | Có đơn vị |
| Ngày | Date family | Lọc/tính thời gian | Không text |
| Danh mục | Integer/Text + Domain | Loại/trạng thái | Bài 13 |
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ế 20 field cho lớp BĐS và lập Data Dictionary đầy đủ kiểu, alias, unit, null/default và ví dụ giá trị.
Sản phẩm sinh viên phải nộp
- Fields View
- Data Dictionary
- 5 field rules
- Before–after schema
- QA notes
Những lỗi thường gặp
- Mã hồ sơ dùng integer làm mất 0 đầu
- Giá lưu Text
- 0 thay Null
- Không ghi đơn vị
- Field đa nghĩa
- Dùng OID làm khóa lâu dài
- Alias và field name bị nhầm
- Đổi schema không version
Lỗi 1 – Mã hồ sơ dùng integer làm mất 0 đầu: 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 – Giá lưu Text: 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 – 0 thay Null: 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 – Không ghi đơn vị: 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 – Field đa nghĩa: 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 – Dùng OID 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.
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
- Field type phải theo ý nghĩa
- Mã không tính toán thường là Text
- Null khác 0
- Alias giúp đọc nhưng không thay schema
- Data Dictionary là bắt buộc
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/conceptdocs/docs/ProConcepts-DDL.html
Bài tiếp theo
Domain: khóa danh mục loại đất, loại BĐS và trạng thái nhập liệu.
Bài luyện tập mở rộng
Luyện tập 1
Thiết kế schema tin rao.
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
Chuyển text date/price sang typed fields trên bản sao.
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
So ObjectID/GlobalID/GUID.
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
Tạo field naming convention.
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ủ đề “Field và kiểu dữ liệu: thiết kế bảng thuộc tính BĐS ngay từ đầu” 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.