Вопрос19
Осталось:

Что такое ограничения (constraints) и какие виды существуют?

Образцовый ответ

Показывать ответ по умолчанию

Ограничения обеспечивают целостность и надежность данных в таблице, определяя правила для данных в столбцах.

Виды ограничений:

NOT NULL:

  • Запрещает хранение NULL значений в столбце.

Пример:

MySQL
CREATE TABLE products (
    product_id INT PRIMARY KEY,
    name VARCHAR(100) NOT NULL
);

UNIQUE:

  • Обеспечивает уникальность значений в столбце или группе столбцов.

Пример:

MySQL
CREATE TABLE users (
    user_id INT PRIMARY KEY,
    email VARCHAR(100) UNIQUE
);

PRIMARY KEY:

  • Комбинация NOT NULL и UNIQUE.
  • Идентифицирует каждую запись в таблице.

FOREIGN KEY:

  • Обеспечивает ссылочную целостность между таблицами.
  • Значение должно соответствовать существующему значению первичного ключа в связанной таблице.

Пример:

MySQL
CREATE TABLE orders (
    order_id INT PRIMARY KEY,
    user_id INT,
    FOREIGN KEY (user_id) REFERENCES users(user_id)
);

CHECK:

  • Определяет условие, которому должны соответствовать значения в столбце.

Пример:

MySQL
CREATE TABLE employees (
    id INT PRIMARY KEY,
    age INT CHECK (age >= 18)
);

DEFAULT:

  • Устанавливает значение по умолчанию для столбца, если значение не указано при вставке.
MySQL
CREATE TABLE tasks (
    task_id INT PRIMARY KEY,
    status VARCHAR(20) DEFAULT 'Pending'
);