- HOME
- [종료]주주클럽 스터디
- 2017년 관계형데이터모델링 스터디
- 8.1 업무 식별자
8.1 업무 식별자
- 식별자 (Unique Identifier)는 엔터티에서 데이터의 유일성을 보장해 주는 속성이나 속성 집합이다
- 식별자가 하는 가장 중요한 역할은 엔터티에서 인스턴스를 유일하게 구별해 주는 것
- 논리 모델의 주 식별자는 물리 모델에 서 주 키(Primary Key)가 된다
8.1 업무 식별자(Business Identifiers)란?
- 엔터티에 존재히는 인스턴스의 유일성을 보장해 주는 것이 식별자이다.
- 엔터티 내의 인스턴스마다 서로다른 값을 가지는 속성이 식별자이다.
- 업무적으로 인스턴스를 구분하게 히는 식별자를 업무 식별재(Business Identifier)라고 한다.
예1) 사원번호
- 엔터티의 주 식별자(PK)는 사원번호가 일반적이다. 사원 엔터티의 인스턴스가 추가되면 사원번호도 새롭게 생성된다.
요건
- 홍길동이 퇴사하고 재입사 할때 다른 사원번호를 부여
- 주식별자는 사원번호이므로 사원번호로도 엔터티의 인스턴스를 유일하게 식별할 수 있다.
- 사원번호 속성은 인스턴스를 구별하여 사용하지만 엔터티의 인스틴스를 늘리는 데는 영향력이 없다.
( 새로운 인스턴스가 추가되는 기준은 사원주민등록번호 )
요건
- 퇴사하고 재입사 하더라도 같은 사원변호를 사용
유의할점
- 같은 사람임에도 입사 연도에따라 사원변호가 달라짐으로써 사원 데이터를 통합관리 하는데 어려움을 겪는 경우를 종종 본다.
- 한 사람에 대한 사원번호가 여러 개 존재하는 것은 바람직하지 않다.
- 입사연도를 사용체계가 사원번호에 존재하면 유연하지 않으므로 바람직하지 않다.
- (그림 8.2) 와 같이 주 식별자 체계가 속성에 종속되는 것은 좋지 않다. (그림 8.2) 의 사원번호 속성 값에는
- 입사연도+순번헝태의 체계가 존재하는데 입사연도 값은 입사일자 속성에 종속된다 (입사 연도가 변경되면 사원변호도 변경)
예2) 고객 번호
- 고객주소 엔터티에서 Pk가 고객번호+고객순번은 보다 고객번호+주소유형코드 바람직하다.(고객순번은 인조식별자)
- 고객주소 엔터티의 업무 식별자는 고객번호 속성과 주소유형 코드 속성이다. 비록 고객변호가 고객 엔터티의 인조 식별자이지만
고객주소가 종속 엔터티이므로 고객 엔터티의 주 식별자 인 고객번호는 업무 식별자에 포함된다. - 고객의 주소를 업무적으로 구분해 줄 수 있는 주소유형 코드 속성이 고객주소 엔터티의 업무 식별자이다.
- 종속 엔터티 일 때 부모 엔터티의 주 식별자와 자신 엔터티의 부분주 식별자를 합쳐야 자신의 주 식별자가 된다.
- 일반적으로 업무식별자(고객번호)와 인조식별자(주소순번)를 혼합한 형식으로 주 식별자를 사용하는 것은 비람직하지 않다.
- 부모 엔터티의 주 식별자도 업무 식별자에 포함되므로(그림 8.6) 모델과 같이 고객번호와 주소유형코드 속성이 주식별자면서 업무식별자가된다
- 주소유형코드속성은 고객주소엔터티의 부분주식별자(Partial Primary Identifier)라고 한다.
- 주식별자를 단순하게 하려면 (인조식별자사용) (그림 8.7) 과 같은 모델을 사용할수 있다.
업무 식별자는 특징과 제약
- 업무 식별자는 유일한 값을 가지고 있어야 한다.
- 만약 업무 식별자가 여러 속성으로 구성됐다면 조합된 값이 엔터티에서 유일하게 존재
- 업무 식별자는 널(Null) 값을 가지면 안 된다.
- 업무 식별자는 대체로 수정되지 않는다.(인스턴스를 발생시키는 기준/업무식별자자 주식별자로 사용됐다면 하위(자식) 엔터티의 외래 식별자에 영향을 미친다.)
기타
- 식별자를 모르고는 엔터티를 명확하게 정의할 수 없다.
- 정확하지 않은 엔터티 정의가 잘못된 모델링의 시발점이 된다.
- 속성을 정하려면 엔터티에 어떤 데이터를 관리할 것인지를 정해야 한다.
- 엔터티에서 관리할 데이터가 정해진 다음에는 그 데이터가 어떤 기준에 의해서 생성되는지를 정의해야 한다 (예:고객 데이터를 관리히는 엔터티가 필요하면 고객 엔터티의 인스턴스를 발생시키는 기준을 정의 )
정리
- 모델링의 초반 단계인 개념 모델링 단계에서 업무 식별지를 도출해야 한다
- 최종 모델인 물리 모델에서는 주 식별자(Primary Key)가 정해지게 된다 대부분 업무 식별자가 주 식별자로 결정
- 업무 식별자의 채택이 여러 가지 이유로 불리할 경우 인조 식별자가 주 식별자로 사용
- HOME
- [종료]주주클럽 스터디
- 2017년 관계형데이터모델링 스터디
- 8.1 업무 식별자