**키(Key)**는 테이블에서 데이터를 고유하게 식별하거나
테이블 간의 관계를 표현하기 위해 사용하는 속성입니다.
이걸 실생활에 비유하자면,
기본키는 주민등록번호,
외래키는 친구의 주민등록번호를 내 연락처에 저장해두는 것과 같습니다.
| 키 종류 | 설명 | 특징 |
|---|---|---|
| 기본키 (Primary Key) | 행(row)을 유일하게 식별 | 중복 ❌, NULL ❌ |
| 후보키 (Candidate Key) | 기본키 후보가 될 수 있는 속성 | 유일성과 최소성 만족 |
| 대체키 (Alternate Key) | 기본키로 선택되지 않은 후보키 | 여전히 유일함 |
| 복합키 (Composite Key) | 2개 이상의 열을 조합하여 기본키로 사용 | 단일 컬럼으로는 식별 불가할 때 |
| 외래키 (Foreign Key) | 다른 테이블의 기본키를 참조 | 테이블 간 관계 생성 |
📝 예시 코드 (SQL)
CREATE TABLE 고객 (
고객ID INT PRIMARY KEY,
이름 VARCHAR(100)
);
CREATE TABLE 주문 (
주문ID INT PRIMARY KEY,
고객ID INT,
FOREIGN KEY (고객ID) REFERENCES 고객(고객ID)
);
관계형 데이터베이스(RDB)에서는 테이블 간의 관계를 외래키(FK)를 통해 정의합니다.
-- 여권 테이블이 사람 테이블을 참조
CREATE TABLE 여권 (
여권번호 CHAR(9) PRIMARY KEY,
사람ID INT UNIQUE,
FOREIGN KEY (사람ID) REFERENCES 사람(사람ID)
);