Пример. Объявить поле STUDENT_ID уникальным:
CREATE TABLE STUDENT
( STUDENT_ID INTEGER NOT NULLUNIQUE,
SURNAME VARCHAR(60) NOT NULL,
NAME VARCHAR(60) NOT NULL,
STIPEND DOUBLE,
KURS INTEGER,
CITY VARCHAR(60),
BIRTHDAY DATE,
UNIV_ID INTEGER);
Уникальность как ограничение таблицы
Пример. Создать таблицу EXAM_MARKSс учетом того, что не допускается, чтобы студент сдавал в один день больше одного экзамена. Для этого объявляется уникальной комбинация значений полей STUDENT_ID и EXAM_DATE.
CREATE TABLEEXAM_MARKS
( EXAM_ID INTEGER NOT NULL,
STUDENT_ID INTEGER NOT NULL,
SUBJ_ID INTEGER NOT NULL,
MARK CHAR(1),
EXAM_DATE DATE NOT NULL,
UNIQUE(STUDENT_ID, EXAM_DATE));
Присвоение имен ограничениям
Ограничениям таблиц можно присваивать уникальные имена. Преимущество явного задания имени ограничения состоит в том, ч то в э том случае при выдаче системой сообщения о нарушении установленного ограничения будет указано его имя, что упрощает обнаружение ошибок.
Пример. Присвоить имя STUD_ SUBJ_CONSTRограничению в предыдущем примере:
CREATE TABLEEXAM_MARKS
( EXAM_ID INTEGER NOT NULL,
STUDENT_ID INTEGER NOT NULL,
SUBJ_ID INTEGER NOT NULL,
MARK CHAR(1),
EXAM_DATE DATE NOT NULL,
CONSTRAINTSTUD_ SUBJ_CONSTR
UNIQUE(STUDENT_ID, EXAM_DATE));