Внешний ключ
-
Определение и использование внешних ключей
- Внешний ключ — это атрибут или набор атрибутов, значения которых соответствуют ключу-кандидату в другой таблице.
- Внешний ключ используется для обеспечения целостности данных, связывая строки в разных таблицах.
-
Ограничения и ссылочная целостность
- Внешний ключ должен быть уникальным и не иметь значения NULL.
- Нарушение ограничений может привести к проблемам с базой данных.
-
Проектирование базы данных и нормализация
- Внешние ключи помогают отражать отношения между объектами реального мира в базе данных.
- Нормализация базы данных разбивает таблицы на части, а внешние ключи позволяют их реконструировать.
-
Типы отношений и каскадные связи
- Внешние ключи могут быть определены для одного или нескольких столбцов, и каждый внешний ключ может иметь свою родительскую таблицу.
- Каскадные связи между таблицами устанавливаются с помощью внешних ключей.
-
Синтаксис и ссылочные действия
- Внешний ключ определяется с помощью SQL:2003 и может быть определен как часть инструкции CREATE TABLE или хранимой процедуры.
- Существуют различные ссылочные действия, включая каскадное удаление и ограничение, которые влияют на поведение таблиц при изменении данных.
-
Раздражители и ограничения
- Ссылочные действия могут быть реализованы как триггеры и подвержены тем же ограничениям, что и пользовательские триггеры.
- При изоляции транзакций изменения в строке могут не полностью каскадироваться из-за ограничений базы данных.
-
Пример использования внешних ключей
- В примере с базой данных счетов-фактур внешний ключ связывает счета-фактуры с поставщиками, используя номер поставщика в качестве первичного ключа.