| Подпись | Описание | Тип данных | 
| Таблица-источник | Таблица класса пространственных объектов, которая будет связана с таблицей-адресатом. | Table View | 
| Таблица-адресат | Таблица или класс объектов, который будет связан с исходной таблицей. | Table View | 
| Выходной класс отношений | Создаваемый класс отношений. | Relationship Class | 
| Тип отношений | Определяет тип отношений, который будет создан между таблицей-источником и таблицей-адресатом. 
 | String | 
| Надпись прямого отношения | Надпись, описывающая отношение, как оно проходит от класса объектов или таблицы - источника к классу объектов или таблице - адресату. | String | 
| Надпись обратного отношения | Надпись, описывающая отношение, как оно проходит от класса объектов или таблицы - адресата к классу объектов или таблице - источнику. | String | 
| Направление сообщений | Определяет сообщения направлений, которые будут передаваться между объектами в отношении. Например, в отношении между столбами и трансформаторами, при удалении столба, он отправляет сообщение связанным с ним объектам трансформатора, информируя их о его удалении. 
 | String | 
| Кардинальность | Определяет кардинальность отношений между источником и адресатом. 
 | String | 
| Таблица отношения | Таблица, содержащая атрибуты, которые будут добавлены к классу отношений. | Table View | 
| Атрибутивные поля | Имена полей, содержащих значения атрибутов, которые будут добавлены к классу отношений. Поля должны быть представлены в значении параметра Таблица отношений. | Field | 
| Первичный ключ источника | Поле в таблице-источнике, которое будет использоваться для создания отношений. | String | 
| Внешний ключ источника | Имя поля в таблице отношений, которое ссылается на поле Первичного ключа в классе объектов или таблице - источнике. Для классов отношений на основании таблицы эти значения будут использоваться для заполнения отношений в классе отношений, поэтому они не могут быть пустыми. | String | 
| Первичный ключ адресата | Поле в таблице-адресате, которое будет использоваться для создания отношений. | String | 
| Внешний ключ адресата | Имя поля в таблице отношений, которое ссылается на поле Первичного ключа в классе пространственных объектов или таблице - адресате. Для классов отношений на основании таблицы эти значения будут использоваться для заполнения отношений в классе отношений, поэтому они не могут быть пустыми. | String | 
Краткая информация
Создает класс отношений с атрибутами на основе таблиц источник, назначения и отношений.
Использование
- Этот инструмент создает таблицу в базе данных, которая содержит выбранные атрибутивные поля из таблицы отношений. Эти поля хранят атрибуты отношений, которые не являются атрибутами ни класса-источника, ни класса-адресата. Например, в базе данных участков у вас может быть класс отношений между участками и владельцами, где владельцы владеют участками, а участки принадлежат владельцам. Атрибутом этого отношения может быть собственность в процентах. 
- Простые отношения (между равными объектами) предсталяют собой отношения между двумя или более объектами в базе данных, которые существуют независимо друг от друга. Например, в железнодорожной сети могут быть железнодорожные стрелки, имеющие один или более связанный с ними семафор. Однако железнодорожная стрелка может существовать без семафора, а семафоры могут существовать в железнодорожной сети и там, где нет стрелок. Простые отношения могут иметь кардинальность «один к одному», «один ко многим» или «многие ко многим». 
- Сложное отношение – это то, в котором продолжительность существования объектов контролирует продолжительность существования связанных объектов. Например, электрические столбы служат опорой для трансформаторов, а трансформаторы установлены на столбах. После удаления столба, сообщение об удалении распространяется и на связанные с ним трансформаторы, которые удаляются из класса трансформаторов. Сложные отношения всегда «один ко многим». 
- Описания прямого и обратного отношения поясняют отношение, связывающее один объект с другим. Описание прямого отношения описывает отношение класса-источника к классу-адресату. В примере столб-трансформатор, подписью прямого пути может быть «Столбы поддерживают трансформаторы». Описание обратного отношения поясняет отношение класса-адресата к классу-источнику. В примере столб-трансформатор, подписью обратного пути может быть «Трансформаторы устанавливаются на столбах». 
Параметры
arcpy.management.TableToRelationshipClass(origin_table, destination_table, out_relationship_class, relationship_type, forward_label, backward_label, message_direction, cardinality, relationship_table, attribute_fields, origin_primary_key, origin_foreign_key, destination_primary_key, destination_foreign_key)
| Имя | Описание | Тип данных | 
| origin_table | Таблица класса пространственных объектов, которая будет связана с таблицей-адресатом. | Table View | 
| destination_table | Таблица или класс объектов, который будет связан с исходной таблицей. | Table View | 
| out_relationship_class | Создаваемый класс отношений. | Relationship Class | 
| relationship_type | Определяет тип отношений, который будет создан между таблицей-источником и таблицей-адресатом. 
 | String | 
| forward_label | Надпись, описывающая отношение, как оно проходит от класса объектов или таблицы - источника к классу объектов или таблице - адресату. | String | 
| backward_label | Надпись, описывающая отношение, как оно проходит от класса объектов или таблицы - адресата к классу объектов или таблице - источнику. | String | 
| message_direction | Определяет сообщения направлений, которые будут передаваться между объектами в отношении. Например, в отношении между столбами и трансформаторами, при удалении столба, он отправляет сообщение связанным с ним объектам трансформатора, информируя их о его удалении. 
 | String | 
| cardinality | Определяет кардинальность отношений между источником и адресатом. 
 | String | 
| relationship_table | Таблица, содержащая атрибуты, которые будут добавлены к классу отношений. | Table View | 
| attribute_fields [attribute_fields,...] | Имена полей, содержащих значения атрибутов, которые будут добавлены к классу отношений. Поля должны быть представлены в значении параметра relationship_table. | Field | 
| origin_primary_key | Поле в таблице-источнике, которое будет использоваться для создания отношений. | String | 
| origin_foreign_key | Имя поля в таблице отношений, которое ссылается на поле Первичного ключа в классе объектов или таблице - источнике. Для классов отношений на основании таблицы эти значения будут использоваться для заполнения отношений в классе отношений, поэтому они не могут быть пустыми. | String | 
| destination_primary_key | Поле в таблице-адресате, которое будет использоваться для создания отношений. | String | 
| destination_foreign_key | Имя поля в таблице отношений, которое ссылается на поле Первичного ключа в классе пространственных объектов или таблице - адресате. Для классов отношений на основании таблицы эти значения будут использоваться для заполнения отношений в классе отношений, поэтому они не могут быть пустыми. | String | 
Пример кода
Пример скрипта в окне Python для использования функции TableToRelationshipClass.
import arcpy
arcpy.env.workspace = "C:/data/Montgomery.gdb"
arcpy.TableToRelationshipClass_management("owners", "Parcels", "ownersParcels_RelClass",
                                          "SIMPLE", "Owns", "Is Owned By", "BACKWARD",
                                          "MANY_TO_MANY", "owners", ["OWNER_PERCENT", "DEED_DATE"],
                                          "OBJECTID", "owner_id", "OBJECTID", "parcel_id")Создает класс отношений с атрибутами между классом объектов участков и таблицей с информацией о владельцах.
# Name: TableToRelationshipClass.py
# Description: Create an attributed relationship class between parcels
#              feature class and table with owner information
# Author: ESRI
# import system modules 
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data"
# Copy owners.dat to file gdb table, since both tables to be related
# must be in the same database
ownerDat = "owners.dat"
ownerTbl = "Montgomery.gdb/owners"
arcpy.CopyRows_management(ownerDat, ownerTbl)
# Create attributed relationship class between 'parcel' parcel layer
# and 'owner' table with additional parcel owner information
parcel = "Montgomery.gdb/Parcels"
relClass = "Montgomery.gdb/parcelowners_RelClass"
forLabel = "Owns"
backLabel = "Is Owned By"
attributeFields = ["OWNER_PERCENT", "DEED_DATE"]
originPK = "OBJECTID"
originFK = "owner_ID"
destinationPK = "OBJECTID"
destinationFK = "parcel_ID"
arcpy.TableToRelationshipClass_management(ownerTbl, parcel, relClass, "SIMPLE",
                                          forLabel, backLabel, "BACKWARD", "MANY_TO_MANY",
                                          ownerTbl, attributeFields, originPK, originFK,
                                          destinationPK, destinationFK)Параметры среды
Информация о лицензиях
- Basic: Нет
- Standard: Да
- Advanced: Да