데이터베이스의 테이블에 저장된 데이터가 특정 규칙을 따르도록 강제하는 규칙 또는 제한
데이터의 정확성, 일관성, 신뢰성을 보장하기 위해 사용
PRIMARY KEY (기본 키 제약 조건)
- 각 행을 고유하게 식별하는 데 사용되는 열(또는 열의 조합)에 적용
- 기본 키로 지정된 열은 NULL 값을 가질 수 없으며, 테이블 내에서 각 행은 고유한 기본 키 값을 가져야 함
users 테이블에 user_id를 기본 키로 설정하는 예
CREATE TABLE users (
user_id SERIAL PRIMARY KEY,
username VARCHAR(50) NOT NULL,
email VARCHAR(100) NOT NULL
);
FOREIGN KEY (외래 키 제약 조건)
- 두 테이블 간의 관계를 정의하고, 참조 무결성을 유지하기 위해 사용
- 외래 키 값은 참조되는 테이블의 기본 키 또는 고유 키와 일치해야 함
orders 테이블에서 user_id를 외래 키로 설정하여 users 테이블의 user_id와 연결하는 예
CREATE TABLE orders (
order_id SERIAL PRIMARY KEY,
order_date DATE NOT NULL,
user_id INTEGER,
FOREIGN KEY (user_id) REFERENCES users(user_id)
);
UNIQUE (고유 제약 조건)
- 열에 저장된 모든 값이 고유해야 함을 지정
- NULL 값은 고유 값으로 간주되지 않으므로, 하나의 컬럼에 여러 NULL 값이 있을 수 있음
users 테이블에서 email이 유일하도록 설정하는 예
CREATE TABLE users (
user_id SERIAL PRIMARY KEY,
username VARCHAR(50) NOT NULL,
email VARCHAR(100) UNIQUE NOT NULL
);
CHECK (체크 제약 조건)
- 열에 저장될 수 있는 값의 범위를 지정
products 테이블에서 price가 0보다 크도록 제한하는 예
CREATE TABLE products (
product_id SERIAL PRIMARY KEY,
name VARCHAR(100) NOT NULL,
price DECIMAL NOT NULL,
CHECK (price > 0)
);
NOT NULL (널이 아닌 제약 조건)
- 열에 NULL 값이 허용되지 않음을 지정
- 데이터가 반드시 입력되어야 하는 열에 사용
users 테이블에서 username과 email이 NULL이 될 수 없도록 설정하는 예
CREATE TABLE users (
user_id SERIAL PRIMARY KEY,
username VARCHAR(50) NOT NULL,
email VARCHAR(100) NOT NULL
);
'[프로그래밍] DataBase' 카테고리의 다른 글
[DataBase] SQL 구문 (0) | 2024.05.15 |
---|---|
[DataBase] SQL (0) | 2024.05.15 |
[DataBase] 무결성 (0) | 2024.05.12 |
[DataBase] Key (0) | 2024.05.11 |
[DataBase] DataBase Table (0) | 2024.05.10 |