[Database] 키(Key)

2023. 12. 4. 17:12CS

키의 개념

Key란? : 조건에 만족하는 Tuple을 검색, 정렬시 구분할 수 있는 기준이 되는 속성(Attribute)

 

왜 필요할까?

  • 중복이 되지 않고 이상 현상(삽입, 수정, 삭제 이상)을 방지하기 위해
  • 특정 데이터를 검색하거나 정렬하고 싶을 때 원하는 값을 얻고 식별하기 위해

키의 종류

 

1. 기본키(Primary Key)

후보키 중 선택한 Main Key - 유일무이한 값을 가진 키

 

특징

  • 속성이 항상 고유한 값을 가져야함
  • Null 값을 가질 수 없음
  • 동일한 값이 중복될 수 없음
  • 테이블에 기본키는 하나만 만들 수 있음

 

2. 후보키(Candidate Key)

Tuple을 유일하게 식별하기 위해 사용하는 속성들의 부분 집합. (기본키로 사용할 수 있는 속성들)

 

2가지 조건 만족

  • 유일성 : Key로 하나의 Tuple을 유일하게 식별할 수 있음
  • 최소성 : 모든 레코드를 유일하게 식별하는데 꼭 필요한 속성으로만 구성

 

3. 대체키(Alternate Key)

후보키 중 기본키를 제외한 나머지 키 = 대체키

 

 

4. 슈퍼키 (Super Key)

유일성은 만족하지만, 최소성은 만족하지 못하는 키를 말한다.

 

 

5. 외래키(Foreign Key)

다른 릴레이션의 기본키를 그대로 참조하는 속성의 집합

 

 

 

 

 

반응형