Коли це можливо, я базую стосунки на інших ключових сферах. Використання ObjectID раніше створювало проблеми для мене з точних причин, згаданих Ланс. У проектах, де дані, які передаються назад і назад між нашим сервером SDE і сервером клієнтів, використання ObjectID для відповідних таблиць означає, що необхідно виконувати різні махінації на таблицях, щоб підтримувати відносини.
Навіть якщо їх планувати переміщення даних не планується, я все одно вважаю за краще використовувати інше поле для ключів. Мій досвід полягає в тому, що клієнти зазвичай не повністю розуміють наслідки своїх дій на базі даних ГІС і часто ламають речі, не усвідомлюючи цього. У мене були випадки, коли клієнти переміщують дані способами, що змінюють ObjectID. Мої проекти, як правило, включають певний спеціальний код, який слід використовувати разом із базою даних, і мені не подобається, щоб клієнти розуміли систему, щоб запобігти збоям. Отже, я вважаю за краще використовувати інші поля для первинних ключів та для відносин, поля, якими я можу керувати.