Расширенные возможности SQL
- Что такое ограничения
- Первичные ключи
- Внешние ключи
- Ограничения уникальности
- Ограничения на значения столбца
Первичные ключи
О первичных ключах я писал в разделе, "Что такое SQL". Первичный ключ — это особое ограничение, применяемое для того, чтобы значения в столбце (или наборе столбцов) были уникальными и никогда не изменя-лись. Другими словами, это столбец (или столбцы) таблицы, значения которого однозначно идентифицируют каждую строку таблицы. Это облегчает непосредственное манипулирование отдельными строками и взаимодействие с ними. Без первичных ключей было бы очень трудно обновлять или удалять определенные строки, не задевая при этом другие.
Любой столбец таблицы может быть назначен на роль первичного ключа, но только если он удовлетворяет следующим условиям.
• Никакие две строки не могут иметь одно и то же значение первичного ключа.
• Каждая строка должна иметь какое-то значение первичного ключа. (В таких столбцах не должно быть разрешено использование значений NULL.)
• Столбец, содержащий значения первичного ключа, не может быть модифицирован или обновлен.
• Значения первичного ключа ни при каких обстоятельствах не могут быть использованы повторно. Если какая-то строка удалена из таблицы, ее первичный ключ не может быть назначен какой-то другой строке.
Одним из способов определения первичных ключей является их создание:
vend_id CHAR (10) NOT NULL PRIMARY KEY,
vend_name CHAR(50) NOT NULL,
vend_address CHAR (50) NULL,
vend_city CHAR(50) NULL,
vend_state CHAR(5) NULL,
vend_ZIP CHAR (10) NULL,
vend_country CHAR (50) NULL
В этом примере в определение таблицы добавлено ключевое слово PRIMARY KEY, так что столбец vend_id становится первичным ключом.
ADD CONSTRAINT PRIMARY KEY (vend_id);
Здесь в качестве первичного ключа определен тот же самый столбец, но использован синтаксис CONSTRAINT. Этот синтаксис может быть использован в операторах CREATE TABLE и ALTER TABLE.



