Коли безпечно використовувати ObjectIDs як ключі у класі відносин?


14

Я завжди уникав використовувати ObjectID під час визначення класів відносин. Наскільки я розумію, що деякі дії на базі даних геоданих відновлять об'єктиID (наприклад, імпорт / експорт). Однак я бачу багато людей, які ними користуються.

Я просто параноїк, чи є випадки, коли безпечно використовувати ObjectID, коли визначають клас відносин?

Відповіді:


16

ObjectID підтримуються лише Copy / Paste. Жоден інструмент імпорту чи експорту не підтримує їх. Зазвичай не рекомендується користувачеві ObjectID в класах відносин. Якщо всі ваші дані справді статичні, це повинно працювати нормально, але при імпорті чи експорті даних завжди буде ризик.


4

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

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.