[sql] 제약 조건의 종류

데이터베이스에서 제약 조건은 데이터의 무결성과 일관성을 유지하기 위해 사용됩니다. 제약 조건은 테이블에 적용되며, 특정 규칙을 준수해야 하는 데이터의 조건을 정의합니다. 이러한 제약 조건이 없으면 데이터베이스는 부적합한 데이터를 저장할 수 있으므로, 제약 조건은 데이터의 정확성과 신뢰성을 보장하는 중요한 요소입니다.

1. 기본 키 제약 조건 (Primary Key Constraint)

기본 키 제약 조건은 테이블 내에서 고유한 식별자를 가지는 필드를 정의합니다. 이 필드는 NULL 값을 가질 수 없으며, 중복된 값을 가질 수 없습니다. 기본 키는 테이블에 대한 레코드의 유일성을 보장하기 위해 사용됩니다.

CREATE TABLE Users (
  id INT PRIMARY KEY,
  name VARCHAR(50)
);

2. 외래 키 제약 조건 (Foreign Key Constraint)

외래 키 제약 조건은 테이블 사이의 관계를 정의합니다. 외래 키는 다른 테이블의 기본 키와 연결되는 필드로, 참조 무결성을 유지하기 위해 사용됩니다. 외래 키 제약 조건은 참조되는 테이블의 값을 참조하거나 변경할 때 일관성을 유지할 수 있도록 합니다.

CREATE TABLE Orders (
  id INT PRIMARY KEY,
  user_id INT,
  product_id INT,
  FOREIGN KEY (user_id) REFERENCES Users(id),
  FOREIGN KEY (product_id) REFERENCES Products(id)
);

3. NOT NULL 제약 조건 (NOT NULL Constraint)

NOT NULL 제약 조건은 특정 필드가 NULL 값을 가질 수 없도록 정의합니다. 필수적인 데이터의 입력을 강제하고, 무결성을 유지하는 데 사용됩니다.

CREATE TABLE Products (
  id INT PRIMARY KEY,
  name VARCHAR(50) NOT NULL,
  price DECIMAL(10,2) NOT NULL
);

4. 유니크 제약 조건 (Unique Constraint)

유니크 제약 조건은 특정 필드가 고유한 값을 가져야 함을 정의합니다. 이 제약 조건을 사용하면 중복된 값을 가지지 않도록 보장할 수 있습니다.

CREATE TABLE Employees (
  id INT PRIMARY KEY,
  email VARCHAR(50) UNIQUE,
  phone VARCHAR(20) UNIQUE
);

5. 기본값 제약 조건 (Default Constraint)

기본값 제약 조건은 필드에 기본 값을 설정하는 데 사용됩니다. 필드에 값이 지정되지 않은 경우, 기본값이 자동으로 할당됩니다.

CREATE TABLE Customers (
  id INT PRIMARY KEY,
  name VARCHAR(50),
  age INT DEFAULT 0
);

이 외에도 데이터베이스 관리 시스템에 따라 다양한 제약 조건이 존재할 수 있으며, 이를 활용하여 데이터의 정확성과 일관성을 유지하는 것이 중요합니다.

참고 문서: