FoxelyssFoxelyss
Время чтения: 1 min
Изменено:18.09.2026, 19:09:51

Связь и для чего она нужна

Допустим, у нас есть две таблицы: одна для сотрудников, другая — про их оклады. Как нам их связать?

Пример использования

Ключ — это атрибут или группа атрибутов, на основании которых определяются все значения в строке.

Ключи нужны для связи двух и более таблиц воедино.

Связь — это объединение таблиц при помощи объединения записей.

Виды ключей:

  1. Первичный, Primary key, все значения должны быть уникальными в ключе
  2. Вторичный, Foreign key, значения могут повторяться и повторять любой ключ

Разновидности связи ключей:

  • ✔️ PK-FK
  • ✔️FK-PK
  • ✔️ FK-FK
  • ❌ PK-PK

PK-PK не может быть, так как они должны быть уникальны, а значит одинаковых значений быть не может между ними.

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

То есть Сотрудник под первым номером будет соединён с первой ЗП
(так как Сотрудник.ID=1 -> Оклад.ID=1 это одинаковые значения, по которым записи можно соединить)

Объяснение

Также, ключи можно связывать в более длинные цепочки:

  • ✔️ FK-PK-FK-FK
  • ✔️ FK-FK-FK-FK
  • ❌ PK-FK-PK

Виды связей: (столбцов) с используемыми обозначениями

  1. 1 к 1
    1 к 1
  2. 1 к многим
    1 к многим
  3. Многие ко многим
    Многие ко многим

Можно использовать любой из трех способов для изображения связи, самое главное — постоянство!

Разновидности связей:

  1. Постоянная
  2. Временная