O ile to możliwe, relacje opieram na innych kluczowych polach. Używanie ObjectID sprawiało mi problemy w przeszłości z dokładnych powodów wymienionych przez Lance'a. W projektach, w których dane są przesyłane tam iz powrotem między naszym serwerem SDE a serwerem klienta, użycie ObjectID do powiązania tabel oznacza konieczność wykonywania różnych operacji na tabelach w celu utrzymania relacji.
Nawet jeśli nie planują przenoszenia danych, nadal wolę używać innego pola dla kluczy. Z mojego doświadczenia wynika, że klienci zwykle nie do końca rozumieją konsekwencje swoich działań dla baz danych GIS i często psują rzeczy, nie zdając sobie z tego sprawy. Miałem przypadki, w których klienci przenoszą dane w sposób, który zmienia ObjectID. Moje projekty zazwyczaj wymagają niestandardowego kodu, który jest zgodny z bazą danych, i nie lubię polegać na zrozumieniu systemu przez klientów, aby zapobiec awariom. Dlatego wolę używać innych pól dla kluczy podstawowych i relacji, pól, które mogę kontrolować.