by-nc-sa     개발자, DBA가 함께 만들어가는 구루비 지식창고!

업무 식별자




업무 식별자


정의
  • 업무적으로 엔티티 인스턴스 구분하게 하는 식별자

    특성
  • 인스턴스를 구분하는 식별자이므로 인스턴스의 갯수 늘리는데 영향을 줌
  • 업무 데이터를 쌓는 기준이 됨

     ex) EMP 테이블에서
      사원번호가 주식별자
      주민번호가 업무식별자 일 때
      --> 주민번호가 같으면 새로운 사원으로 인식하지 않겠다는 의미
      --> 새 인스턴스 추가 기준은 주민번호 속성
      --> 주 식별자인 사원번호는 인스턴스를 유일하게 구분하는 기능은 가지고 있지만 인스턴스 갯수를 늘리지는 못 함



     --> 동일 인물이 재 입사 시 다른 사번을 부여 한다면 사원번호+주민번호가 업무 식별자가 되어야 함



     --> 지정 방법에 따라 업무 데이터 관리 방법 변경

    사례

     종속 엔티티에서의 업무 식별자는 애매 해 질 수 있다
     고객 - 고객주소 구조에서 고객 별 주소가 여러 개 있을 수 있음(ex 직장, 자택, ...)
     주 식별자는 [고객번호+순번] - 고객 테이블에서 상속 + 여러 주소를 넣을 경우 고려으로
     업무 식별자는 [고객번호+주소유형]



    8-6 의 그림에 순번 외 주소유형코드를 식별자로 넣었을 때 업무-주 식별자가 일치
    주소유형코드는 부분 주 식별자(Partial Primary Identifier) 라고 함

  • 8-5 처럼 설계 하는 이점이 있는지?

    8-5 처럼 설계 하는것은 부분 주 식별자 + 인조 식별자로 주 식별자를 구성하는 방법
    엔티티에서 업무 내용을 파악하기 어려우므로 추천하지 않음

업무 식별자가 되기 위한 조건



  • 유일한 값을 가지고 있어야 함
  • 널을 허용하면 안됨
  • 수정되지 않는게 기본 원칙
     - 인스턴스를 발생시키는 값이며
     - 수정되었을 시 외래 식별자(자식 엔티티)의 값에 영향을 미치므로

생성 요령
  • 어떤 데이터를 관리 할 것인지 정한다
  • 어떤 기준으로 데이터가 생성되는지 정한다
     - 고객을 "인격체"로 정의하면 업무식별자는 주민번호
     - 고객을 "인격체 + 역할" 로 정의하면 업무식별자는 주민번호+고객유형



문서정보

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.