WIPIVERSE

기본 키

정의
기본 키(primary key)는 관계형 데이터베이스 테이블에서 각 레코드를 고유하게 식별할 수 있도록 하는 하나 이상의 열(컬럼) 집합이다. 기본 키에 지정된 값은 테이블 내에서 중복될 수 없으며, NULL 값을 허용하지 않는다.

주요 특성

  1. 고유성(uniqueness): 기본 키에 포함된 각 값은 테이블 전체에서 유일해야 한다.
  2. 무결성(constraint): 데이터베이스 관리 시스템(DBMS)은 기본 키 제약을 자동으로 강제한다.
  3. 불변성(stability): 일반적으로 기본 키는 레코드가 생성된 뒤 변경되지 않는 값으로 설계한다.
  4. 인덱스 자동 생성: 대부분의 DBMS는 기본 키에 대해 자동으로 인덱스를 생성하여 조회 성능을 향상시킨다.

구성 방식

  • 단일 컬럼 기본 키: 한 개의 열만으로 구성한다. 예) id(정수형)
  • 복합 기본 키: 두 개 이상의 열을 조합하여 고유성을 보장한다. 예) order_id와 product_id의 조합

관련 개념

  • 외래 키(Foreign Key): 다른 테이블의 기본 키를 참조하여 테이블 간의 관계를 정의한다.
  • 대체 키(Alternate Key): 기본 키가 아니라도 고유성을 가진 후보키 중 하나로, 필요에 따라 기본 키로 선택될 수 있다.
  • 유니크 제약(Unique Constraint): 기본 키와 유사하게 중복을 방지하지만, NULL 값을 허용할 수 있다.

활용 맥락

  • 데이터 모델링: ER(Entity‑Relationship) 다이어그램에서 엔터티(테이블)의 식별자를 명시할 때 사용한다.
  • SQL 정의: CREATE TABLE 문에서 PRIMARY KEY 절을 통해 지정한다. 예시)
    CREATE TABLE 고객 (
        고객ID INT PRIMARY KEY,
        이름 VARCHAR(50),
        이메일 VARCHAR(100)
    );
    
  • ORM(Object‑Relational Mapping): 객체와 관계형 데이터베이스 간 매핑 시 기본 키를 객체 식별자로 활용한다.

어원 및 용어 사용
‘기본(key)’은 한국어에서 ‘핵심’, ‘핵심이 되는 것’이라는 의미를 갖는다. ‘키(key)’는 영어 key를 차용한 용어로, 데이터베이스에서는 ‘식별자’를 의미한다. 따라서 ‘기본 키’는 ‘핵심 식별자’라는 의미로 사용된다.

참고
다수의 데이터베이스 관련 교과서, 표준(SQL:2016) 및 주요 DBMS 문서(Oracle, MySQL, PostgreSQL, Microsoft SQL Server 등)에서 기본 키 개념을 정의하고 있다.

둘러보기

더 찾아볼 만한 주제

    전체 문서 보기