Khi nào an toàn để sử dụng ObjectID làm khóa trong lớp quan hệ?


14

Tôi luôn tránh sử dụng ObjectID khi xác định các lớp quan hệ. Theo hiểu biết của tôi, một số hành động trên cơ sở dữ liệu địa lý sẽ đặt lại các ID đối tượng (như nhập / xuất). Tuy nhiên tôi thấy rất nhiều người sử dụng chúng.

Có phải tôi chỉ bị hoang tưởng, hoặc có trường hợp nào an toàn khi sử dụng ObjectID khi xác định lớp quan hệ không?

Câu trả lời:


16

ObjectID chỉ được duy trì bởi Copy / Paste. Không có công cụ nhập khẩu hoặc xuất khẩu duy trì chúng. Nó thường không được khuyến nghị cho người dùng ObjectID trong các lớp quan hệ. Nếu tất cả dữ liệu của bạn thực sự tĩnh, nó sẽ hoạt động tốt, nhưng sẽ luôn có rủi ro khi bạn nhập hoặc xuất dữ liệu.


4

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.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.