Первичный ключ, внешний ключ, отношения. Первичный ключ — это поле или совокупность полей таблицы, которое однозначно идентифицирует каждую строку. Значение первичного ключа не должно повторяться и, как правило, не может быть NULL . Именно первичный ключ позволяет надежно ссылаться на конкретную запись. Внешний ключ — это поле или группа полей в одной таблице, которое ссылается на первичный ключ другой таблицы. Внешние ключи используются для обеспечения ссылочной целостности данных и описывают связи между таблицами. Отношения между таблицами В реляционных системах управления базами данных (РСУБД) таблицы связываются между собой с помощью первичных (PK) и внешних (FK) ключей. Тип связи определяет, сколько записей одной таблицы может соответствовать записям другой. Связь «один ко многим» Одна запись в родительской таблице может быть связана с множеством записей в дочерней таблице. Пример. Одна область ( Area ) может содержать множество блоков ( BlastBlocks ). В таблице BlastBlock присутствует колонка AreaId , которая является внешним ключом и ссылается на первичный ключ таблицы областей. Связь «один к одному» Каждая запись в одной таблице связана ровно с одной записью в другой таблице. Пример. Один сотрудник связан с одним служебным пропуском. В одной из таблиц внешний ключ имеет ограничение уникальности и ссылается на первичный ключ другой таблицы. Связь «многие ко многим» Одна запись в таблице может быть связана со множеством записей в другой таблице, и наоборот. Такую связь невозможно реализовать напрямую, поэтому используется промежуточная таблица. Она содержит два внешних ключа — по одному на каждую из связанных таблиц. Пример. Студент может посещать множество курсов, и на один курс могут быть записаны многие студенты. Промежуточная таблица хранит пары идентификаторов студентов и курсов.