728x90
1. 식별자의 개념
식별자란?
- 엔터티를 유일하게 식별하는 속성 또는 속성들의 집합
- 데이터베이스에서 특정 데이터를 찾고 접근하는 데 사용되는 핵심 요소
- 데이터의 중복을 방지하고 데이터의 무결성을 유지하는 데 중요한 역할
식별자의 중요성
- 데이터베이스의 무결성 유지: 식별자는 각 데이터를 고유하게 식별하여 데이터 중복을 방지하고 데이터의 정확성을 유지합니다.
- 데이터 검색 및 접근 효율성 향상: 식별자를 통해 원하는 데이터를 빠르게 검색하고 접근할 수 있습니다.
- 데이터 관계 설정: 식별자는 엔터티 간의 관계를 설정하고 관리하는 데 사용됩니다.
2. 식별자의 분류 체계
식별자는 다양한 기준에 따라 여러 가지 유형으로 분류될 수 있습니다.
2.1. 대표성 여부에 따른 분류
- 주 식별자 (Primary Identifier)
- 엔터티 내에서 각 인스턴스를 유일하게 식별하는 식별자
- 테이블의 기본키 (Primary Key) 역할을 수행
- 예: 고객 테이블의 "고객 ID"
- 보조 식별자 (Alternate Identifier)
- 주 식별자 외에 엔터티를 유일하게 식별할 수 있는 식별자
- 테이블의 후보키 (Candidate Key) 역할을 수행
- 예: 고객 테이블의 "주민등록번호", "이메일 주소"
2.2. 생성 여부에 따른 분류
- 내부 식별자 (Internal Identifier)
- 엔터티 내부에서 자체적으로 생성되는 식별자
- 예: 고객 테이블의 "고객 ID" (자동 생성되는 일련번호)
- 외부 식별자 (External Identifier)
- 다른 엔터티와의 관계를 통해 생성되는 식별자
- 외래키 (Foreign Key) 역할을 수행
- 예: 주문 테이블의 "고객 ID" (고객 테이블의 "고객 ID"를 참조)
2.3. 속성의 수에 따른 분류
- 단일 식별자 (Single Identifier)
- 하나의 속성으로 구성된 식별자
- 예: 고객 테이블의 "고객 ID"
- 복합 식별자 (Composite Identifier)
- 두 개 이상의 속성으로 구성된 식별자
- 예: 주문 상품 테이블의 "주문 ID" + "상품 ID"
2.4. 대체 여부에 따른 분류
- 본질 식별자 (Natural Identifier)
- 업무적으로 의미를 가지는 속성으로 구성된 식별자
- 예: 고객 테이블의 "주민등록번호"
- 인조 식별자 (Artificial Identifier)
- 업무적으로 의미는 없지만, 유일성을 보장하기 위해 인위적으로 생성된 식별자
- 예: 고객 테이블의 "고객 ID" (자동 생성되는 일련번호)
3. 식별자 설계 시 고려 사항
- 유일성: 각 인스턴스를 유일하게 식별할 수 있어야 합니다.
- 최소성: 불필요한 속성을 포함하지 않고 최소한의 속성으로 구성해야 합니다.
- 안정성: 값이 자주 변경되지 않는 속성으로 구성해야 합니다.
- 단순성: 이해하기 쉽고 사용하기 편리한 속성으로 구성해야 합니다.
728x90
'SQL' 카테고리의 다른 글
데이터베이스에서 논리적 데이터 독립성과 물리적 데이터 독립성 (0) | 2025.02.24 |
---|---|
데이터베이스 스키마의 3가지 구성 요소: 외부, 개념, 내부 스키마 완벽 분석 (0) | 2025.02.23 |
Oracle 계층적 쿼리 (Hierarchical Query) (0) | 2025.02.15 |
데이터 정규화(Normalization)란? (0) | 2025.02.13 |
관계 데이터베이스에서의 관계수, 선택성, 식별자 상속 (0) | 2025.02.12 |