Sobes.tech
Junior — Middle

Comment peut-on imposer des restrictions sur plusieurs colonnes dans une base de données ou un système?

sobes.tech IA

Réponse de l'IA

Ограничения на несколько колонок в базе данных обычно реализуются с помощью составных ограничений:

  • Составной уникальный индекс (UNIQUE constraint) — гарантирует, что комбинация значений в нескольких колонках уникальна.
  • Составной первичный ключ (PRIMARY KEY) — уникально идентифицирует запись по нескольким колонкам.
  • CHECK-ограничения, которые могут проверять условия, включающие несколько колонок.

Пример создания уникального ограничения на две колонки в SQL:

ALTER TABLE employees
ADD CONSTRAINT unique_email_department UNIQUE (email, department_id);

В Java при работе с JPA можно использовать аннотацию @UniqueConstraint в @Table:

@Entity
@Table(name = "employees", uniqueConstraints = {
    @UniqueConstraint(columnNames = {"email", "department_id"})
})
public class Employee {
    // поля
}

Таким образом, база данных гарантирует соблюдение ограничений на уровне нескольких колонок.