Важно: Данная статья переведена с помощью машинного перевода, см. Отказ от ответственности. Используйте английский вариант этой статьи, который находится здесь, в качестве справочного материала.
Между списками можно создавать отношения, используя сочетание уникальных столбцов, столбцов подстановки и принудительного обеспечения отношений (в виде каскадного и ограниченного удаления). Все это позволяет создать более подготовленное бизнес-решение и обеспечить целостность данных.
В этой статье
Обзор отношений списков
В разделах ниже приведены важные сведения о создании отношений между исходными и целевыми списками, создании уникальных столбцов и столбцов подстановки, принудительном обеспечении отношения списков, добавлении основных и дополнительных столбцов подстановки, просмотре, изменении и удалении элементов в отношениях списков, управлении отношениями для списков с большим числом элементов, а также о дополнительных преимуществах использования программы редактирования, например Microsoft Office SharePoint Designer 2010.
1 список элементов является источник и список заказов является целевой список.
2. каждый список содержит уникальный столбец, чтобы убедиться, что правильное сопоставление данных.
3. Основной столбец подстановки в исходном списке используется для поиска соответствующего значения в столбце "Код заказа" в целевом списке.
4. В дополнительный столбец подстановки в исходном списке автоматически подставляются значения столбца с описаниями заказов из целевого списка.
Создание уникальных столбцов
При создании столбца можно указать, что он должен содержать только уникальные значения. Это означает, что в данном столбце списка не могут содержаться повторяющиеся значения. Невозможно добавить, изменить или восстановить из корзины элемент списка, если это приведет к появлению одинаковых значений. Более того, если в исходном списке создан столбец подстановки, который определен как уникальный, соответствующий столбец целевого списка не может содержать повторяющиеся значения.
Примечание: При определении уникальности регистр не учитывается, т. е., например, значения ЗАК-231 и зак-231 считаются одинаковыми.
Уникальный столбец должен иметь индекс. При создании уникального столбца может появиться запрос на создание индекса. После нажатия кнопки ОК индекс будет создан автоматически. Индекс, созданный для уникального столбца, можно удалить только в том случае, если столбец переопределен и может содержать одинаковые значения.
В таблице ниже перечислены типы столбцов, которые можно и нельзя использовать для создания уникальных столбцов.
Поддерживаемые типы столбцов |
Неподдерживаемые типы столбцов |
Однострочный текст |
Многострочный текст |
Выбор (одного значения) |
Выбор (нескольких значений) |
Число |
Вычисляемый |
Валюта |
Гиперссылка или рисунок |
Дата и время |
Настраиваемые столбцы |
Поиск (по одному значению) |
Поиск (по множеству значений) |
Пользователь или группа (одно значение) |
Пользователь или группа (несколько значений) |
Да/Нет |
Создание столбцов подстановки
Чтобы создать отношение между двумя списками, в исходном списке нужно создать столбец подстановки. Из целевого списка будут извлекаться одно или несколько значений, если они соответствуют значению в столбце подстановки в исходном списке. После создания этого столбца подстановки (основного столбца) можно добавить в исходный список дополнительные столбцы из целевого списка, если данные в них относятся к одному из поддерживаемых типов (см. ниже).
В таблице ниже перечислены типы столбцов, которые можно и нельзя использовать для создания столбцов подстановки.
Поддерживаемые типы столбцов |
Неподдерживаемые типы столбцов |
Однострочный текст |
Денежный |
Числовой |
Подстановка (данные, уже имеющиеся на этом узле) |
Дата и время |
Пользователь или группа |
Вычисляемое поле |
|
Гиперссылка или рисунок |
|
Многострочный текст |
|
Логический |
|
Выбор. |
|
Настраиваемые столбцы |
Можно создавать столбцы подстановки двух типов — с принудительным обеспечением отношения и без такого обеспечения.
Столбец подстановки с принудительным обеспечением отношения
Столбец подстановки с принудительным обеспечением отношения (т. е. целостности данных) можно использовать для поиска отдельных значений и поддержки целостности данных в целевом списке одним из двух указанных ниже способов.
Каскадное удаление При удалении элемента из целевого списка соответствующий элемент или элементы исходного списка также удаляются. В этом случае обеспечивается удаление всех связанных элементов в одной транзакции базы данных. Например, при удалении заказа в целевом списке можно гарантировать, что соответствующие ему позиции заказа в исходном списке также будут удалены. Оставлять в списке позиции заказов без соответствующего заказа нежелательно, так как такие "потерянные" элементы могут вызвать путаницу в будущем.
Ограниченное удаление Попытка удалить из целевого списка элемент, с которым связан один или несколько элементов исходного списка, пресекается. В этом случае обеспечивается сохранение связанного элемента в целевом списке. Например, кто-то может попытаться удалить из целевого списка заказ, который еще не доставлен заказчику. Требуется предотвратить случайное удаление заказа, обработка которого не завершена, поскольку в противном случае выполнить его не удастся.
1. в ходе операции каскадного удаления обеспечивает удаление всех связанных элементов в одной транзакции базы данных.
2. операция ограниченного удаления предотвращает удаление элементов в целевом списке при связанные элементы списка источник существует.
Другими словами, принудительное обеспечение отношения списков помогает сохранять целостность данных и предотвращать несоответствия, которые могут вызвать проблемы в будущем.
Примечание: Чтобы создать или изменить отношение с принудительным обеспечением, необходимо иметь разрешение "Управление списками".
Столбец подстановки, обеспечивающий отношение, должен иметь индекс. При создании такого столбца может появиться запрос на создание индекса. Индекс автоматически создается после нажатия кнопки ОК. Индекс, созданный для столбца подстановки, обеспечивающего отношение, можно удалить только после удаления этого отношения.
Столбец подстановки без принудительного обеспечения отношения
Столбец подстановки без принудительного обеспечения отношения в исходном списке можно использовать для поиска одного или нескольких значений в целевом списке. Кроме того, при удалении элемента из исходного списка (если имеется соответствующее разрешение) не выполняются никакие дополнительные операции удаления и не устанавливаются ограничения на удаление в целевом списке.
Просмотр и изменение элементов в отношениях списков
Одно из преимуществ использования отношений списков — возможность отображать и изменять столбцы из двух и более списков на одной странице. При создании столбца подстановки в исходном списке в основном столбце отображаются значения из столбца целевого списка. Однако можно указать, что рядом с основным столбцом и другими столбцами исходного списка должны также отображаться дополнительные столбцы из целевого списка.
Значение основного столбца представляет собой ссылку, которую можно щелкнуть, чтобы отобразить все значения столбца целевого списка для этого элемента. Каждое значение дополнительного столбца из целевого списка отображается в столбце исходного списка как текст. При создании столбца подстановки с несколькими значениями в каждом столбце целевого списка — основном или дополнительном — отображается несколько соответствующих значений, разделенных точками с запятыми. В представлении списка можно работать с основным и дополнительными столбцами почти так же, как со столбцами исходного списка. Например, их можно добавлять, удалять, фильтровать и сортировать.
Имя основного столбца совпадает с именем, введенным при создании столбца подстановки. По умолчанию каждый дополнительный столбец именуется по следующей схеме: <имя основного столбца в исходном списке>: <имя столбца в целевом списке>. По этой причине изменение имени основного столбца вызывает изменение имен дополнительных столбцов. Однако имена по умолчанию и описания дополнительных столбцов можно заменять на более удобные и понятные.
1. основной столбец подстановки с несколькими значениями.
2. дополнительный столбец подстановки с несколькими значениями.
3. Имя столбца по умолчанию (ПолучитьКод: Название) заменено на Инструменты.
Удаление элементов и списков из отношений списков
Если нужно удалить элементы или списки, включенные в отношение списков, следует помнить о возможных последствиях этой операции как для исходного и целевого списков, так и для всех связанных столбцов, особенно если к спискам применяется принудительное обеспечение отношения в виде каскадного или ограниченного удаления. Для сохранения целостности данных удаление элементов может быть заблокировано даже при наличии соответствующего разрешения. Кроме того, для удаления таких элементов требуется блокирование данных серверной базой данных при выполнении соответствующей транзакции, которая может занять некоторое время.
Этот процесс рассматривается более подробно в следующих разделах.
Удаление элемента исходного или целевого списка без принудительного обеспечения отношения. При попытке удалить элемент исходного или целевого списка без принудительного обеспечения отношения происходит следующее:
-
элемент удаляется из исходного или целевого списка;
-
связанный элемент в целевом или исходном списке не удаляется.
Удаление элемента исходного списка с принудительным обеспечением отношения в виде ограниченного удаления. При попытке удалить элемент исходного списка с принудительным обеспечением отношения в виде ограниченного удаления происходит следующее:
-
элемент удаляется из исходного списка;
-
связанный элемент из целевого списка не удаляется.
Удаление элемента целевого списка с принудительным обеспечением отношения в виде ограниченного удаления. При попытке удалить элемент целевого списка с принудительным обеспечением отношения в виде ограниченного удаления происходит следующее:
-
появляется сообщение об ошибке, в котором сказано, что данный столбец используется для принудительного применения операции ограниченного удаления;
-
элемент целевого списка не удается удалить даже при наличии соответствующего разрешения.
Удаление элемента исходного списка с принудительным обеспечением отношения в виде каскадного удаления. При попытке удалить элемент исходного списка с принудительным обеспечением отношения в виде каскадного удаления происходит следующее:
-
элемент удаляется из исходного списка;
-
связанный элемент из целевого списка не удаляется.
Удаление элемента целевого списка с принудительным обеспечением отношения в виде каскадного удаления. При попытке удалить элемент целевого списка с принудительным обеспечением отношения в виде каскадного удаления происходит следующее:
-
элемент удаляется из целевого списка, а из исходного удаляются все связанные элементы;
-
операция удаления выполняется как транзакция базы данных. Это означает, что для сохранения целостности данных в обоих списках операция удаления должна быть выполнена полностью.
Примечание: Если речь идет о библиотеке документов и элемент исходного списка представляет собой извлеченный файл, оба элемента удаляются.
Удаление исходного или целевого списка без принудительного обеспечения отношения. Исходный и целевой списки без принудительного обеспечения отношения удаляются так же, как любые другие списки.
Удаление исходного или целевого списка с принудительным обеспечением отношения в виде каскадного или ограниченного удаления. При попытке удалить исходный или целевой список с принудительным обеспечением отношения в виде каскадного или ограниченного удаления происходит следующее:
-
появляется предупреждение о наличии одного или нескольких отношений данного списка с другими (их имена также отображаются);
-
удалить исходный или целевой список не удается.
Восстановление из корзины Если на сайте поддерживается корзина, все удаленные элементы хранятся в ней и могут быть восстановлены в случае необходимости. Если элементы были удалены в ходе одной транзакции базы данных во время операции каскадного удаления, отображаются все элементы в отношении и все их можно восстановить. Однако для этого должны по-прежнему существовать первоначальные исходный и целевой списки, иначе восстановить элементы не удастся.
Краткие выводы
-
При удалении элемента целевого списка в ходе операции каскадного удаления также удаляются все связанные элементы из исходного списка.
-
При попытке удаления элемента целевого списка операция ограниченного удаления предотвращает это действие, если с ним связан один или несколько элементов исходного списка.
-
Удалить списки с принудительным обеспечением отношений невозможно.
Управление отношениями для списков с большим числом элементов
При создании отношений списков с помощью столбцов подстановки, уникальных столбцов и обеспечения отношений может быть достигнуто пороговое значение или ограничение ресурсов, что приведет к блокировке. Это возможно в следующих ситуациях:
-
при создании уникального столбца в существующем списке, количество элементов в котором превышает пороговое значение представления списка (обратите внимание, что добавление одного элемента в список, вызывающее превышение порогового значения представления списка, обычно не ведет к блокировке);
-
при применении каскадного или ограниченного удаления к полю подстановки в списке, количество элементов которого превышает пороговое значение представления списка;
-
при превышении порогового значения подстановки представления списка (по умолчанию — восемь столбцов подстановки);
-
в случае, если количество элементов в операции удаления превышает 1000.
Дополнительные сведения о пороговых значениях и ограничениях, а также об управлении списками и библиотеками с большим числом элементов см. в статьях по ссылкам в разделе См. также.
Использование программ-редакторов, например Office SharePoint Designer 2010
Рекомендуется использовать программу редактирования, совместимую с технологиями SharePoint. Например, в приложении Microsoft Office SharePoint Designer 2010 предусмотрены дополнительные функции и возможности, облегчающие работу с отношениями списков. Так, можно подключить веб-часть представления списка или веб-часть формы данных к веб-части связанного списка для вертикального отображения нескольких значений целевого списка подстановки. Можно также ограничить операции вставки при проверке полей с помощью редактора схем списков.
Дополнительные сведения об Office SharePoint Designer 2010 см. в справке этого приложения.
Создание уникального столбца или столбца подстановки
В разделах ниже содержатся пошаговые инструкции по созданию уникальных столбцов и столбцов подстановки.
Создание и изменение уникального столбца
Предупреждение: Невозможно создать уникальный столбец в списке с разрешениями, определенными на уровне элементов. Также нельзя нарушать наследование разрешений от списка к его элементу, если список содержит уникальный столбец. Невозможно создать уникальный столбец или сделать имеющийся столбец уникальным в списке, содержащем элементы с уникальными разрешениями, или в списке с включенным утверждением контента. Кроме того, нельзя скопировать файл в библиотеку, содержащую уникальный столбец, с помощью команды Открыть в проводнике.
-
Перейдите на сайт со списком, в который нужно добавить уникальный столбец.
-
Щелкните имя списка на панели Быстрого запуска или нажмите кнопку Действия сайта , нажмите кнопку Просмотреть весь контент сайта и щелкните имя списка в разделе список.
Примечание: Внешний вид и навигация сайта могут быть существенно изменены. Если не удается найти какой-либо элемент, например команду, кнопку или ссылку, обратитесь к администратору.
-
Откройте на ленте вкладку Список и в группе Управление представлениями выберите команду Создать столбец.
-
В поле Имя столбца введите нужное имя.
-
В поле Тип данных этого столбца: выберите один из перечисленных ниже типов.
-
Однострочный текст
-
Многострочный текст
-
Выбор.
-
Число
-
Денежный (руб., $, € )
-
Дата и время
-
Логический
-
Поиск (по одному значению)
-
Пользователь или группа (одно значение)
-
-
В поле Применять уникальные значения: раздела Дополнительные параметры столбца выберите вариант Да.
Если выбранный тип данных не поддерживается или создается столбец подстановки, позволяющий использовать несколько значений, поле "Применять уникальные значения:" не отображается.
Примечание: .
-
Индекс уникального столбца удалить невозможно. Чтобы все же сделать это, необходимо сначала изменить тип столбца, чтобы он мог содержать повторяющиеся значения.
-
Попытка сделать существующий столбец уникальным может стать неудачной, если в нем содержатся повторяющиеся значения. В этом случае необходимо сначала удалить все дубликаты.
-
Чтобы изменить тип данных уникального столбца, выполните следующие действия: измените его тип на другой, допускающий повторяющиеся значения, удалите индекс, задайте для столбца другой поддерживаемый тип данных, а затем снова сделайте его уникальным.
Создание столбца подстановки
-
Перейдите на сайт со списком, в который нужно добавить столбец подстановки.
-
Щелкните имя списка на панели быстрого запуска или нажмите кнопку Действия сайта , нажмите кнопку Просмотреть весь контент сайта и щелкните имя списка в разделе список.
Примечание: Внешний вид и навигация сайта могут быть существенно изменены. Если не удается найти какой-либо элемент, например команду, кнопку или ссылку, обратитесь к администратору.
-
Откройте на ленте вкладку Список и в группе Управление представлениями выберите команду Создать столбец.
-
В поле Имя столбца введите нужное имя.
-
В поле Тип данных этого столбца: выберите вариант Подстановка.
-
В поле Получить данные из: выберите целевой список.
-
В поле В этот столбец: выберите основной столбец.
-
В разделе Добавьте столбец для отображения каждого из этих дополнительных полей: установите флажок рядом с именем каждого столбца, для которого требуется добавить дополнительный столбец. В списке содержатся только столбцы с поддерживаемыми типами данных.
-
Если впоследствии потребуется добавить или удалить дополнительные столбцы, нужно будет изменить столбец подстановки и сделать соответствующий выбор.
Примечание: Невозможно создать индекс для дополнительного столбца, а также сделать такой столбец уникальным.
-
Если нужно, чтобы столбцы подстановки отображались в представлении по умолчанию, выберите команду Добавить в представление по умолчанию.
-
Чтобы создать принудительное обеспечение отношения, установите флажок Обеспечить поведение отношения и выберите параметр Ограниченное удаление или Каскадное удаление.
-
Нажмите кнопку ОК.