[DB] Key 이해하기

반디·2023년 5월 4일
0

데이터베이스

목록 보기
1/2

key란?

데이터베이스에서 key란 검색, 정렬 시 Tuple을 구분할 수 있는 기준이 되는 attribute 입니다.

  • 특성

    • 유일성: key로 하나의 tuple을 유일하게 식별할 수 있어야함
    • 최소성: 꼭 필요한 속성으로만 구성되어 있어야함
  • 종류

정의 및 특성
후보 키(candidate key)기본키로 사용할 수 있는 속성들
기본 키(primary key)후보키 중에서 하나를 선택한 main key
- 테이블에서 오직 1개
- Null 값을 가질 수 없음
- 동일한 값이 중복될 수 없음
대체 키(surrogate key)후보키 중 기본키를 제외한 나머지 키
외래 키(foreign key)다른 릴레이션의 기본키를 그대로 참조하는 속성의 집합
두 개의 테이블을 연결해주는 연결 다리 역할
슈퍼 키(super key)유일성 (O), 최소성 (X)
복합 키(composite key)2개 이상의 속성을 사용한 키

  • 외래 키
    중복된 데이터가 하나의 테이블에 삽입되는 것을 방지하는 역할

    참조될 테이블 A, 참조할 테이블 B 라고 가정

    • 참조될 테이블이 참조하는 테이블보다 반드시 먼저 생성 & 참조될 테이블이 참조하는 테이블보다 먼저 삭제될 수 없음
    • 참조될 열의 값은 기본키여야 함
    • 외래키는 참조되는 테이블의 기본키와 동일한 키 속성
  • 예제

    테이블기본 키외래 키슈퍼 키
    학생학번-학번, 이름, 학번+이름
    수강학번+과목번호학번, 과목번호
    과목과목번호-과목번호, 과목번호+과목명

profile
꾸준히!

0개의 댓글