[SQL] 제약조건(Constraints)

Estar·2024년 7월 12일
0

TIL

목록 보기
6/17
post-thumbnail

주요 제약조건과 설명

NOT NULL:

정의: 특정 열이 NULL 값을 가질 수 없도록 제한합니다.

CREATE TABLE employees (
    employee_id INT NOT NULL,
    name VARCHAR(100) NOT NULL,
    position VARCHAR(50),
    salary DECIMAL(10, 2)
);

여기서 employee_id와 name 열은 NULL 값을 가질 수 없습니다.

UNIQUE:

정의: 특정 열 또는 열 조합의 값이 테이블 내에서 고유해야 함을 보장합니다.

CREATE TABLE employees (
    employee_id INT PRIMARY KEY,
    email VARCHAR(100) UNIQUE,
    name VARCHAR(100),
    position VARCHAR(50),
    salary DECIMAL(10, 2)
);

여기서 email 열의 값은 테이블 내에서 고유해야 합니다.

PRIMARY KEY:

정의: 테이블 내의 각 행을 고유하게 식별하는 열 또는 열의 조합을 지정합니다. 기본 키는 자동으로 NOT NULL과 UNIQUE 제약조건을 포함합니다.

CREATE TABLE employees (
    employee_id INT PRIMARY KEY,
    name VARCHAR(100),
    position VARCHAR(50),
    salary DECIMAL(10, 2)
);

여기서 employee_id 열이 기본 키입니다.

FOREIGN KEY:

정의: 한 테이블의 열이 다른 테이블의 기본 키 또는 고유 키를 참조함을 보장합니다.

CREATE TABLE orders (
    order_id INT PRIMARY KEY,
    employee_id INT,
    FOREIGN KEY (employee_id) REFERENCES employees(employee_id)
);

여기서 employee_id 열이 employees 테이블의 employee_id를 참조합니다.

DEFAULT:

정의: 열에 값을 명시하지 않으면 자동으로 기본값을 할당합니다.

CREATE TABLE employees (
    employee_id INT PRIMARY KEY,
    name VARCHAR(100),
    position VARCHAR(50),
    salary DECIMAL(10, 2) DEFAULT 0.00
);

여기서 salary 열의 기본값은 0.00입니다.

CHECK:

정의: 열의 값이 특정 조건을 만족하도록 제한합니다.

CREATE TABLE employees (
    employee_id INT PRIMARY KEY,
    name VARCHAR(100),
    position VARCHAR(50),
    salary DECIMAL(10, 2),
    CHECK (salary >= 0)
);

여기서 salary 열의 값은 0 이상이어야 합니다.

요약

제약조건 (Constraints): 테이블의 데이터 무결성을 유지하기 위해 열에 적용되는 규칙입니다.

NOT NULL: 열이 NULL 값을 가질 수 없도록 제한.
UNIQUE: 열의 값이 고유해야 함.
PRIMARY KEY: 테이블의 각 행을 고유하게 식별.
FOREIGN KEY: 다른 테이블의 기본 키 또는 고유 키를 참조.
DEFAULT: 열의 기본값을 설정.
CHECK: 열의 값이 특정 조건을 만족해야 함.
제약조건을 사용하면 데이터베이스의 무결성을 유지하고, 잘못된 데이터가 입력되는 것을 방지할 수 있습니다.

profile
개발자를 꿈꿔요

0개의 댓글

관련 채용 정보