키(key)

해연·2023년 6월 9일
0

데이터베이스

목록 보기
6/14

Q. 왜 키가 필요한가?

  • 데이터를 저장하도록 요구된 테이블의 숫자가 크고 테이블들은 서로 연관되어 있다.
  • 또한 테이블들은 많은 데이터를 저장한다. 일반적으로 테이블은 정렬되지 않고 정리되지 않은 상태로 저장된 수천 개의 레코드로 확장된다.
  • 이러한 데이터 셋에서 특정 레코드를 가져오려면 몇 가지 조건을 검증해야한다. 하지만 중복 데이터가 존재하고 특정 조건에 적용하여 데이터를 가져올 때마다 잘못된 데이터가 생성된다.
  • 데이터를 가져오기 위해 얼마나 많은 시도를 해야하는가?
  • 키는 테이블의 모든 데이터 행을 쉽게 식별할 수 있도록 정의된다.

유일성과 최소성

  • 유일성 : 하나의 키 값에 하나의 튜플만 유일하게 식별한다.
  • 최소성 : 꼭 필요한 속성으로만 구성한다.

후보키(Candidate Key)

  • 튜플을 유일하게 식별하기 위해 사용하는 속성들의 부분집합
  • 하나의 릴레이션에 중복 튜플이 존재하면 안되기 때문에 모든 릴레이션에는 반드시 하나 이상의 후보키가 존재한다.
  • 유일성과 최소성을 만족한다.
  • 후보키는 절대 Null이거나 empty되면 안된다.

기본키(Primary Key)

  • 기본키가 되기에 가장 적합한 후보키이다.
  • 테이블 안 각각의 정보를 고유하게 식별할 수 있는 키이다.

슈퍼키(Super Key)

  • 테이블 내의 각 레코드를 고유하게 식별할 수 있는 테이블 내의 속성집합
  • 후보키의 상위 집합
  • 유일성을 만족하지만 최소성은 만족하지 못한다.

외래키(Foreign Key)

  • 다른 릴레이션의 기본키를 참조한다.
  • 릴레이션 간 참조관계를 표현한다
  • 외래키는 참조 릴레이션의 기본키에 없는 값은 입력할 수 없다.

출처
https://www.educative.io/answers/what-is-a-key-in-database-management

profile
물음표를 느낌표로 바꾸며 성장하는 예비 백엔드 개발자입니다.

0개의 댓글