본문 바로가기
Database

데이터 모델링 - 3. 논리 모델링

by Ellery 2022. 8. 2.
  • 데이터 모델링의 순서
    • 현행분석(개념, 업무파악, 기존 데이터 분석) → 방향성 수립 → 개념모델링 → 논리 모델링 → 물리 모델링
  • 논리 모델링 순서
    • 엔티티 정의, 상세화 → 관계도출, 정의 → 속성 도출, 정의 → 데이터 표준화
    1. 엔티티 정의하기
      • 핵심 엔티티(key entity, 기준정보) - 업무행위의 주체, 행위의 대상(목적)
        • 독립적으로 존재하여 식별할 수 있다. 업무를 위해 정의되었을 수 도 있다
        • 핵심 엔티티의 종류
          • 유형, 분류 - 고객유형코드, 상품분류코드 등의 각종 코드번호
          • 업무규칙, 지식 - 직급별 연봉, 보험료조건, 지역별담당자
          • 업무주체, 대상 - 부서, 사원, 고객, 상품
          • 장소 - 물류창고, 공장, AS센터, 도로, 채널, 지역, 좌표
      • 중요 엔티티(main entity, 업무기본)
        • 업무 주체와, 업무 대상간의 거래, 업무 행위에 의해 발생
        • ex) 주문, 약정, 입출고
      • 행위 엔티티(action entnty, 업무상세)
        • 업무 행위에 대한 상세 내역, 업무결과에 대한 상태를 나타냄. 다른 중요 엔티티나 행위 엔티티에 종속된다.
        • ex) 상세/내역 - 주문내역, 예산내역, 상태 - 결제프로세스에서의 상태, 이력 - 특정시점의 데이터를 재현해야될 때
        • 이력 관리 방식에는 2가지 방식이 있음 - 선분이력(시작과 종료 일시 기간을 기록), 점이력(변화된 일시를 기록)
      1. 엔티티 도출, 식별법
        • 일반적으로 현행 데이터 모델(AS-IS) 모델을 바탕으로 현업의 기능, 데이터 요구사항을 정의하면서 엔티티를 도출하고 식별한다.
        • 현행 데이터 모델에서 불필요한 업무나 기능과 관련된 테이블 삭제 - 현업자와의 인터뷰를 통해 엔티티명, 관계선, 속성명을 정리
        • 속성명은 데이터 표준화를 염두에 두고 기본적인 용어를 통일하는 것이 좋음
      2. 엔티티 명명
        • 엔티티명은 기본적인 업무를 표현하는 단수형 명사를 사용하자. ex) 고객, 부서, 상품, 주문, 계약
        • 데이터 범위와 내용을 명확히 하는 수식어를 사용하자 ex) 고객주소, 계약입금내역
        • 낱 단어는 사용하지 말자 ex) 고객별실적 → 고객단위 실적, 예산계획및실적 → 예산계획실적
        • 한글, 알파벳 대문자를 사용하자, 숫자 언더바는 가끔 쓰고, 띄어쓰기, 특수문자 사용하지 말자
        • 속성명은 논리모델에서 사용되는 요소이기 때문에 명확하고 자세하게 작성해아한다. 구체적인 용어 사용
      3. 엔티티 정의
      4. 엔티티 통합
    2. 관계 도출, 정의하기
    3. 속성 도출, 정의하기
      • 속성명 부여
      • 속성 정의
      • 식별자 지정
        • 인조 식별자(FK이면서 PK인 키)를 정의하는 경우: 식별관계일 때 키 컬럼이 너무 많아진다면 인조키를 사용하면 키 갯수를 줄일 수 있다.
      • 도메인 및 데이터타입 지정
      • 옵셔널리티(not null) 지정
      • default 값 지정
      • 마지막으로 데이터 모델 검토, 리뷰
    4. 데이터 표준화
      • 용어 정리
      • 도메인 표준화
      • 코드 표준화