1. 程式人生 > 其它 >arcmap工具文件-資料管理工具之2——關係類(relationship class)

arcmap工具文件-資料管理工具之2——關係類(relationship class)

2.關係類(Relationship Class)

關係類可以定義地理資料庫中物件之間的關係,關係包括一對一、一對多或多對多的關係。一旦建立關係,某要素、某行記錄或某張表的增刪查改可能會對所聯絡的其他要素、記錄、表造成影響。關係可用於優化地理資料庫的邏輯結構,建立複雜的空間實體的空間要素與非空間要素之間的聯絡,非空間要素與非空間要素之間的聯絡。

2.1 建立關係類(CreateRelationshipClass)

2.1.1 描述

該工具可建立用於儲存源與目標之間的聯絡的關係類。源與目標可以是空間物件(如要素類中的要素)和空間物件、空間物件和非空間物件(表中的某行屬性記錄)或非空間物件和非空間物件。需要注意,一旦建立關係類,就無法對其進行修改,只能新增、刪除或優化關係類的邏輯規則。刪除、重新命名等操作需使用ArcCatalog軟體。

2.1.2 引數說明
paramoptionaldestype
源表/origin_table false 與目標表相關聯的物件 Table View
目標表/destination_table false 與源表相關聯的物件 Table View
輸出關係類/out_relationship_class false 建立的關係類 RelationshipClass
關係型別/relationship_type true 要在物件間建立的關係型別: SIMPLE(default):獨立的物件之間的關係 COMPOSITE:互相依賴的物件之間的關係,在此關係中,一個物件的生存週期與另一物件之間的生存週期相關聯
String
前向路徑標註/forward_label false 用於從源物件確定目標物件的唯一標識 String
後向路徑標註/backward_label false 用於從目標物件確定源物件的唯一標識 String
訊息方向/message_direction true

訊息在源物件和目標物件之間的傳遞方向。如當大樓被拆除時,歸屬大樓的商鋪一併刪除。

--->FORWARD:訊息由源傳向目標。

--->BACKWARD:訊息由目標傳向源。

--->BOTH:訊息先由源到目標,再由目標到源。

--->NONE(default):不傳遞任何訊息。

String
基數/cardinality true

確定源的記錄和目標的記錄之間存在多少種關係。

--->ONE_TO_ONE(default):源中的每行可與目標中的零或一行相關聯。

--->ONE_TO_MANY:源中的每行可與目標中的一行或多行相關聯。

--->MANY_TO_MANY:源中多行可與目標中的一行或多行相關聯。

String
關係類已屬性化/attributed true 指定關係是否具有屬性。 --->NONE(default):指定關係類將不具有屬性。 --->ATTRIBUTED:指定關係類將具有屬性。 Boolean
源主鍵/origin_primary_key false 與關係類表中的源外來鍵欄位相關聯的源表中的欄位。 String
源外來鍵/origin_foreign_key false 與源表中的源主鍵欄位相關聯的關係類表中的欄位。 String
目標主鍵/destination_primary_key true 與關係類表中的目標外來鍵相關聯的目標表中的欄位。 String
目標外來鍵/destination_foreign_key true 與目標表中的目標主鍵相關聯的關係類表中的欄位。 String
2.1.3 arcpy介面

arcpy.CreateRelationshipClass_management()

2.2 遷移關係類(MigrateRelationshipClass)

2.2.1 描述

將基於ObjectID的關係類遷移到基於GlobalID的關係類。輸入關係類中輸入的源物件和目標物件都必須具有一個GlobalID欄位,同時,現有輸入關係類必須基於ObjectID。

2.2.2 引數說明
paramoptionaldestype
輸入關係類/in_relationship_calss false 基於ObjectID的關係類 Relationship Class
2.2.3 arcpy介面

arcpy.MigrateRelationshipClass_management()

2.3 錶轉關係類(Table to relationship class)

2.3.1 描述

從源表、目標表和關係表建立屬性關係類,在資料庫中建立一個包含關係表的所選屬性欄位的表,這些欄位用於儲存關係自身的屬性,不儲存源或目標物件的屬性。

2.3.2 引數說明

本工具除“關係表/relationship_table”和“屬性欄位/attribute fields”外其餘引數大多與2.1.2中的同名引數相對應,在此僅對六個引數引數進行說明,其餘引數不做贅述:

paramoptionaldestype
關係表/relationship_table false 包含將被新增到關係類的屬性的表 Table View
屬性欄位/attribute_fields false 包含將被新增到關係類的屬性值的欄位 Field/Array
源主鍵/origin_primary_key false 將用於建立關係的源表中的欄位 String
源外來鍵/origin_foreign_key false 關係表中引用源表中的主鍵欄位的外來鍵欄位 String
目標主鍵/destination_primary_key false 將用於建立關係的目標表中的欄位 String
目標外來鍵/destination_foreign_key false 關係表中引用目標表中的主鍵的欄位 String
2.3.3 arcpy介面

arcpy.TableToRelationshipClass_management()