공부한 기록/데이터베이스

키(key)

YongE 2022. 9. 11. 19:44

키는 식별할 수 있는 속성 또는 속성의 집합.

슈퍼키(super key), 투플을 유일하게 식별할 수 있는 값이면 모두 슈퍼키 가능. 투플을 식별할 수 있는 하나의 속성 혹은 속성의 집합. 중복만 없으면 슈퍼키 가능. 속성의 모든 조합으로 슈퍼키 가능.

후보키(candidate key): 투플을 유일하게 구별할 수 있는 속성의 최소 집합. 

앞에 2개의 속성을 합하면 후보키가 됨. 둘 중 하나라도 없애면 키로써 구분감이 없어 후보키 불가능. 이렇게 2개 이상의 속성으로 이뤄지면 복합키(composite key)라고도 부른다. 

기본키(primary key): 후보키 중 하나를 선정하여 대표로 삼는 키.

  • 후보키가 될 수 있는 이유. 고유한 값을 가져야만 한다.
  • null 값은 허용되지 않음.
  • 키 값은 변동되지 않아야 함.
  • 최대한 적은 수의 속성을 갖는 게 좋음.

대리키(surrogate key, 혹은 인조키 artificial key): dbms나 관련 소프트웨어에서 일련번호로 생성하는 키. 기본키가 될 수 있음. 기본키에서 보안이 필요하거나 여러 개의 속성 때문에 복잡하거나 마땅한 기본키가 없을 때 가상의 속성으로 만들어짐.

대체키(alternative key): 기본키로 선정되지 않는 후보키.

외래키(foreign key): 다른 릴레이션에서 가져온 키. 이걸 정함으로써 관계(relationship)를 표현함.

  • 릴레이션 간의 관계 표현
  • 다른 릴레이션의 '기본키'를 참조(이로써 참조관계reference relationship가 설립)
  • 외래키는 기본적인 키가 아니기 때문에 null값이나 중복값을 허용함.
  • 자기자신의 기본키가 외래키가 될 수도 있음

728x90
반응형