Link Types

Что это

Описание связей между таблицами.

Связи создаются с помощью внешних foreign key - это атрибут или набор атрибутов, которые ссылаются на primary key или unique другой таблицы.

Один к одному(One to one)

  1. Отделение столбца в таблицу с меньшим доступом с целью безопасности. Пример: Клиент имеет паспортные данные, которые вынесены в отдельную таблицу.
  2. Если мы имеем столбец в котором большинство данных будут пустые. Мы выносим их в отделенную таблицу для экономии памяти. Пример: Столбец Инвалид. 95% будет отрицательное значение.

Один ко многим(One to many)

У пользователя есть: имя, фамилия, возраст, номера телефонов. При этом у каждого пользователя может быть от одного и больше номеров телефонов (многие номера телефонов).

С обязательной связью - у пользователя должен быть номера телефонов или с необязательной связью - у пользователя может не быть номера телефонов.

Многие ко многим(Many to many)

Работник может иметь одну и более должностей. Например, некий работник может быть и админом, и программистом.

Должность может «владеть» одним и более работников. Например, админами является определенный набор работников. Другими словами, к админам относятся некие работники.

Для реализации такой связи нам нужен некий посредник между таблицами «Employee» и «Position». В нашем случае это будет некая таблица «EmployeesPositions» (работники и должности). Слева указаны работники (их id), справа — должности (их id).