Skip to main content

Первичный ключ, внешний ключ, отношения.

Первичный ключ — это поле или совокупность полей таблицы, которое однозначно идентифицирует каждую строку. Значение первичного ключа не должно повторяться и, как правило, не может быть NULL. Именно первичный ключ позволяет надежно ссылаться на конкретную запись.

Внешний ключ — это поле или группа полей в одной таблице, которое ссылается на первичный ключ другой таблицы. Внешние ключи используются для обеспечения ссылочной целостности данных и описывают связи между таблицами.

Отношения между таблицами

В реляционных системах управления базами данных (РСУБД) таблицы связываются между собой с помощью первичных (PK) и внешних (FK) ключей. Тип связи определяет, сколько записей одной таблицы может соответствовать записям другой.

Связь «один ко многим»

Одна запись в родительской таблице может быть связана с множеством записей в дочерней таблице.

Пример. Одна область (Area) может содержать множество блоков (BlastBlocks). В таблице BlastBlock присутствует колонка AreaId, которая является внешним ключом и ссылается на первичный ключ таблицы областей.

Связь «один к одному»

Каждая запись в одной таблице связана ровно с одной записью в другой таблице.

Пример. Один сотрудник связан с одним служебным пропуском. В одной из таблиц внешний ключ имеет ограничение уникальности и ссылается на первичный ключ другой таблицы.

Связь «многие ко многим»

Одна запись в таблице может быть связана со множеством записей в другой таблице, и наоборот.

Такую связь невозможно реализовать напрямую, поэтому используется промежуточная таблица. Она содержит два внешних ключа — по одному на каждую из связанных таблиц.

Пример. Студент может посещать множество курсов, и на один курс могут быть записаны многие студенты. Промежуточная таблица хранит пары идентификаторов студентов и курсов.