데이터베이스에서 제약 조건은 데이터의 무결성과 일관성을 유지하기 위해 사용됩니다. 제약 조건은 테이블에 적용되며, 특정 규칙을 준수해야 하는 데이터의 조건을 정의합니다. 이러한 제약 조건이 없으면 데이터베이스는 부적합한 데이터를 저장할 수 있으므로, 제약 조건은 데이터의 정확성과 신뢰성을 보장하는 중요한 요소입니다.
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
);
이 외에도 데이터베이스 관리 시스템에 따라 다양한 제약 조건이 존재할 수 있으며, 이를 활용하여 데이터의 정확성과 일관성을 유지하는 것이 중요합니다.
참고 문서: