1. 릴레이션(Relation)의 정의
- 개념: 데이터베이스에서 사용되기 위한 조건을 갖춘 테이블 형태.
- 제약 조건:
- 모든 셀(Cell)은 더 이상 쪼개질 수 없는 단일 값(Atomic Value)을 가짐.
- 테이블 내의 어떤 두 행(Row)도 동일할 수 없음(고유성).
- 참고: 실무에서는 릴레이션과 테이블이라는 용어를 혼용하여 사용하기도 함.
2. Key의 종류 및 계층 구조
각 행을 유일하게 식별하기 위해 속성(Column)들이 가지는 성격에 따라 분류.
슈퍼키 (Super Key)
- 정의: 각 행을 유일하게 식별할 수 있는 하나 이상의 속성 집합.
- 특징: 유일성만 만족하면 슈퍼키가 될 수 있음.
- 예시: (학번), (학번, 이름), (주민등록번호, 학과, 성별) 등.
후보키 (Candidate Key)
- 정의: 슈퍼키 중 더 이상 쪼개질 수 없는 최소한의 속성 집합임.
- 조건: 유일성과 최소성을 동시에 만족해야 함.
- 예시: (학번), (주민등록번호).
기본키 (Primary Key)
- 정의: 후보키 중 선택된 메인 키(Main Key)로, 각 행을 구분하는 유일한 열.
- 제약: Null 값을 가질 수 없으며, 중복된 값을 허용하지 않음.
- 수량: 테이블당 단 1개만 지정 가능.
대체키 (Alternative Key)
- 정의: 여러 후보키 중 기본키로 선택되지 못하고 남은 키들을 의미.
3. 기타 주요 Key 개념
| 키 명칭 | 정의 및 특징 |
|---|---|
| 외래키 (Foreign Key) | 다른 테이블의 기본키(PK) 컬럼과 연결되어 참조 관계를 형성하는 컬럼. |
| 복합키 (Composite Key) | 하나의 컬럼으로 행을 식별할 수 없어, 두 개 이상의 컬럼을 조합하여 만든 키. |
핵심 정리
- 기본키(PK): 유일성과 최소성을 갖춘 테이블의 대표 식별자이며, 중복과 Null이 불가능.
- 후보키: PK 자격을 갖춘 키들의 집합으로, 행 식별에 필요한 최소 속성만 포함.
- 슈퍼키: 유일성만 만족하면 되는 가장 넓은 범위의 키 집합.
추가 정리
Q. 유일성과 최소성의 차이를 묻는다면?
- 유일성: 특정 키 값으로 하나의 행을 찾아낼 수 있는 성질.
- 최소성: 행 식별에 꼭 필요한 속성들로만 구성되어, 속성을 하나라도 빼면 식별이 불가능해지는 성질.
Q. 외래키(FK)의 목적은 무엇인가?
- 데이터의 무결성을 유지하고 테이블 간의 관계(Relation)를 정의하여 참조 무결성을 보장하기 위함.