Поскольку не рекомендуется использовать ObjectID в качестве первичных ключей в отношениях, необходимо использовать другой столбец. Можно ли использовать последовательности СУБД для заполнения столбцов первичного ключа в версионных классах объектов, или мне потребуется написать код arcobjects для этого?
Я слышал, что можно использовать глобальные идентификаторы , но не связанные с ГИС администраторы баз данных часто осуждают эту идею.
enterprise-geodatabase
esri-geodatabase
database-design
Кирк Куйкендалл
источник
источник
Ответы:
Да, это возможно - с несколькими оговорками.
Вы можете сделать это с помощью триггеров - но реализация будет зависеть от СУБД (поскольку вам придется реализовать другой триггер AFTER INSERT, используя базовый (специфический) механизм базы данных.
Вы не сможете указать какое-либо ограничение UNIQUE для этого поля, так как вставки и базовые таблицы могут содержать дублирующиеся записи для каждой изменяемой строки (именно так моделируются обновления в версионных базах данных). Если вы допустите ошибку, сделав это на базовой таблице, вы в конечном итоге поймете это, когда ваши операции сжатия начнут давать сбой ...
источник