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ść?
Odpowiedzi:
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ąć.
źródło