Bir ilişki sınıfında ObjectID'leri anahtar olarak kullanmak ne zaman güvenlidir?


14

İlişki sınıflarını tanımlarken her zaman ObjectID'leri kullanmaktan kaçındım. Coğrafi veritabanındaki bazı eylemlerin objectID'leri (içe aktarma / dışa aktarma gibi) yeniden ayarlayacağını anlıyorum. Ancak onları kullanan birçok insan görüyorum.

Sadece paranoyak mıyım yoksa bir ilişki sınıfı tanımlarken ObjectID'leri kullanmanın güvenli olduğu durumlar var mı?

Yanıtlar:


16

ObjectID'ler yalnızca Kopyala / Yapıştır ile korunur. Hiçbir ithalat veya ihracat aracı bunları korumaz. İlişki sınıflarındaki kullanıcı ObjectID'leri genellikle önerilmez. Tüm verileriniz gerçekten statikse, düzgün çalışmalıdır, ancak verileri içe veya dışa aktarırken her zaman bir risk olacaktır.


4

Mümkün olduğunda ilişkileri diğer anahtar alanlara dayandırırım. ObjectID kullanmak, geçmişte Lance'in bahsettiği nedenler için bana problemler sundu. SDE sunucumuz ile bir istemci sunucusu arasında ileri geri aktarılan verilerin, ilişkili tablolar için ObjectID kullanılması, ilişkileri sürdürmek için tablolarda çeşitli işlemlerin gerçekleştirilmesi gerektiği anlamına gelir.

Verileri taşımak için bir plan olmasa bile, yine de tuşlar için farklı bir alan kullanmayı tercih ederim. Deneyimlerim, müşterilerin genellikle eylemlerinin CBS veritabanları üzerindeki etkilerini tam olarak anlamaması ve çoğu zaman farkında olmadan şeyleri kırmasıdır. İstemcilerin verileri ObjectID'yi değiştirecek şekilde hareket ettirdiği durumlar yaşadım. Projelerim genellikle veritabanıyla birlikte gitmek için bazı özel kodlar içerir ve istemcilerin hataları önlemek için sistemi anlamalarına güvenmekten hoşlanmam. Bu nedenle, birincil anahtarlar ve ilişkiler için kontrol edebileceğim alanlar için diğer alanları kullanmayı tercih ederim.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.