🗝️ RDB의 키와 관계

📌 키(Key)란?

**키(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)를 통해 정의합니다.

🧍‍♂️ 1:1 관계 (One to One)

-- 여권 테이블이 사람 테이블을 참조
CREATE TABLE 여권 (
    여권번호 CHAR(9) PRIMARY KEY,
    사람ID INT UNIQUE,
    FOREIGN KEY (사람ID) REFERENCES 사람(사람ID)
);