Relazioni di SQL Server in ArcSDE?


9

Sto eseguendo ArcSDE 10 con SQL Server 2008 R2 Standard Edition. Sono nuovo di SDE e SQL Server, ma capisco che SQL Server ha la capacità di creare relazioni tra tabelle e mantenere determinate regole di integrità referenziale.

ArcGIS ha classi di relazione che agiscono in modo simile, ma una classe di relazione non ha tutte le caratteristiche delle relazioni SQL e non genera una relazione SQL nel database ArcSDE.

È possibile creare classi di relazione in ArcGIS per un database ArcSDE e creare relazioni per le stesse tabelle in SQL Server? In questo modo, sarò in grado di utilizzare queste relazioni sia che sto lavorando con i dati in ArcGIS o in SQL Server Management Studio. I due tipi di relazioni entreranno in conflitto tra loro o ostacoleranno in altro modo le prestazioni?


Questa è solo un'ipotesi (motivo per cui non è una risposta) ma scommetterei che l'aggiunta di relazioni potrebbe causare alcuni conflitti a meno che tu non sia molto attento. In una nota a margine importante, se si esegue il controllo delle versioni delle tabelle, non si desidera leggerle dal lato SQL, ma solo dal lato GIS. La lettura dal lato SQL mostra solo la versione più vecchia dei dati (e non le modifiche apportate che costituiscono le versioni).
Michael Todd,

@MichaelTodd - Grazie per la tua risposta. Ho sentito parlare dei problemi con l'accesso ai dati con versione tramite SQL Server. Tuttavia, ho anche sentito che questo è possibile utilizzando viste multi-versione. Sono ancora un principiante con questa roba, quindi non sono esattamente sicuro di cosa significhi, ma il mio takeaway è che è possibile. Sto solo scoprendo che quando si tratta di gestione dei dati in ArcSDE, ArcGIS è il collegamento più debole.
Brian,

1
Sì, funziona una vista multi-versione, ma è molto più lenta. Siamo passati da query sub di 1 secondo a query di 4 secondi quando siamo passati a MVV (che non suona molto ma il ritardo era molto evidente sia internamente che ai clienti esterni).
Michael Todd,

Risposte:


7

SDE e SQL non sono davvero amici. Non collaborano molto bene. SDE utilizza sql ma non sfrutta tutte le sue capacità native. Una relazione impostata in sde non si riflette in SQL. La modifica delle tabelle delle classi di funzionalità gestite da SDE, la modifica dello schema delle tabelle al di fuori del catalogo, oltre a fare molte altre cose, consentirà di utilizzare SDE. Dato questo track record, lascerei le relazioni fino a SDE se stai cercando di mettere in relazione le informazioni sulla classe di funzionalità. Se si utilizzano tabelle regolari, tagliare sde e utilizzare sql nativo.

Non ci sono riferimenti per questo oltre alle mie esperienze personali. Se si tratta di materiali non forniti, contestare o eliminare questo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.