Next-Squad / Interview-Question

주니어 백엔드 개발자 면접 시에 물어볼 수 있는 질문에 대해서 같이 공부하고, 공유하고자 합니다.
169 stars 11 forks source link

[Database] 1. Super Key, Candiate Key, Primary Key, Alternate Key, Foreign Key #60

Open zbqmgldjfh opened 2 years ago

zbqmgldjfh commented 2 years ago

Super Key, Candiate Key, Primary Key, Alternate Key, Foreign Key 란?

키워드

DB, key

zbqmgldjfh commented 2 years ago

1. Super Key

수퍼 키는 한 릴레이션에서 튜플을 유일하게 인식할 수 있도록 해주는 하나 or 하나 이상의 속성들의 집합니다.

2. Candiate Key

테이블에서 각 행을 유일하게 식별할 수 있는 최소한의 속성들의 집합이다. 후보키는 기본키가 될 수 있는 후보들이며 유일성과 최소성을 동시에 만족해야한다.

3. Primary Key

후보키들 중에서 하나를 선택한 키로 최소성과 유일성을 만족하는 속성이다. 즉, 릴레이션 안에서 tuple을 구별하기 위한 수단으로 선택된 후보 키를 Primary Key라고 부릅니다. 또한 기본키는 NULL 값을 절대 가질수 없고, 중복된 값을 가질 수 없습니다.

4. Alternate Key

후보 키가 여러 개일 때 주요 키(Primary Key)를 제외한 나머지 후보 키를 말합니다. 보조 키라고도 부릅니다.

5. Foreign Key

외래 키(FK)는 두 테이블의 데이터 간 연결을 설정하고 강제 적용하여 외래 키 테이블에 저장될 수 있는 데이터를 제어하는 데 사용되는 열입니다. 외래 키 참조에서는 한 테이블의 기본 키 값을 가지고 있는 열을 다른 테이블의 열이 참조할 때 두 테이블 간에 연결이 생성됩니다. 이때 두 번째 테이블에 추가되는 열이 외래 키가 됩니다.