Шаг 4: Редактирование с использованием классов отношений
Сейчас вы будете редактировать данные, которые включены в классы отношений базы геоданных. Ранее в этом курсе вы изучили, что классы отношений – это постоянные связи между таблицами в одной базе геоданных и что они дают доступ на чтение/запись к данным. Вы также изучили, что соединения и связи – это дополнительные способы для связывания таблиц, но они дают доступ к данным только на чтение и не являются частью базы геоданных. В базе геоданных Exercise7 есть несколько классов отношений, которые вы будете использовать, чтобы попрактиковаться в редактировании связанных с отношением записей в ArcMap.
|
Вы начнете редактирование классов отношений, добавив новый полигон растительности.
|
В этом классе пространственных объектов не должно быть пустот между полигонами, так что вам нужно убедиться, что полигон, который вы введете, будет смежным с другими.
|
|
|
|
|
|
|
|
|
Добавлен новый полигон, смежный с существующими, и он остался выбранным.
|
Примечание: Номер ID вашего объекта может отличаться от того, что на рисунке.
Заметьте, что нет знака плюс возле надписей класса отношений. Даже, если вы щелкните на классе отношений, справа не отобразятся никакие связанные записи. В этот момент нет связанных записей, только новый полигон, который вы только что добавили к слою R2VEG. Когда вы добавляете новые объекты к классу пространственных объектов, который участвует в классе отношений, вы должны вручную добавлять записи в связанные таблицы.
Помните, что классы отношений в базе геоданных Exercise7 все сложные и все типа один к одному, кроме ToSpec, которое один ко многим.
|
Вопрос 13: Как вы думаете, почему возникла ошибка и каково решение?
|
Перед добавлением записей в отношение, в таблице источнике должен быть правильный первичный ключ. Далее вы обновите поле VEG_LINK сгенерированным значением так, что вы сможете добавить связанные записи.
|
|
Когда вы добавите новую запись, вы можете начать редактирование ее значений с помощью диалогового окна Атрибуты (Attributes) или таблицы. У вас также будет доступ к доменам кодированных значений и интервальным для новых записей.
|
|
Поле Значение
PARTITION_TYPE Watershed
PARTITION_ PASPXX
ENTERED_BY <введите ваше имя>
ENTERED_DATE <введите текущую дату>
ASPECT_CLASS South West
SLOPE_PERCENT 43
Когда вы редактировали связанную запись, вы использовали домены кодированных значений, интервальные домены и набирали вручную значения полей, где нет доменов. Вы можете сделать то же самое через таблицу атрибутов.
|
|
|
Так как вы не добавляли никаких связанных записей в это отношение, то здесь не должно быть связанных (т.е. выбранных) записей в этой таблице. Вы можете создать новую связанную запись.
|
|
ObjectID автоматически обновляется, так как он управляется программным обеспечением.
|
|
На этот раз таблица R2VEG_POLY_LOCAL открывается с одной выбранной записью. Эта запись – та, что вы только что добавили.
|
Поле Значение
CHANGE_COVER_TYPE Aspen
OLD_GROWTH No
OLD_GROWTH_SOURCE Walk Through
Когда вы обновите значение первичного ключа для нового объекта, вы можете обновлять связанные записи через диалоговое окно Атрибуты (Attributes) или через таблицу.
|
Далее вы удалите полигон в слое R2VEG и посмотрите, как класс отношений управляет связанными записями. Сначала вы изучите кардинальность между полигоном и связанными записями видов растительности.
|
|
|
|
Обратите внимание, что в таблице R2VEG_SPECIESдевять связанных записей.
Вопрос 14: Класс отношений между R2VEG и таблицей R2VEG_SPECIES простой или сложный ?
Вопрос 15: Какое одно из основных свойств сложного отношения?
Может ли вид деревьев существовать там, где нет полигона растительности? Только не в реальном мире и, с помощью класса отношений, не в вашей базе геоданных.
|
|
Вопрос 16: Сколько всего записей в таблице R2VEG_SPECIES?
|
|
Вы можете видеть, что полигон удалился из отображения карты, но то, что вы не можете видеть, так это то, как класс отношений сработал, поддерживая ссылочную целостность между вашими записями.
|
|
Вопрос 17: Сколько записей сейчас в таблице R2VEG_SPECIES?
Таблица R2VEG_SPECIES сейчас содержит на девять записей меньше, чем перед этим, из за операции каскадного удаления, инициированной классом отношений. Эта функциональность может помочь вам поддерживать ваши данные «незамусоренными». Представьте, что это простое отношение и вы удалили полигон. Все связанные записи останутся в соответствующих таблицах, что конечно не является эффективным способом управления данными. Если бы в классе отношений были участки и таблица владельцев, то простое отношение было бы эффективнее. Например, когда один участок удаляется, владелец остается в таблице, потому что он может владеть несколькими другими участками. В таком случае, сложное отношение не подходит, потому что вы в действительности теряете данные.
|
|
Отношение с таблицей R2VEG_SPECIES - это отношение один ко многим. Другие классы отношений в базе геоданных Exercise7 все «один к одному».
Вопрос 19: Как вы думаете, повлияло ли удаление полигона на остальные таблицы?
Как вы можете видеть, классы отношений – это очень эффективные инструменты редактирования, которые помогут вам не «замусоривать» таблицы вашей базы данных. Все, что нужно, это удалить запись-источник, чтобы с ними автоматически и удалились все связанные записи-адресаты. Без сложного класса отношений, вам нужно было бы вручную удалять 15 записей.
|
|
|
|
Заключение
Как вы увидели, редактирование в ArcMap более эффективно с доменами, подтипами и классами отношений. Домены дают вам уверенность в тех значениях, которые вы вводите. Интервальные домены позволяют найти некорректные данные, в то время, как домены кодированных значений дают вам список корректных значений, из которого можно выбирать. Вы должны вручную проверить интервальный домен, чтобы найти некорректные данные. Редактирование связанных таблиц через классы отношений – это очень эффективно и позволяет сохранять актуальность ваших данных. Если вы добавляете новый объект к таблице источнику, вы должны ввести значение первичного ключа и добавить запись в каждую связанную таблицу. Записи-адресаты не создаются автоматически, когда вы добавляете запись-источник. Все эти правила проверки, вместе с дополнительными объектами в базе геоданных, помогают сделать редактирование данных намного быстрее и эффективнее.
Ответы на Вопросы Упражнения 5A
Вопрос 1: Каково значение для PARTITION_TYPE?
Ответ: Watershed.
Вопрос 2: Каково значение ASPECT_CLASS для выбранной записи?
Ответ: West.
Вопрос 3: Почему эти выпадающие меню серые?