Концепция связей

Связи — это механизм, который устанавливает логические отношения между записями реестров или справочников. Они позволяют:

  • Связать данные из разных объектов (например, товар → производитель → страна).

  • Обеспечить целостность информации (например, запретить удаление клиента с активными заказами).

  • Упростить навигацию и анализ данных (например, просмотр всех заказов клиента).

Зачем используются связи?

  • Целостность данных:

    • Запрет на удаление связанных записей (например, нельзя удалить страну, если она используется в справочнике производителей).

  • Автоматизация процессов:

    • Автоматическое обновление данных при изменении связанных объектов (например, изменение адреса клиента отразится во всех его заказах).

  • Удобство работы:

    • Быстрый переход к связанным записям из карточки объекта.

  • Гибкость:

    • Возможность создавать сложные иерархии (например, товар → категория → поставщик → страна).

Типы связей

В системе поддерживается три типа связей:

  • "Ссылка" - это простая связь между двумя записями. Ее особенности:

  • Связанные записи существуют независимо друг от друга.

  • Удаление одной записи не влияет на другую.

  • Пример: Связь между товаром и его производителем.

  • "Включение" - это связь между основным и подчиненным объектом. Ее особенности:

  • Подчиненный объект не может существовать без основного.

  • Удаление основного объекта приводит к удалению подчиненного.

  • Нельзя использовать совместно с другими типами связей для одного объекта.

  • Пример: Документ (основной объект) и его вложения (подчиненные объекты).

  • "Многие ко многим" - связь, где одной записи реестра-1 могут соответствовать несколько записей реестра-2, и наоборот. Ее особенности:

  • Реализуется через промежуточную таблицу с уникальными парами ключей.

  • Поддерживает период актуальности связи (например, срок действия договора).

  • Пример: Связь между студентами и курсами (один студент может посещать несколько курсов, один курс — иметь несколько студентов).

Отличия и применимость типов связей

Параметр

Ссылка

Включение

Многие-ко-многим

Зависимость

Независимые записи

Подчиненный объект зависит от основного

Независимые записи

Удаление

Не влияет на связанные

Удаляет подчиненные

Не влияет на связанные

Период актуальности

Не поддерживается

Не поддерживается

Поддерживается

Обязательность

Можно сделать обязательной

Нельзя сделать обязательной

Можно сделать обязательной

Использование

Простые связи (1:1, 1:N)

Иерархии (родитель → ребенок)

Сложные связи (N:M)

Примеры связей

  1. Ссылка

  • Объекты: Реестр "Товары" ↔ Справочник "Страны".

  • Атрибут: "Производитель" (товар) → "Название страны" (справочник).

  • Цель: Определение страны-производителя для товара.

  1. Включение

  • Объекты: Реестр "Договоры" ↔ Реестр "Приложения".

  • Связь: Договор (основной объект) включает приложения (подчиненные объекты).

  • Удаление договора автоматически удаляет все его приложения.

  1. Многие-ко-многим

  • Объекты: Реестр "Сотрудники" ↔ Реестр "Проекты".

  • Связь: Сотрудник может участвовать в нескольких проектах, проект может иметь несколько сотрудников.

  • Цель: Учет нагрузки сотрудников и сроков участия в проектах.