Назад к вопросам
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 Проверка условий для значений