ArcSDE中的SQL Server关系?


9

我正在使用SQL Server 2008 R2 Standard Edition运行ArcSDE 10。我是SDE和SQL Server的新手,但我了解SQL Server能够在表之间创建关系并维护某些参照完整性规则。

ArcGIS的关系类的行为类似,但是关系类不具有SQL关系的所有功能,并且不会在ArcSDE数据库中导致SQL关系。

是否可以在ArcGIS for ArcSDE数据库中创建关系类并在SQL Server中为同一表创建关系?这样,无论我是在ArcGIS中还是在SQL Server Management Studio中处理数据,我都将能够利用这些关系。两种类型的关系会相互冲突还是会阻碍绩效?


这只是一个猜测(这就是为什么它不是答案),但是我敢打赌,除非非常小心,否则添加关系可能会导致一些冲突。重要的一点是,如果要对表进行版本控制,则不想从SQL端读取它们,而只希望从GIS端读取它们。从SQL端读取仅显示数据的最旧版本(而不显示构成版本的已进行的更改)。
Michael Todd

@MichaelTodd-感谢您的回复。我听说过通过SQL Server访问版本化数据的问题。但是,我也听说使用多版本视图是可能的。我仍然是这个东西的新手,所以我不确定这意味着什么,但是我的收获是有可能。我发现在ArcSDE中进行数据管理时,ArcGIS是最薄弱的环节。
布莱恩(Brian)

1
是的,可以使用多版本视图,但是速度要慢得多。当我们切换到MVV时,我们从不到1秒的查询过渡到了4秒的查询(听起来并不多,但是内部和外部客户的延迟都非常明显)。
迈克尔·托德

Answers:


7

SDE和SQL并不是真正的朋友。他们合作不太好。SDE使用sql,但没有利用其所有本机功能。在sde中设置的关系不会反映在SQL中。编辑由SDE管理的要素类表,修改表模式在目录之外以及进行许多其他操作,都将对SDE有利。给定此跟踪记录,如果您要关联要素类信息,我将把关系交给SDE。如果您使用常规表,请切出sde并使用本机sql。

除了我自己的经历,没有其他参考资料。如果那是未采购的材料,则对此提出异议或删除。

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.