什么时候可以安全使用ObjectID作为关系类中的键?


14

在定义关系类时,我总是避免使用ObjectID。据我了解,地理数据库上的某些操作将重新设置objectID(例如导入/导出)。但是我确实看到很多人在使用它们。

我是否只是偏执狂,还是在定义关系类时可以安全使用ObjectID的情况?

Answers:


16

ObjectID仅通过复制/粘贴来维护。没有导入或导出工具可以维护它们。通常不建议在关系类中使用用户ObjectID。如果所有数据都是真正的静态数据,则可以正常工作,但是在导入或导出数据时始终会存在风险。


4

只要有可能,我都会基于其他关键字段建立关系。过去,由于Lance提到的确切原因,使用ObjectID给我带来了问题。在项目中,在我们的SDE服务器和客户端服务器之间来回传输数据时,使用ObjectID关联表意味着必须对表执行各种更改以维护关系。

即使他们没有计划移动数据,我还是更喜欢使用其他字段作为键。我的经验是,客户通常不完全了解他们的操作对GIS数据库的影响,并且经常在没有意识到的情况下破坏工作。我曾经遇到过这样的情况:客户端以改变ObjectID的方式来回移动数据。我的项目通常包含一些与数据库一起使用的自定义代码,而且我不喜欢依靠客户对系统的理解来防止故障。因此,我更喜欢将其他字段用于主键和关系(我可以控制的字段)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.