Первичные ключи таблицы – это специальные случаи комбинирования ограничений UNIQUE и NOT NULL. Первичные ключи имеют следующие особенности:
- таблица может содержать только один первичный ключ ;
- внешние ключи по умолчанию ссылаются на первичный ключ таблицы;
- первичный ключ является идентификатором строк таблицы (строки, однако, могут идентифицироваться и другими способами).
Пример. Создать таблицу STUDENT с первичным ключом по полю STUDENT_ID :
CREATE TABLE STUDENT
( STUDENT_ID INTEGER PRIMARY KEY,
SURNAME VARCHAR(60) NOT NULL,
NAME VARCHAR(60) NOT NULL,
STIPEND DOUBLE,
KURS INTEGER,
CITY VARCHAR(60),
BIRTHDAY DATE,
UNIV_ID INTEGER);
Составные первичные ключи
Ограничение PRIMARY KEYможет также применено для нескольких полей, составляющих уникальную комбинацию значений – составной первичный ключ.
Пример. Создать таблицу EXAM_MARKSс учетом того, чтобы в таблице не могли появиться разные записи для одинаковых комбинаций значений полей STUDENT_ID и EXAM_ID (конкретный студент на конкретном экзамене не может получить более одной оценки).
CREATE TABLENEW_EXAM_MARKS
( EXAM_ID INTEGER NOT NULL,
STUDENT_ID INTEGER NOT NULL,
SUBJ_ID INTEGER NOT NULL,
MARK CHAR(1),
EXAM_DATE DATE NOT NULL,
CONSTRAINTEX_PR_KEYPRIMARY KEY(EXAM_ID, STUDENT_ID));
27.02.2012