본문 바로가기

CS/데이터베이스

Key

Key란?

데이터베이스에서 일을 수행할 때 튜플들을 구별할 수 있는 유일한 속성

1. 후보키(Candidate Key)

  • 릴레이션을 구성하는 속성들 중에서 유일하게 튜플을 식별할 수 있는 속성들의 부분집합
  • 모든 릴레이션은 반드시 하나 이상의 후보키 보유
  • 모든 튜플에 대해서 유일성최소성을 만족

2. 기본키(Primary Key)

  • 후보키에서 선택한 키
  • 튜플을 구별할 수 있는 속성
  • null값을 가질 수 없음
  • 중복 허용하지 않음

3. 대체키(Alternate Key)

  • 후보키에서 기본키를 제외한 나머지 키

4. 슈퍼키(Super Key)

  • 릴레이션 내에 있는 속성들의 집합으로 구성된 키
  • 유일성은 만족하지만, 최소성은 만족시키지 못함
  • ex) '이름+주민번호' 는 튜플을 구별할 수 있지만(유일성 만족) '이름' 단독으로 사용될 경우 구별할 수 없다(최소성x)

5. 외래키(Foreign Key)

  • 관계를 맺고 있는 릴레이션 R1,R2에서 R1이 참조하고 있는 R2의 기본키와 같은 R1의 속성
  • 릴레이션 간의 참조 관계 표현하는데 중요한 도구
  • 외래키로 지정되면 참조 테이블의 기본키에 없는 값은 입력할 수 없음(참조 무결성 조건)

 

참고자료

https://limkydev.tistory.com/108

 

[DataBase] 키(Key)의 개념 및 종류

데이터 베이스 키(Key)의 개념 및 종류 키(Key)는 데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 다른 튜플들과 구별할 수 있는 유일한 기준이 되는 Attribute(속성)입니다. *

limkydev.tistory.com

 

'CS > 데이터베이스' 카테고리의 다른 글

트랜잭션의 격리수준  (0) 2021.09.28
Injection  (0) 2021.09.28
수직적 확장과 수평적 분할  (0) 2021.09.28
인덱스란?  (0) 2021.07.20
트랜잭션의 정의와 특징  (0) 2021.06.30