기본 키(Primary key), 외래 키(Foreign key)

Created by
  • 서경태
Created at
❓
다음은 아이스크림 가게의 상반기 주문 정보를 담은 FIRST_HALF 테이블과 7월의 아이스크림 주문 정보를 담은 JULY 테이블입니다. FIRST_HALF 테이블 구조는 다음과 같으며, SHIPMENT_ID, FLAVOR, TOTAL_ORDER는 각각 아이스크림 공장에서 아이스크림 가게까지의 출하 번호, 아이스크림 맛, 상반기 아이스크림 총주문량을 나타냅니다. FIRST_HALF 테이블의 기본 키는 FLAVOR입니다. FIRST_HALF테이블의 SHIPMENT_ID는 JULY테이블의 SHIPMENT_ID의 외래 키입니다.
SQL 문제를 풀면서 기본 키와 외래키라는 개념을 처음 마주하게 됐다.
이 두 개념에 대해 알아보자.
기본 키(Primary key)
기본 키는 테이블 내에서 각 행을 고유하게 식별할 수 있는 하나의 열 또는 열의 집합이다.
기본 키의 값은 테이블 내에서 유일해야 하며, Null값을 가질 수 없다.
문제에서처럼 first_half에서 flaovr열 이 기본 키라고 하면, 이 열은 각 행에서 고유한 아이스크릠 맛을 나타내고, 동일한 맛을 가진 행이 중복되지 않도록 보장한다.
외래 키(Foreign key)
외래 키는 한 테이블의 열이 다른 테이블의 기본 키를 참조하는 키를 말한다.
외래 키는 테이블 간의 관계를 설정하고, 데이터의 무결성을 유지하는데 사용된다.
기본 키와는 달리 Null값을 가질 수 있고 중복된 값도 가질수 있다.
july 테이블의 shipment_id 열이 first_half 테이블의 shipment_id 열을 참조하는 외래키일때, july 테이블에 기록된 출하 정보가 first_half 테이블의 출하 정보와 연결되며, 데이터의 일관성을 유지할 수 있다.