Справочник от Автор24
Найди эксперта для помощи в учебе
Найти эксперта
+2

Виды связи в реляционной модели данных

Чаще всего БД содержит больше одной таблицы.

Рассмотрим пример.

Пример 1

Существует отдел, занимающийся обработкой звонков, которые поступают на разные линии. Линии обслуживают конкретные операторы, состоящие в различных группах, которые контролируют супервайзеры.

Таким образом, уже можно назвать некоторые самостоятельные объекты (рисунок 1):

  • Сотрудники;
  • Группы;
  • Должности;
  • Линии;
  • Звонки.

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

В рассматриваемом примере между собой можно связать все таблицы. Для правильного связывания рассмотрим типы связей.

Существует три вида связей:

  • связь «Один-к-одному»
  • связь «Один-ко-многим»
  • связь «многие-ко-многим»

Связь «Один-к-одному»

Замечание 1

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

На практике такая связь используется редко. Например, связь «один-к-одному» может использоваться, если нужно выполнить разделение данных одной таблицы на некоторое число отдельных таблиц для обеспечения безопасности.

Пример 2

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

Для предотвращения утечки конфиденциальной информации можно в отдельную таблицу перенести информацию о паспортных данных, а доступ к такой таблице предоставить определенному кругу сотрудников (рисунок 3).

«Виды связи в реляционной модели данных» 👇
Помощь эксперта по теме работы
Найти эксперта
Решение задач от ИИ за 2 минуты
Решить задачу
Помощь с рефератом от нейросети
Написать ИИ

Связь «Один-ко-многим»

Замечание 2

При связи «один-ко-многим» одна запись одной таблицы связана с несколькими записями другой таблицы.

Например, связь между должностями и сотрудниками является связью «один-ко-многим» (рисунок 4).

В таблице Должность записи должностей являются уникальными, т.к. не имеет смысла повторное создание имеющейся записи. В таблице Сотрудники записи также уникальные, но некоторые сотрудники могут занимать одинаковую должность.

Значок ключа на конце связи показывает, что таблица, к которой он прилегает, находится на стороне «один» (первичным ключом является связанный столбец), а знак бесконечности находится на стороне «многие» (этот столбец – внешний ключ).

Связь «многие-ко-многим»

Замечание 3

Когда несколько записей одной таблицы соответствуют нескольким записям другой таблицы, такую связь называют «многие-ко-многим» и организовывают с помощью связывающей таблицы.

Пример 3

Связь «многие-ко-многим» существует между таблицами Сотрудники и Линии (рисунок 5).

На рисунке 5 видно, что существует 2 связи «один-ко-многим» (одним сотрудником может обрабатываться несколько телефонных линий и одна линия может обрабатываться несколькими сотрудниками), а в совокупности получается связь «многие-ко-многим».

Назначение связей

Связи играют роль важнее информации размещения данных в таблицах. Разработчикам они необходимы для того, чтобы поддерживать целостность баз данных.

Если связи настроены правильно, можно с уверенностью сказать, что никакая информация не потеряется.

Например, нужно удалить одну группу из таблицы Группы (рисунок 1). Если бы связь не существовала, то для сотрудников, принадлежащих к этой группе, остался бы идентификатор группы, которая не существует. Наличие связи предотвратит выполнить удаление группы, если она присутствует во внешних ключах других таблиц. В таком случае необходимо сотрудников перенести в другие группы, а потом выполнить удаление ненужной записи. Вследствие этого связи еще называют ограничениями.

Воспользуйся нейросетью от Автор24
Не понимаешь, как писать работу?
Попробовать ИИ
Дата написания статьи: 01.08.2016
Найди решение своей задачи среди 1 000 000 ответов
Крупнейшая русскоязычная библиотека студенческих решенных задач
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot