Relacje z SQL Server w ArcSDE?


9

Korzystam z ArcSDE 10 z SQL Server 2008 R2 Standard Edition. Jestem nowy w SDE i SQL Server, ale rozumiem, że SQL Server ma możliwość tworzenia relacji między tabelami i utrzymywania pewnych reguł integralności referencyjnej.

ArcGIS ma klasy relacji, które działają podobnie, ale klasa relacji nie ma wszystkich cech relacji SQL i nie powoduje relacji SQL w bazie danych ArcSDE.

Czy można tworzyć klasy relacji w ArcGIS dla bazy danych ArcSDE i tworzyć relacje dla tych samych tabel w SQL Server? W ten sposób będę mógł wykorzystać te relacje bez względu na to, czy pracuję z danymi w ArcGIS, czy w SQL Server Management Studio. Czy dwa typy relacji będą ze sobą kolidować, czy w inny sposób wpłyną na wydajność?


To tylko przypuszczenie (dlatego nie jest to odpowiedź), ale założę się, że dodanie relacji może spowodować pewne konflikty, chyba że będziesz bardzo ostrożny. Ważna uwaga: jeśli wersjonujesz swoje tabele, nie chcesz czytać ich od strony SQL, tylko od strony GIS. Czytanie od strony SQL pokazuje tylko najstarszą wersję danych (a nie zmiany, które stanowią wersje).
— Michael Todd,

@MichaelTodd - Dziękujemy za odpowiedź. Słyszałem o problemach z dostępem do wersjonowanych danych przez SQL Server. Jednak słyszałem również, że jest to możliwe przy użyciu widoków w wielu wersjach. Nadal jestem nowicjuszem w tych sprawach, więc nie jestem do końca pewien, co to znaczy, ale moje wynos jest taki, że jest to możliwe. Po prostu stwierdzam, że jeśli chodzi o zarządzanie danymi w ArcSDE, ArcGIS jest najsłabszym ogniwem.
— Brian

1
Tak, widok wielu wersji działa, ale jest znacznie wolniejszy. Przeszliśmy z zapytań poniżej 1 sekundy na zapytania 4-sekundowe, kiedy przeszliśmy na MVV (co nie brzmi zbyt wiele, ale opóźnienie było bardzo zauważalne zarówno wewnętrznie, jak i dla klientów zewnętrznych).
— Michael Todd,

Odpowiedzi:


7

SDE i SQL nie są tak naprawdę przyjaciółmi. Nie współpracują bardzo dobrze. SDE używa SQL, ale nie wykorzystuje wszystkich swoich natywnych możliwości. Relacja skonfigurowana w sde nie jest odzwierciedlana w SQL. Edycja tabel klas funkcji zarządzanych przez SDE, modyfikowanie schematów tabel poza katalogiem, a także wykonywanie wielu innych czynności, spowoduje SDE. Biorąc pod uwagę tę historię, pozostawiłbym relacje SDE, jeśli próbujesz powiązać informacje o klasie elementów. Jeśli używasz zwykłych tabel, wytnij sde out i użyj natywnego kodu SQL.

Nie ma na to żadnych odniesień poza moimi własnymi doświadczeniami. Jeśli są to materiały pozyskane z zewnątrz, należy to zakwestionować lub usunąć.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.