← Назад ко всем вопросам

Что такое CONSTRAINT в SQL

1️⃣ Как кратко ответить

CONSTRAINT в SQL — это ограничение, которое накладывается на данные в таблице для обеспечения их целостности и корректности. Оно определяет правила, которым должны соответствовать данные, такие как уникальность, наличие значения, соответствие внешнему ключу и другие.

2️⃣ Подробное объяснение темы

CONSTRAINT в SQL — это механизм, который позволяет устанавливать ограничения на данные в таблице базы данных. Эти ограничения помогают поддерживать целостность данных, гарантируя, что данные в таблице соответствуют определенным правилам и условиям. Рассмотрим основные типы ограничений и их применение.

Основные типы CONSTRAINT

  1. NOT NULL: Гарантирует, что столбец не может содержать значение NULL. Это полезно, когда необходимо, чтобы в каждом ряду таблицы было обязательно указано значение для данного столбца.

    CREATE TABLE Employees (
        EmployeeID INT,
        FirstName VARCHAR(50) NOT NULL,
        LastName VARCHAR(50) NOT NULL
    );
    

    В этом примере столбцы FirstName и LastName не могут содержать NULL, что означает, что для каждого сотрудника должны быть указаны имя и фамилия.

  2. UNIQUE: Обеспечивает уникальность значений в столбце или комбинации столбцов. Это полезно для предотвращения дублирования данных.

    CREATE TABLE Employees (
        EmployeeID INT UNIQUE,
        Email VARCHAR(100) UNIQUE
    );
    

    Здесь EmployeeID и Email должны быть уникальными для каждого сотрудника, что предотвращает дублирование идентификаторов и адресов электронной почты.

  3. PRIMARY KEY: Это комбинация NOT NULL и UNIQUE. PRIMARY KEY идентифицирует каждую запись в таблице уникально.

    CREATE TABLE Employees (
        EmployeeID INT PRIMARY KEY,
        FirstName VARCHAR(50),
        LastName VARCHAR(50)
    );
    

    EmployeeID является первичным ключом, что означает, что он уникален и не может быть NULL.

  4. FOREIGN KEY: Обеспечивает ссылочную целостность между двумя таблицами. FOREIGN KEY в одной таблице указывает на PRIMARY KEY в другой таблице.

    CREATE TABLE Departments (
        DepartmentID INT PRIMARY KEY,
        DepartmentName VARCHAR(50)
    );
    ​
    CREATE TABLE Employees (
        EmployeeID INT PRIMARY KEY,
        FirstName VARCHAR(50),
        LastName VARCHAR(50),
        DepartmentID INT,
        FOREIGN KEY (DepartmentID) REFERENCES Departments(DepartmentID)
    );
    

    В этом примере DepartmentID в таблице Employees является внешним ключом, который ссылается на DepartmentID в таблице Departments.

  5. CHECK: Устанавливает условие, которому должны соответствовать данные в столбце.

    CREATE TABLE Employees (
        EmployeeID INT PRIMARY KEY,
        FirstName VARCHAR(50),
        LastName VARCHAR(50),
        Age INT CHECK (Age >= 18)
    );
    

    Здесь CHECK гарантирует, что возраст сотрудника должен быть не менее 18 лет.

Зачем нужны CONSTRAINT

CONSTRAINTS необходимы для обеспечения целостности и надежности данных в базе данных. Они помогают:

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

CONSTRAINTS являются важной частью проектирования базы данных и помогают поддерживать высокое качество данных, что в свою очередь улучшает надежность и производительность приложений, работающих с этими данными.

Тема: Базы данных и SQL
Стадия: Tech

🔒 Подпишись на бусти автора и стань Алигатором, чтобы получить полный доступ к функционалу сайта и отслеживать свой прогресс!

Твои заметки