Назад к вопросам
Junior
69
questionbank

Как добавить ограничения в базу данных?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

Ограничения в базу данных добавляются при создании таблицы (ALTER TABLE) или модификации существующей таблицы (ALTER TABLE).

Основные типы ограничений в SQL:

  • NOT NULL: Гарантирует, что столбец не может содержать отсутствующие значения.
  • UNIQUE: Гарантирует, что все значения в столбце (или комбинации столбцов) уникальны.
  • PRIMARY KEY: Комбинация NOT NULL и UNIQUE. Уникально идентифицирует каждую строку в таблице.
  • FOREIGN KEY: Связывает таблицы, ссылаясь на PRIMARY KEY в другой таблице. Обеспечивает ссылочную целостность.
  • CHECK: Гарантирует, что все значения в столбце удовлетворяют определенному условию.
  • DEFAULT: Устанавливает значение по умолчанию для столбца, если значение не указано при вставке.

Примеры:

-- Добавление ограничения NOT NULL при создании таблицы
CREATE TABLE Users (
    UserID INT NOT NULL,
    UserName VARCHAR(255) NOT NULL
);
-- Добавление ограничения UNIQUE на существующий столбец
ALTER TABLE Emails
ADD UNIQUE (EmailAddress);
-- Добавление ограничения PRIMARY KEY при создании таблицы
CREATE TABLE Products (
    ProductID INT PRIMARY KEY,
    ProductName VARCHAR(255)
);
-- Добавление ограничения FOREIGN KEY на существующий столбец
ALTER TABLE Orders
ADD FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID);
-- Добавление ограничения CHECK при создании таблицы
CREATE TABLE Products (
    ProductID INT PRIMARY KEY,
    Price DECIMAL(10, 2) CHECK (Price > 0)
);
-- Добавление ограничения DEFAULT при создании таблицы
CREATE TABLE Statuses (
    StatusID INT,
    StatusName VARCHAR(50) DEFAULT 'Pending'
);