- 주요 키 (Primary Key):
- 주요 키는 테이블 내의 각 레코드를 고유하게 식별하는 데 사용됩니다.
- 주요 키는 중복된 값을 포함할 수 없으며 NULL 값을 가질 수 없습니다.
- 테이블당 주요 키는 하나만 가질 수 있습니다.
- 주요 키는 자동으로 인덱스를 생성하므로 데이터 검색과 정렬 속도를 향상시킵니다.
- 주요 키로 사용되는 속성은 일반적으로 해당 테이블의 기본 키 역할을 합니다.
- 주요 키는 주로 관계형 데이터베이스에서 사용됩니다.
- 보조 키 (Secondary Key):
- 보조 키는 주요 키 이외의 다른 속성을 기반으로 생성되는 키입니다.
- 보조 키는 데이터를 검색하고 필터링하는 데 도움이 되며, 데이터의 빠른 검색을 지원합니다.
- 보조 키는 중복 값을 가질 수 있으며 NULL 값을 가질 수도 있습니다.
- 보조 키로 사용되는 속성은 주로 테이블에 대한 추가적인 인덱싱을 수행하는 데 사용됩니다.
- 예를 들어, 주요 키가 주문 번호인 경우, 주문 날짜와 같은 속성을 기반으로 보조 키를 생성하여 주문을 일자별로 검색할 수 있습니다.
- 외래 키 (Foreign Key):
- 외래 키는 관계형 데이터베이스에서 다른 테이블의 주요 키와 관계를 설정하는 데 사용됩니다.
- 외래 키는 다른 테이블의 주요 키를 참조하고, 참조 무결성을 유지하기 위해 사용됩니다.
- 외래 키를 사용하면 부모 테이블과 자식 테이블 간의 관계를 설정하고 관련 데이터를 유지 관리할 수 있습니다.
- 외래 키는 부모 테이블의 주요 키와 동일한 데이터 유형과 크기를 가집니다.
4.슈퍼 키 (Super Key):
- 슈퍼 키는 테이블 내에서 특정 레코드를 식별하는 데 사용되는 하나 이상의 속성(열)의 조합입니다.
- 슈퍼 키는 주요 키와 보조 키의 원형이 될 수 있습니다.
- 테이블의 모든 속성의 조합도 슈퍼 키가 될 수 있으며, 특정 목적에 따라 슈퍼 키를 만들 수 있습니다.
5.자연 키 (Natural Key) vs. 대체 키 (Surrogate Key):
- 자연 키는 데이터베이스 내에서 데이터가 생성될 때 자동으로 발생하는 키입니다. 예를 들어, 사람의 주민등록번호, 제품의 바코드 등이 자연 키가 될 수 있습니다.
- 대체 키는 데이터베이스 설계자가 인위적으로 만드는 키로, 주로 숫자 또는 GUID(UUID)와 같은 형식을 가집니다. 대체 키는 주로 복잡성을 줄이고 데이터 무결성을 유지하는 데 사용됩니다.