키(Key)
데이터 베이스에서 특정 데이터를 식별할 수 있는 고유한 식별자(identifier)
조건에 만족하는 레코드를 찾거나 순서대로 정렬할 때 레코드를 구분할 수 있는 기준이 되는 속성을 말한다.
키의 종류
- Super Key (슈퍼키)
- Candidate Key (후보키)
- Primary Key (기본키)
- Alternate Key (대체키)
- Foreign Key (외래키)
- Composite Key (복합키)
키의 속성
- 유일성 : 하나 또는 그 이상의 키 값으로 유일한 레코드를 식별할 수 있는 성질 ( 중복 X )
- 최소성 : 특정 레코드를 구분할 때 필요한 최소한의 속성들로만 구성되는 성질
Super Key (슈퍼키)
- 각 레코드를 유일하게 식별할 수 있는 속성들의 집합
- 유일성은 만족해야 하지만 최소성은 만족하지 않아도 된다.
Candidate Key (후보키)
- 슈퍼키들 중에서 최소성도 만족하는 키를 말한다.
- 유일성도 만족, 최소성도 만족
Primary Key (기본키)
- 주 키, 프라이머리 키, PK 등 다양한 명칭으로 불린다.
- 후보키들 중에서 메인으로 선정되는 키를 말한다.
Alternate Key (대체키)
- 후보키들 중에서 기본키로 선정된 키를 제외한 나머지 키들을 말한다.
Foreign Key (외래키)
- 테이블이 다른 테이블의 기본키를 참조하여 테이블 간 관계를 형성하는 키를 말한다.
- 외래키의 목적은 데이터의 무결성을 유지하기 위함이다.
- 데이터의 무결성은 데이터가 항상 정확한 값을 유지하려는 성질을 말한다.
- 참조하는 테이블을 자식 테이블, 참조 당하는 테이블을 부모 테이블이라 한다. 부모 테이블을 삭제하기 위해서는 반드시 자식 테이블을 먼저 삭제해야 한다.
Composite Key (복합키)
- 두 개 이상의 속성을 묶어서 하나의 기본키로 지정된 키를 말한다.
- 기본키가 복합키라면, 당연히 유일성과 최소성을 만족해야 한다.
기본키 선정 조건
- 값의 변동이 잦은 후보키는 피한다.
- NULL 값을 가질 수 없다.
- 단순할수록 좋다.
- 하나의 테이블에는 반드시 하나의 기본키만 존재한다.
'데이터베이스(DB) > MySQL' 카테고리의 다른 글
MySQL root 비밀번호 초기화 (0) | 2024.10.16 |
---|---|
amazon linux 2023 mysql 설치 (1) | 2024.10.16 |