Какие знаешь SQL Constraints

«Какие знаешь SQL Constraints» — вопрос из категории Базы данных, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

  • PRIMARY KEY: Уникально идентифицирует каждую запись. Не может быть NULL.
    CREATE TABLE Users (id INTEGER PRIMARY KEY, name TEXT);
  • FOREIGN KEY: Обеспечивает ссылочную целостность между таблицами.
    CREATE TABLE Orders (id INTEGER, user_id INTEGER, FOREIGN KEY (user_id) REFERENCES Users(id));
  • UNIQUE: Гарантирует, что все значения в столбце уникальны.
    CREATE TABLE Products (id INTEGER, sku TEXT UNIQUE);
  • NOT NULL: Запрещает NULL значения в столбце.
    CREATE TABLE Employees (id INTEGER, name TEXT NOT NULL);
  • CHECK: Проверяет условие перед вставкой/обновлением.
    CREATE TABLE Students (age INTEGER CHECK (age >= 18));
  • DEFAULT: Устанавливает значение по умолчанию.
    CREATE TABLE Tasks (status TEXT DEFAULT 'Pending');