Key(기본키, 후보키, 대체키 등)

KIMA·2024년 7월 23일
1

Database

목록 보기
7/9

key란?


DB에서 조건에 만족하는 튜플을 조회하거나 정렬할 때 기준이 되는 속성 또는 속성의 집합을 의미한다.

유일성과 최소성


유일성

속성 값이 다른 튜플들과 중복되지 않아야한다.

최소성

최소한의 속성들로 튜플들을 식별할 수 있어야한다.

종류


super key

유일성을 만족하는 속성 또는 속성들의 조합이다.

candidate key

유일성과 최소성을 만족하는 속성 또는 속성들의 조합이다.

primary key

후보키 중 선정된 키를 의미한다. 릴레이션에서 기본 키는 유일해야한다.

  • 기본키는 개체 무결성을 만족해야한다. (ref. https://velog.io/write?id=fa418243-a1a9-422b-873a-90aa5fa86f94)
  • 인조키를 기본키로 설정한다.
    • 예를 들어, 회원 릴레이션에서 주민등록번호 속성을 기본키로 설정했다고 가정하자.
      만약, 국가가 주민등록번호 수집을 금지한다면 기본키를 변경해야하는 상황이 생긴다.
    • 따라서, 회원번호(0001~9999)와 같이 새로운 튜플을 등록하며 인위적으로 생성한 키를 기본키로 설정하는 것이 적절하다.

alternate key

후보키 중 기본키를 제외한 나머지 모든 키들을 의미한다.

composite key

2개 이상의 속성을 가진 키를 의미한다.

foreign key

다른 릴레이션의 기본키를 참조하는 속성이다. 외래키로 릴레이션간의 관계를 표현할 수 있다.

unique key

중복값을 허용하지 않지만, null이 허용되는 속성 또는 속성들의 집합이다.

  • 기본키와 달리 하나의 릴레이션 안에서 유니크키를 여러개 설정할 수 있다.

Reference

profile
안녕하세요.

0개의 댓글