키(Key) 기본 키와 외래 키

박수민·2024년 3월 29일
0

키의 개념

  • 키는 데이터베이스에서 조거늘 만족하는 튜플을 찾거나 순서대로 정렬할 때 다른 튜플들과 구별할 수 있는 기준이 되는 속성입니다.

키 특성

  • 유일성 : 식별자에 의해 엔티티 타입 내에 모든 엔티티들이 유일하게 구분
  • 최소성 : 최소한의 속성으로 식별자 구성

키 종류

  1. 후보 키 (Candidate Key)
  2. 기본 키 (Primary Key)
  3. 대체 키 (Alternate Key)
  4. 슈퍼 키 (Super Key)
  5. 외래 키 (Foreign Key)

후보 키 (Candidate Key)

  • 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별할 수 있는 속성들의 부분집합을 의미한다.

  • 모든 릴레이션은 반드시 하나 이상의 후보키를 가져야 한다.

  • 릴레이션에 있는 모든 튜플에 대해서 유일성과 최소성을 만족시켜야한다.

기본 키 (Primary Key)

  • 후보키들 중 메인으로 선정되는 키로 후보키의 성질을 갖는다.

  • 후보키의 성질인 유일성과 최소성을 가지며, 해당 레코드를 식별할때 사용하는 유일한 속성.

  • 한 릴레이션에서 특정 튜플을 유일하게 구별할 수 있는 속성
  • NULL값이 존재할 수 없다.(개체 무결성의 첫번째 조건)

  • 레코드의 값은 중복이 불가능하다.

  • 테이블에는 하나의 기본키만 가질 수 있지만 경우에 따라 1개 이상의 기본키를 정의할 수도 있다. (다수 열 기본 키, 복합 기본 키)

기본키는 꼭 모든 테이블에 존재 하는걸까?
기본 키를 정의하지 않고 테이블 생성이 가능하지만 데이터베이스의 제어 및 관리, 최적화를 위해서라면 기본 키를 생성하는 것이 바람직하다.

대체 키 (Alternate Key)

  • 후보키가 둘 이상일 때 기본키를 제외한 나머지 후보키들을 말합니다.

  • 보조키라고도 합니다.

슈퍼키 (Super Key)

  • 슈퍼키는 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키로서 릴레이션을 구성하는 모든 튜플 중 슈퍼키로 구성된 속성의 집합과 동일한 값은 나타내지 않습니다.

  • 릴레이션을 구성하는 모든 튜플에 대해 유일성은 만족하지만, 최소성은 만족시키지 못한다.

외래키 (Foreign Key)

  • 관계(Relation)를 맺고 있는 릴레이션 R1, R2에서 릴레이션 R1이 참조하고 있는 릴레이션 R2의 기본키와 같은 R1 릴레이션의 속성

  • 외래키는 참조되는 릴레이션의 기본키와 대응되어 릴레이션 간에 참조 관계를 표현하는데 중요한 도구로 사용된다.

  • 외래키로 지정되면 참조 테이블의 기본키에 없는 값은 입력할 수 없습니다. (참조 무결성 조건)

0개의 댓글