Содержание статьи:
Внешние ключи (FK) это
Внешние ключи (FK) реляционной базы данных это столбец, а может сочетание столбцов, используемые для принудительного установления связи между данными в двух таблицах. Внешний ключ можно создать, определив ограничение FOREIGN KEY при создании или изменении таблицы.
Внешний ключ и родительский ключ
Когда все значения в одном поле таблицы представлены в поле другой таблицы, мы говорим, что первое поле ссылается на второе. Это указывает на прямую связь между значениями двух полей.
Когда одно поле в таблице ссылается на другое, оно называется – внешним ключом, а поле, на которое оно ссылается, называется родительским ключом.
Имена внешнего ключа и родительского ключа не обязательно должны быть одинаковыми, это только соглашение, которому мы следуем, чтобы делать соединение более понятным.
Многостолбцовые внешние ключи
В действительности, внешний ключ не обязательно состоит только из одного поля. Подобно первичному ключу, внешний ключ может иметь любое число полей, которые все обрабатываются как единый модуль.
Смысл внешнего и родительского ключей
Когда поле является внешним ключом, оно определенным образом связано с таблицей, на которую он ссылается. Каждое значение в этом поле (внешнем ключе) непосредственно привязано к значению в другом поле (первичном ключе).
Каждое значение (каждая строка) внешнего ключа должно недвусмысленно ссылаться к одному и только этому значению (строке) родительского (первичного) ключа. Если это так, то фактически ваша система, как говорится, будет в состоянии справочной целостности.
Понятно, что каждое значение во внешнем ключе должно быть представлено один, и только один раз, в родительском ключе.
Видео урок: Внешние ключи SQL
Полезные ссылки
Учебник по базам данных тут:
Все видео уроки SQL
- Введение в SQL, видео урок 1
- Лекция о языке SQL
- Урок 3, Установка MySQL
- 4 Урок, Базовые команды SQL
- 5 Видеоурок, Команда SQL SELECT
- 6 Видео Урок, команды DELETE и UPDATE, удалять и обновлять записи, языка SQL
- Урок 7. Понятие нормализации в теории БД
- SQL ALTER TABLE — sql запрос на модификацию таблицы базы данных
- Строковые функции SQL, УРОК 9.
- Урок 10, Оператор Case и сортировка данных в алфавитном порядке