정보처리기사

📘 [2일차] 기본키(Primary Key)와 외래키(Foreign Key) 완전 정복

news800905 2025. 5. 2. 10:04
728x90

💡 주제: 테이블 간의 관계를 연결하는 핵심 개념 - 기본키와 외래키


🧩 오늘의 학습 목표

  • 기본키와 외래키의 정의 및 역할을 이해한다
  • 데이터 무결성(Data Integrity)의 개념과 관련성을 익힌다
  • 테이블 설계 시 키의 중요성을 파악한다

🎯 이론 설명

✅ 기본키 (Primary Key)

기본키는 테이블에서 **각 행을 유일하게 식별할 수 있는 열(또는 열들의 조합)**입니다.
중복 불가 + NULL 불가가 가장 중요한 조건입니다.

학생번호(StudentID)이름(Name)학과(Major)
20250101 홍길동 컴퓨터공학
20250102 김영희 통계학
 
  • 이 경우 학생번호는 각 학생을 구분할 수 있는 기본키가 됩니다.

🔒 기본키 조건

  1. 유일성: 값이 중복되면 안 된다
  2. NOT NULL: 빈값이 존재할 수 없다
  3. 변하지 않는 값을 사용하는 것이 바람직

✅ 외래키 (Foreign Key)

외래키는 다른 테이블의 기본키를 참조하는 열입니다.
두 테이블 사이의 관계를 연결하는 데 사용됩니다.

예시:

  • 학생(Student) 테이블: 기본키 → 학생ID
  • 수강(Course) 테이블: 외래키 → 학생ID (학생 테이블을 참조)
수강번호학생ID (외래키)과목명
1 20250101 자료구조
2 20250102 데이터베이스
 
  • 수강 테이블의 학생ID는 학생 테이블의 기본키를 참조하는 외래키입니다.

🧷 기본키와 외래키 비교 요약

항목기본키 (PK)외래키 (FK)
역할 행 식별 관계 연결
중복 여부 ❌ 중복 불가 ✅ 중복 허용 가능
NULL 허용 ❌ 불가 ✅ 허용 가능 (조건에 따라)
참조 여부 참조되지 않음 다른 테이블의 PK를 참조
 

📝 기출문제 예제

문제: 다음 중 두 개 이상의 테이블 간의 관계를 정의하기 위해 사용되는 키는?

① 기본키
② 후보키
③ 외래키
④ 슈퍼키

정답: ③ 외래키

🧠 해설:

  • 외래키는 다른 테이블의 기본키를 참조하여 테이블 간의 관계를 설정하는 데 사용됩니다.
  • 기본키는 자신을 식별하기 위한 키이며, 외래키는 관계를 위한 키입니다.

💡 오늘의 정리 포인트

  • 기본키(PK)는 유일하고 NULL 불가
  • 외래키(FK)는 다른 테이블의 기본키를 참조하여 관계 설정
  • 외래키를 통해 테이블 간의 연결 및 데이터 무결성 유지 가능
  • 관계형 데이터베이스의 진짜 힘은 "관계"를 만드는 데 있음
728x90