상세 컨텐츠

본문 제목

[DB] 데이터 모델링 - 식별자(Identifier) 란?

DevOps/DB-데이터베이스설계

by 사랑짱 2021. 5. 26. 10:31

본문

식별자(Identifier)란?

- 각각의 인스턴스를 유일(Unique)하게 구분해 낼 수 있는 속성

- Entity는 인스턴스의 유일성 식별을 보장할 수 있는 하나 이상의 식별자를 반드시 가져야 한다.

- 식별자는 검색이나 조인 시 중요한 역할을 하게 된다.

 

 

식별자(Identifier)의 특성

- 한번 설정되면 불변 (안정성)

- 최소한의 속성집합 (최소성)

- 복잡한 의미를 내포하지 않음 (직곽적)

- 생성과 동시에 부여 (필수적)

- 접근 가능 (보안성)

- Not Null (필수적)

 

 

식별자(Identifier)의 유형

 

대표성 여부에 따른 구분

 

- 주식별자 : 엔티티의 대표성을 나타내는 유일한 식별자(PK Index로 생성)

- 보조식별자 : 주식별자를 대신하여 데이터를 식별하는 식별자(Unique Index로 생성)

- 후보 식별자(대체식별자, AK) : 하나의 엔티티 내에서 식별자로 사용할 수 있는 하나 이상의 키들

 

◆ 스스로 생성 여부에 따른 구분

 

- 내부 식별자(PK) : 자신의 엔티티 내에서 스스로 생성되어 존재하는 식별자

- 외부 식별자(FK) : 관계에 의해 다른 엔티티로부터 주식별자 속성을 상속받아 속성에 포함되는 식별자

 

◆ 단일 속성 여부에 따른 구분

 

- 단일식별자 : 주식별자의 구성이 한가지 속성으로 이루어진 경우

- 복합식별자 : 두 개 이상의 속성으로 구성된 경우 ( 복합식별자의 경우, 우선순위가 중요 )

 

◆ 대체 여부에 따른 구분

 

- 원조식별자(본질식별자) 

- 대리식별자(인조식별자) : 주식별자가 복합식별자인 경우 여러 개의 속성을 하나의 속성으로 만들어 활용하는 경우

 

 

후보키 중에서 기본키가 되려면?

- 업무적 활용도가 놓을 것

- 길이가 짧은 것

- 대표성

 

◆ 기본키 무결성 검증
- 기본키 속성은 반드시 값을 가져야 한다. (Not Null)
- 기본키는 유일성을 보장하는 최소한의 집합이어야 한다. (Minimal Set of Attributes)

 

 

복합식별자는?

- 두개 이상의 속성으로 구성된 식별자로 어떤 속성을 먼저 두는 것인지 중요하다.

 

◆ 복합식별자의 속성 순서 정하는 기준
- 자주 사용하는 속성(어떤 속성을 기준으로 조회하는지)
- 분포도가 좋은 속성
- '=' 조회하는 속성

 

 

식별자 사용시 기억할 것

- 개념 모델링 단계에서는 식별자의 수가 많더라도 인조식별자 사용을 지양할 것 

  ( WHY? 직곽적으로 관계를 파악하기 위해서 )

 

 

 

 

관련글 더보기