Bất cứ khi nào có thể tôi dựa trên các mối quan hệ trên các lĩnh vực quan trọng khác. Sử dụng ObjectID đã đưa ra các vấn đề cho tôi trong quá khứ vì những lý do chính xác được đề cập bởi Lance. Trong các dự án nơi dữ liệu được truyền qua lại giữa máy chủ SDE của chúng tôi và máy chủ của khách hàng, sử dụng ObjectID cho các bảng có liên quan có nghĩa là phải thực hiện nhiều thao tác khác nhau trên các bảng để duy trì mối quan hệ.
Ngay cả khi chúng không có kế hoạch di chuyển dữ liệu, tôi vẫn thích sử dụng một trường khác cho các khóa. Kinh nghiệm của tôi là khách hàng thường không hiểu đầy đủ ý nghĩa của hành động của họ đối với cơ sở dữ liệu GIS và thường phá vỡ mọi thứ mà không nhận ra điều đó. Tôi đã có trường hợp khách hàng di chuyển dữ liệu xung quanh theo cách thay đổi ObjectID. Các dự án của tôi thường liên quan đến một số mã tùy chỉnh đi cùng với cơ sở dữ liệu và tôi không muốn dựa vào sự hiểu biết của khách hàng về hệ thống để ngăn ngừa lỗi. Vì vậy, tôi rất thích sử dụng các trường khác cho các khóa chính và cho các mối quan hệ, các trường mà tôi có thể kiểm soát.