ArcSDEでのSQL Serverの関係


9

SQL Server 2008 R2 Standard EditionでArcSDE 10を実行しています。SDEとSQL Serverは初めてですが、SQL Serverにはテーブル間の関係を作成し、特定の参照整合性ルールを維持する機能があることを理解しています。

ArcGISには同様に機能するリレーションシップクラスがありますが、リレーションシップクラスにはSQLリレーションシップのすべての機能があり、ArcSDEデータベースでSQLリレーションシップが発生するわけではありません。

ArcGISでArcSDEデータベースのリレーションシップクラスを作成し、SQL Serverの同じテーブルのリレーションシップを作成することはできますか?そうすることで、ArcGISとSQL Server Management Studioのどちらでデータを操作していても、これらの関係を利用できます。2つのタイプの関係が互いに競合したり、パフォーマンスを妨げたりしませんか?


これは単なる推測です(そのため、答えにはなりません)が、関係を追加すると、特に注意しない限り、競合が発生する可能性があります。重要な注意点として、テーブルのバージョン管理を行っている場合、SQL側からではなく、GIS側からのみテーブルを読み取る必要があります。SQL側から読み取ると、データの最も古いバージョンのみが表示されます(バージョンを構成するために行われた変更は表示されません)。
マイケルトッド

@MichaelTodd-ご回答ありがとうございます。SQL Serverを介してバージョン管理されたデータにアクセスする際の問題について聞いたことがあります。ただし、これはマルチバージョン対応ビューを使用して可能であるとも聞いています。私はまだこのようなものの初心者なので、それが何を意味するのか正確にはわかりませんが、私の持ち帰りはそれが可能であるということです。ArcSDEでのデータ管理に関しては、ArcGISが最も弱いリンクであることがわかりました。
ブライアン、

1
はい、マルチバージョンのビューは機能しますが、非常に遅くなります。MVVに切り替えたときに、1秒未満のクエリから4秒のクエリに変更しました(あまり聞こえませんが、ラグは内部および外部の顧客にとって非常に顕著でした)。
マイケル・トッド

回答:


7

SDEとSQLはあまり友好的ではありません。彼らはあまり協力していません。SDEはsqlを使用しますが、そのすべてのネイティブ機能を利用しません。sdeで設定された関係はSQLに反映されません。SDEが管理するフィーチャクラステーブルを編集したり、カタログ外のテーブルスキーマを変更したり、その他多くのことを行うと、SDEがポークされます。この実績があれば、フィーチャクラス情報を関連付けようとする場合は、SDEに任せます。通常のテーブルを使用している場合は、sdeを切り取り、ネイティブSQLを使用します。

私自身の経験以外、これについての言及はありません。それが出典不明の資料である場合は、異議を申し立てるか削除してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.