[DB] Key의 정의

강민승·2023년 8월 13일
0

DB

목록 보기
1/12

[DB] Key

📌 최소성과 유일성

📍 유일성

하나의 키값으로 튜플을 유일하게 식별할 수 있는 성질

여러 개의 튜플이 존재할 때 각각의 튜플을 서로 구분할 수 있는 속성이 존재해야한다.
-> 즉, 튜플은 유일해야한다.

예를 들어, 어떤 테이블 (사원번호, 성명, 나이) 라는 속성이 존재하면 나이는 중복이 될 수 있지만, 사원번호는 중복이 안되는 구조입니다. 이러한 테이블에서 Key는 사원번호가 될 것이고, 이를 유일성이라고 합니다.

📍 최소성

키를 구성하고 있는 속성들이 진짜 각 튜플을 구분하는데 꼭 필요한 속성들로만 구성되어 있는지!

최소의 키로 사원번호 만 키로 지정이 되는 경우, 이 키는 최소성을 만족한다고 할 수 있다.

🧷 정리

Key란? : 검색, 정렬시 Tuple을 구분할 수 있는 기준이 되는 Attribute.


📌 Key의 종류


1. Candidate Key (후보키)

Tuple을 유일하게 식별하기 위해 사용하는 속성들의 부분 집합. (기본키로 사용할 수 있는 속성들)

2가지 조건 만족

  • 유일성 : Key로 하나의 Tuple을 유일하게 식별할 수 있음
  • 최소성 : 꼭 필요한 속성으로만 구성

2. Primary Key (기본키)

후보키 중 선택한 Main Key

특징

  • Null 값을 가질 수 없음
  • 동일한 값이 중복될 수 없음

3. Alternate Key (대체키)

후보키 중 기본키를 제외한 나머지 키 = 보조키


4. Super Key (슈퍼키)

유일성은 만족하지만, 최소성은 만족하지 못하는 키


5. Foreign Key (외래키)

다른 릴레이션의 기본키를 그대로 참조하는 속성의 집합


profile
Step by Step goes a long way. 꾸준하게 성장하는 개발자 강민승입니다.

0개의 댓글