CMS: О зеркальных полях в коллекциях баз данных

2 мин. чтения
Примечание
Прежде чем продолжить, прочитайте статью о коллекциях баз данных.
Зеркальные поля (поля ссылки) позволяют связать коллекцию с другими коллекциями.

В частности, поле ссылки связывает элемент в одной коллекции с элементом в другой коллекции.

Отношение, созданное между коллекциями, определено в структуре коллекции. Набор данных, подключенный к коллекции, у которой есть зеркальные поля, будет иметь доступ ко всем полям во всех подключенных коллекциях. Это позволяет подключать элементы к полям во всех коллекциях, на которые ведет ссылка, с помощью одного набора данных.

Значение, которое отображается в поле ссылки, берется из основного поля определенного элемента в коллекции по ссылке. Фактическое значение, которое хранится в базе данных, является идентификатором элемента, на который ведет ссылка (другими словами, значение в поле ID системного поля, на которое ведет ссылка). 
Примечания
  • Вы можете создать поле ссылки, которое указывает на эту же коллекцию. Например, у вас есть коллекция сотрудников, и вы хотите указать, кто является менеджером. Вы можете создать зеркальное поле под названием «Менеджер», которое указывает на эту же коллекцию, чтобы список менеджеров автоматически исходил из списка всех сотрудников.
  • Вы можете создать поля ссылки, которые указывают на несколько элементов одновременно. Подробнее см. в этой статье.

Преимущества использования зеркальных полей

  • Зеркальные поля помогают избежать дублирования данных. Они позволяют сохранить информацию один раз, а затем ссылаться на нее в любом месте.
  • Зеркальные поля помогают сохранить целостность данных во всех коллекциях. Поскольку коллекции внутренне связаны друг с другом, любое изменение исходных данных автоматически отражается на данных ссылки. Если элемент ссылки удален в менеджере данных, появится сообщение об ошибке, а также указание в самом поле ссылки.
  • Зеркальные поля позволяют легко создавать страницы, которые используют информацию из всех подключенных коллекций, включая макеты «образец и информация». Это особенно полезно для элементов, таких как таблицы и галереи, которые можно подключить только к одному набору данных. Зеркальные поля также полезны при работе с репитерами.

Пример

Допустим, у вас есть база данных с коллекциями песен и исполнителями. Ваша коллекция «Исполнители» содержит информацию о каждом исполнителя, например, фото и биографию, с полем «Исполнитель», определенным как Основное поле

Коллекция песен содержит информацию о каждой песне, такую как имя исполнителя и ссылку на видео YouTube. В этом случае вы должны определить поле «Исполнитель» в коллекции «Песни» как поле ссылки, которая подключается к коллекции «Исполнители». Значения, которые отображаются в поле ссылки, берутся из основного поля («Исполнитель») коллекции «Исполнитель». На рисунке ниже показано, как это будет выглядеть.
Затем вы можете подключить к набору данных «Песни» таблицу, отображающую название каждой песни, а также имя и фото исполнителя. 
Обратите внимание, как набор данных, подключенный к таблице, позволяет подключаться к полям в двух разных коллекциях: коллекции «Песни» (поле «Название песни») и коллекции «Исполнители» (Исполнитель и фото). Это произошло потому, что коллекции подключены через поле ссылки. Теперь вы можете отображать фото каждого исполнителя без необходимости дублировать ее для каждой песни.

Была ли статья полезна?

|