В реляционных базах данных связи между таблицами настраиваются с помощью внешних ключей (Foreign Keys).
Внешний ключ — это колонка или набор колонок в одной таблице, которые ссылаются на первичный ключ (Primary Key) другой таблицы. Он устанавливает логическую связь между записями в двух таблицах.
При настройке связи:
CASCADE: Изменения каскадно применяются к дочерним записям.SET NULL: Значения внешнего ключа в дочерней таблице устанавливаются в NULL.RESTRICT: Операция изменения запрещается, если существуют связанные дочерние записи.NO ACTION: Аналогично RESTRICT в большинстве СУБД.SET DEFAULT: Значения внешнего ключа устанавливаются в значение по умолчанию.ON UPDATE.Пример синтаксиса SQL для создания связи:
sql
Типы связей между таблицами:
| Тип связи | Описание | Пример |
|---|---|---|
| One-to-One (1:1) | Одна запись в первой таблице соответствует одной записи во второй и наоборот. Редкий случай для реляционных БД. | Пользователь и его профиль. |
| One-to-Many (1:N) | Одна запись в первой таблице соответствует множеству записей во второй, но каждая запись во второй соответствует только одной записи в первой. | Клиент и его заказы. |
| Many-to-Many (N:M) | Множество записей в первой таблице соответствует множеству записей во второй, и наоборот. Реализуется через промежуточную (связующую) таблицу. | Продукты и категории. |
Для связи Many-to-Many создается третья таблица, содержащая внешние ключи к обеим таблицам, которые нужно связать.
sql