Связанность в базах данных (реляционных) устанавливается через отношения между таблицами, которые определяются внешними ключами (FOREIGN KEY). Внешний ключ в одной таблице ссылается на первичный ключ (PRIMARY KEY) или уникальный ключ (UNIQUE KEY) в другой таблице, создавая логическую связь.
Типы связанных отношений:
- Один к одному (One-to-One): Каждая запись в первой таблице связана только с одной записью во второй, и наоборот. Редко используются, обычно такие данные можно объединить в одну таблицу.
- Один ко многим (One-to-Many): Каждая запись в первой таблице может быть связана с несколькими записями во второй таблице, но каждая запись во второй таблице связана только с одной записью в первой. Наиболее распространенный тип.
- Многие ко многим (Many-to-Many): Каждая запись в первой таблице может быть связана с несколькими записями во второй, и каждая запись во второй таблице может быть связана с несколькими записями в первой. Реализуется через промежуточную (связующую) таблицу, содержащую внешние ключи из обеих связанных таблиц.
Механизм работы:
При установке связи с помощью FOREIGN KEY
база данных обеспечивает ссылочную целостность. Это означает, что система управления базами данных (СУБД) проверяет, что значения во внешнем ключе существуют в столбце, на который он ссылается (обычно первичный ключ).
Опции ON DELETE
и ON UPDATE
определяют поведение при удалении или обновлении записи в связанной таблице (таблице с первичным ключом):
- RESTRICT (по умолчанию): Запрещает удаление или обновление записи, если на неё существует ссылка во внешней таблице.
- CASCADE: Удаляет или обновляет связанные записи во внешней таблице.
- SET NULL: Устанавливает значение внешнего ключа
NULL
в связанных записях во внешней таблице. Возможно только при разрешении NULL
для столбца внешнего ключа.
- NO ACTION: Аналогично `RE
Связанность в базах данных (реляционных) устанавливается через отношения между таблицами, которые определяются внешними ключами (FOREIGN KEY). Внешний ключ в одной таблице ссылается на первичный ключ (PRIMARY KEY) или уникальный ключ (UNIQUE KEY) в другой таблице, создавая логическую связь.
Типы связанных отношений:
- Один к одному (One-to-One): Каждая запись в первой таблице связана только с одной записью во второй, и наоборот. Редко используются, обычно такие данные можно объединить в одну таблицу.
- Один ко многим (One-to-Many): Каждая запись в первой таблице может быть связана с несколькими записями во второй таблице, но каждая запись во второй таблице связана только с одной записью в первой. Наиболее распространенный тип.
- Многие ко многим (Many-to-Many): Каждая запись в первой таблице может быть связана с несколькими записями во второй, и каждая запись во второй таблице может быть связана с несколькими записями в первой. Реализуется через промежуточную (связующую) таблицу, содержащую внешние ключи из обеих связанных таблиц.
Механизм работы:
При установке связи с помощью FOREIGN KEY
база данных обеспечивает ссылочную целостность. Это означает, что система управления базами данных (СУБД) проверяет, что значения во внешнем ключе существуют в столбце, на который он ссылается (обычно первичный ключ).
Опции ON DELETE
и ON UPDATE
определяют поведение при удалении или обновлении записи в связанной таблице (таблице с первичным ключом):
- RESTRICT (по умолчанию): Запрещает удаление или обновление записи, если на неё существует ссылка во внешней таблице.
- CASCADE: Удаляет или обновляет связанные записи во внешней таблице.
- SET NULL: Устанавливает значение внешнего ключа
NULL
в связанных записях во внешней таблице. Возможно только при разрешении NULL
для столбца внешнего ключа.
- NO ACTION: Аналогично `RE