본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
(기본 키에서 넘어옴)

기본 키(Primary Key, PK)는 후보 키 가운데 설계자가 골라 테이블의 각 행(튜플)을 대표로 식별하는 데 쓰는 키이다.

기본 키는 데이터베이스 키의 하나로, 후보 키처럼 유일성(같은 값을 가진 행이 둘 이상 없음)과 최소성(속성을 하나라도 빼면 유일하게 식별할 수 없음)을 함께 만족한다. 여기에 더해 NULL 값을 가질 수 없고(개체 무결성), 한 테이블에 하나만 정한다. 하나의 기본 키가 여러 속성(필드)으로 이루어질 수 있는데, 이것을 복합 키(Composite Key)라 한다. 기본 키는 다른 테이블의 외래 키가 참조하는 대상이 된다.

다른 키와의 관계

편집 원본 편집
키 유일성 최소성 설명
슈퍼 키 O X 행을 유일하게 식별하는 속성의 집합. 불필요한 속성이 섞여 있어도 된다
후보 키 O O 슈퍼 키 중 최소성까지 만족하는 것. 기본 키가 될 수 있는 후보
기본 키 O O 후보 키 중 하나를 골라 정한 대표 키. NULL 불가
대체 키 O O 기본 키로 뽑히지 않고 남은 후보 키
외래 키 - - 다른 테이블의 기본 키를 참조하는 속성. 테이블 사이의 관계를 만든다 → 데이터베이스 참조 무결성

기본 키와 검색

편집 원본 편집
  • 기본 키는 튜플을 식별하기 위한 것이지, 검색할 때 반드시 써야 하는 것은 아니다. SELECT 의 WHERE 조건에는 어떤 속성이든 쓸 수 있다
  • DBMS 는 기본 키에 유일 인덱스를 자동으로 만들므로 기본 키 값으로 찾으면 빠를 뿐이다 → 데이터베이스 인덱스
  • 기본 키에는 NOT NULL 과 UNIQUE 제약이 함께 걸리고(개체 무결성), 다른 테이블의 외래 키가 기본 키를 참조할 수 있다
  • 값이 바뀌지 않는 속성을 고른다(불변성)
  • 되도록 속성 수가 적고 짧은 값을 고른다
  • 이름처럼 중복될 수 있는 값보다 사번·학번 같은 식별 번호, 또는 일련번호를 쓴다

액세스에서의 기본 키

편집 원본 편집

마이크로소프트 액세스는 테이블 디자인 보기에서 필드를 고른 뒤 [기본 키] 단추로 지정한다.

  • 기본 키 지정은 필수가 아니다. 기본 키 없이도 테이블을 저장할 수 있다. 다만 저장할 때 기본 키를 만들지 묻고, 관계 설정과 중복 방지를 위해 지정하는 것이 좋다
  • 여러 필드를 함께 기본 키로 지정할 수 있다(복합 키). Ctrl 키로 필드를 여러 개 골라 [기본 키] 를 누른다. "한 개의 필드에만 지정할 수 있다" 는 틀린 말이다
  • 데이터시트 보기에서 새 테이블을 만들면 ID 필드가 자동으로 만들어지고 일련 번호 형식의 기본 키가 된다
  • 기본 키 필드에는 자동으로 '예(중복 불가능)' 인덱스가 붙는다 → 액세스 필드 속성
  • 기본 키에는 빈 값(NULL)이나 중복 값을 넣을 수 없다
  • 하나 이상의 관계에 쓰이고 있는 테이블의 기본 키를 바꾸거나 없애려면 관계를 먼저 삭제해야 한다