- HOME
- [종료]구루비 DB 스터디
- 2014년 상반기 - 오라클 데이터베이스 스터디
- 업무 식별자
업무 식별자
정의
- 업무적으로 엔티티 인스턴스 구분하게 하는 식별자
특성
- 인스턴스를 구분하는 식별자이므로 인스턴스의 갯수 늘리는데 영향을 줌
- 업무 데이터를 쌓는 기준이 됨
- ex) EMP 테이블에서
- 사원번호가 주식별자
- 주민번호가 업무식별자 일 때
- --> 주민번호가 같으면 새로운 사원으로 인식하지 않겠다는 의미
- --> 새 인스턴스 추가 기준은 주민번호 속성
- --> 주 식별자인 사원번호는 인스턴스를 유일하게 구분하는 기능은 가지고 있지만 인스턴스 갯수를 늘리지는 못 함
- --> 동일 인물이 재 입사 시 다른 사번을 부여 한다면 사원번호+주민번호가 업무 식별자가 되어야 함
- --> 지정 방법에 따라 업무 데이터 관리 방법 변경
사례
- 종속 엔티티에서의 업무 식별자는 애매 해 질 수 있다
- 고객 - 고객주소 구조에서 고객 별 주소가 여러 개 있을 수 있음(ex 직장, 자택, ...)
- 주 식별자는 고객번호+순번 - 고객 테이블에서 상속 + 여러 주소를 넣을 경우 고려으로
- 업무 식별자는 고객번호+주소유형
- 8-6 의 그림에 순번 외 주소유형코드를 식별자로 넣었을 때 업무-주 식별자가 일치
- 주소유형코드는 부분 주 식별자(Partial Primary Identifier) 라고 함
- 8-5 처럼 설계 하는 이점이 있는지?
- 8-5 처럼 설계 하는것은 부분 주 식별자 + 인조 식별자로 주 식별자를 구성하는 방법
- 엔티티에서 업무 내용을 파악하기 어려우므로 추천하지 않음
업무 식별자가 되기 위한 조건
- 유일한 값을 가지고 있어야 함
- 널을 허용하면 안됨
- 수정되지 않는게 기본 원칙
- 인스턴스를 발생시키는 값이며
- 수정되었을 시 외래 식별자(자식 엔티티)의 값에 영향을 미치므로
생성 요령
- 어떤 데이터를 관리 할 것인지 정한다
- 어떤 기준으로 데이터가 생성되는지 정한다
- 고객을 "인격체"로 정의하면 업무식별자는 주민번호
- 고객을 "인격체 + 역할" 로 정의하면 업무식별자는 주민번호+고객유형
- HOME
- [종료]구루비 DB 스터디
- 2014년 상반기 - 오라클 데이터베이스 스터디
- 업무 식별자