Всякая таблица обычно содержит один или несколько столбцов, значение или совокупность значений которых уникально идентифицируют каждую строку в таблице. Этот столбец (или столбцы) называется первичным ключом (PrimaryKey, PK) таблицы.
Если в первичный ключ входит более одного столбца, значения в пределах одного столбца могут дублироваться, но любая совокупность значений всех столбцов первичного ключа при этом должна быть уникальна. Например, в таблице «Дисциплины» один столбец (ID_Дисциплина) определен как первичный ключ (рис.7.1), а для таблицы «Сводная ведомость» задан составной первичный ключ — в него входят значения столбцов ID_Студент и ID_Дисциплина.
Таблица может иметь только один первичный ключ, причем никакой столбец, входящий в первичный ключ, не может хранить значения NULL.
Еще одним назначением первичного ключа является обеспечение ссылочной целостности данных в нескольких таблицах. Естественно, это может быть реализовано только при наличии соответствующих внешних ключей (FOREIGNKEY) в других (дочерних) таблицах.
Рис. 7.1. Первичный ключ таблицы «Учебный_план»
Если по столбцу строится первичный ключ, столбцу должен быть приписан атрибут PRIMARYKEY (ограничение целостности на уровне столбца), например, описание столбца ID_Пландля таблицы «Учебный_план» (см. рис. 7.1) может выглядеть следующим образом:
ID_Дисциплина INTEGER NOT NULL PRIMARY KEY
Первичный ключ может быть также построен и с помощью отдельного предложения PRIMARYKEY (ограничение целостности на уровне таблицы) - путем включения имени (имен) ключевого столбца (столбцов) в качестве параметров. Например, первичный ключ для таблицы «Сводная_ведомость» (рис. 7.2) может быть задан следующим образом:
PRIMARY KEY (ID_Дисциплина, ID_Студент)
Рис. 7.2. Первичный ключ таблицы «Сводная_ведомость»