danbibibi
article thumbnail

키 (Key) 란?

: 데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때, 튜플들을 서로 구분할 수 있는 기준이 되는 속성

 

Key 종류

후보키 (Candidate Key)

  • 기본키로 사용할 수 있는 속성들
  • 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용하는 속성들의 부분집합
  • 하나의 릴레이션 내 중복된 튜플들이 있을 수 없으므로, 모든 릴레이션에는 반드시 하나 이상의 후보키 존재
  • 릴레이션에 있는 모든 튜플에 대해서 유일성 최소성을 만족
💡 유일성 : 하나의 키 값으로 하나의 튜플만을 유일하게 식별 가능
💡 최소성 : 모든 레코드들을 유일하게 식별하는 데 꼭 필요한 속성만으로 구성

 

기본키 (Primary Key)

  • 후보키 중에서 선택한 주 키 (Main Key)
  • 한 릴레이션에서 특정 튜플을 유일하게 구별할 수 있는 속성
  • NULL 값을 허용하지 않고, 중복이 허용되지 않음 (NOT NULL, UNIQUE)

 

대체키 (Alternate Key)

  • 후보키가 둘 이상일 때 기본키를 제외한 나머지 후보키들
  • 보조키라고도 부름

 

슈퍼키 (Super Key)

  • 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키
  • 릴레이션을 구성하는 모든 튜플들 중 슈퍼키로 구성된 속성의 집합과 동일한 값은 없음
  • 릴레이션을 구성하는 모든 튜플에 대해 유일성은 만족시키지만, 최소성은 만족시키지 못함
  • ex) (학번, 이름) / (학번, 나이)

 

외래키 (Foreign Key)

  • 두 테이블을 서로 연결하는 데 사용되는 키
  • 참조되는 릴레이션의 기본키와 대응되어 릴레이션 간 참조관계를 표현하는 데 중요한 도구
  • 외래키 값은 NULL이거나, 부모 테이블의 기본키 값과 동일 (참조 무결성 제약 조건)
profile

danbibibi

@danbibibi

꿈을 꾸는 시간은 멈춰 있는 것이 아냐 두려워하지 마 멈추지 마 푸른 꿈속으로