Назад к вопросам
Junior
71
questionbank
Что такое ограничения (constraints) в SQL?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Ограничения в SQL — это правила, которые применяются к колонкам в таблице с целью ограничения типа данных, которые могут быть в них записаны. Они обеспечивают целостность, точность и надежность данных.
Основные типы ограничений:
NOT NULL: Гарантирует, что столбец не может содержать NULL значения.UNIQUE: Гарантирует, что все значения в столбце уникальны.PRIMARY KEY: КомбинацияUNIQUEиNOT NULL. Определяет уникальную запись в таблице.FOREIGN KEY: Связывает данные между двумя таблицами, ссылаясь наPRIMARY KEYв другой таблице. Обеспечивает ссылочную целостность.DEFAULT: Устанавливает значение по умолчанию для столбца, если не указано другое значение при вставке.CHECK: Позволяет ограничить диапазон значений, которые могут быть записаны в столбце.
Пример создания таблицы с ограничениями:
CREATE TABLE Persons (
PersonID int NOT NULL UNIQUE, -- NOT NULL и UNIQUE
LastName varchar(255) NOT NULL, -- NOT NULL
FirstName varchar(255),
Age int CHECK (Age >= 18), -- CHECK
City varchar(255) DEFAULT 'London', -- DEFAULT
PRIMARY KEY (PersonID) -- PRIMARY KEY
);
Пример создания FOREIGN KEY:
CREATE TABLE Orders (
OrderID int NOT NULL,
OrderNumber int NOT NULL,
PersonID int,
PRIMARY KEY (OrderID),
FOREIGN KEY (PersonID) REFERENCES Persons(PersonID) -- FOREIGN KEY
);
Ограничения могут быть добавлены при создании таблицы или изменены после.
| Ограничение | Описание |
|---|---|
NOT NULL |
Запрещает NULL |
UNIQUE |
Все значения уникальны |
PRIMARY KEY |
Уникальный идентификатор строки (NOT NULL + UNIQUE) |
FOREIGN KEY |
Ссылка на PRIMARY KEY другой таблицы (ссылочная целостность) |
DEFAULT |
Значение по умолчанию |
CHECK |
Проверка условий для значений |