기본 키(primary key)와 외래 키(foreign key)는 관계형 데이터베이스에서 테이블 간의 관계를 정의하고 데이터 무결성을 보장하기 위해 사용하는 중요한 개념입니다.
기본 키 (Primary Key)
기본 키는 테이블의 각 행(레코드)을 고유하게 식별하기 위한 하나의 열 또는 여러 열의 조합입니다.
중복될 수 없고(null도 불가), 하나의 테이블에 하나만 존재합니다.
CREATE TABLE Users (
user_id INT PRIMARY KEY,
name VARCHAR(50),
email VARCHAR(100)
);
위의 코드로 예시를 들자면, Users 테이블은 사용자 정보를 저장합니다. user_id는 기본 키입니다.
각 사용자마다 고유한 값을 가져야 하므로 중복될 수 없습니다.
예: 1번 유저, 2번 유저…
외래 키 (Foreign Key)
외래 키는 다른 테이블의 기본 키를 참조하는 열입니다.
테이블 간의 관계를 나타내며, 참조하는 값이 반드시 해당 기본 키에 존재해야 합니다.
외래 키를 통해 부모 테이블과 자식 테이블 간의 관계를 맺을 수 있습니다.
CREATE TABLE Orders (
order_id INT PRIMARY KEY,
user_id INT,
product_name VARCHAR(100),
FOREIGN KEY (user_id) REFERENCES Users(user_id)
);
위의 코드로 예시를 들면, Orders 테이블은 주문 정보를 저장합니다.
user_id는 Users 테이블의 user_id를 참조하는 외래 키입니다.
즉, 주문은 반드시 존재하는 사용자(user)와 연결되어야 합니다.
order_id user_id product_name
| 101 | 1 | iPhone |
| 102 | 2 | Galaxy |
| 103 | 1 | MacBook |
이해하기 쉽게 비유해보자면,
- 기본 키 = 주민등록번호 (한 사람에게 하나만 존재, 고유함)
- 외래 키 = 어떤 회사의 사원 번호에서 그 사람의 주민등록번호를 참조 (회사 기록에서 "이 사람이 누구인가?"를 연결)
'SQL' 카테고리의 다른 글
| JOIN이란? 그리고 'INNER JOIN'과 'LEFT JOIN'의 차이점 (2) | 2025.05.07 |
|---|---|
| 정규화에 대하여 (4) | 2025.05.01 |
| SQL 함수 (2) | 2025.01.16 |
| DDL(CREATE)+1시간 동안 오류를 못 찾은 ORA-00907: 누락된 우괄호.. (3) | 2024.12.23 |
| JOIN (0) | 2024.12.18 |