728x90
1. 논리 모델링이란
- DBMS의 물리적인 특성까지 고려할 필요는 없다.
2. 엔티티 정의 및 상세화
- 핵심 엔티티, 중요 엔티티, 행위 엔티티 세분화
- 예시
- 주문 핵심 엔티티: 고객, 상품
- 주문 엔티티: 중요 엔티티, 주문 상세 또는 주문 결제
2.1. 핵심 엔티티(4가지)
- 업무처리와 상관없이 독립적으로 이미 정의한 엔티티거나, 업무를 위해 미리 정의한 엔티티
- 핵심 엔티티는 타 엔티티 유형의 존재 유무와 관계없이 독립적으로 존재하며 식별할 수 있다.
- 엔티티 집합을 명확하게 정의하고, 인스턴스 생애주기에 대한 충분한 이해를 바탕으로 설계
- 4가지
- 유형 및 분류 : 대-중-소
- 업무규칙 및 지식 : 회원 등급이 오르는 기준
- 업무주체 및 대상
- 장소
- 유형 및 분류
- 대분류, 중분류, 소분류, 세분류 코드
- 고정 방식으로 가는 것이 좋다.
- 업무규칙 및 지식 엔티티
- 업무 요건이 변경되었을 때 프로그램을 수정하지 않고도 데이터를 반영하여 일정 부분 손쉽게 변경사항을 시스템에 반영할 수 있다.
- 업무 주체 및 대상
- 업무나 거래 주체는 고객, 사원, 부서, 협력회사
- 고객 : 기업에서 가장 중요한 엔티티 중 하나이며, 데이터 집합을 정의하기 까다롭다.
- 비회원도 고객? 최소 정보? 외국인은 주민번호 없는데? 개인과 개인사업자는 동일한 고객인가?
- 장소
- 장소 자체가 의미를 가지는 엔티티도 있지만 공간이나 위치 속성으로 도 존재하기도 한다.
- 물리적인 형태의 독립적인 엔티티로 식별하는 것이 좋은지, 조직 일부로 관리해도 되는지 판단이 중요
2.2. 중요 엔티티
- 동사 == 업무 행위
- 주요 업무에서 반복하여 발생하는 데이터를 관리하는 엔티티 - 해당 업무에 대해 일정기간 업무처리를 담당하는 담당자가 존재한다.
- 업무 주체와 업무 대상 간의 거래나 업무 행위에 의해 발생
- 업무 영역에서 가장 중심적인 업무처리에 대한 데이터 집합이며, 이를 중심으로 상세 업무 데이터, 이력, 상태를 기록하기 위한 데이터들이 하위 엔티티들로 구성
- 예시 : 주문, 배송, 발주 - (대상으로) 주문상품, 배송상품, 발주상품
2.3. 행위 엔티티(상세, 상태, 이력)
- 업무 행위에 대한 상세내역 및 업무 결과에 대한 상태를 나타내는 엔티티
- 상세/내역
- 주문 내역, 예산 내역처럼 중요 엔티티에 해당하는 주문이나 예산을 구성하는 항목 을 더 작은 단위로 세분화한 엔티티
- 상태
- 일반적으로 업무는 더 작은 업무 단위로 나누어 처리되며, 시간의 간겨글 두고 업무 단계별로 담당자가 업무를 처리하는 흐르을 가진다.
- 이력
- row-column
- 전체 항목 이력
- 부분 항목 이력
- 점, 선분
- 점: 주문
- 선분: 가격
- row-column
- 기타
- 최종 데이터 포함 이력
2.4. 엔티티 도출 및 식별
- 관심 대상이 되는 데이터를 분석하여 엔티티로 구체화하는 과정
- 가장 일반적이면서 효과적인 접근 방법: AS-IS(현행) 데이터모델을 바탕으로 현업의 긴으 및 데이터 요구사항을 정의하면서 엔티티를 도출하고 식별
- 현행 데이터 모델에서 불필요한 업무나 기능과 관련된 테이블을 식별하여 삭제한다.
- 판단이 서지 않는다면 일단 삭제하고시작
- 선별 작업이 어느 정도 마무리되면 현업과 인터뷰하기 전에 엔티티명, 관계선, 속성명을 정리 - 모든 명칭을 자명성이 들어나도록
- 가장 일반적이면서 효과적인 접근 방법: AS-IS(현행) 데이터모델을 바탕으로 현업의 긴으 및 데이터 요구사항을 정의하면서 엔티티를 도출하고 식별
2.5. 엔티티 명명
- 너무 길지 않아야 한다. (이건 제일 마지막에 생각)
- 구체적인 용어 사용
- 유사한 엔티티를 통합하지 않은 경우 주제영역이나 수식어를 붙여서 엔티티를 구분
ex) 여신계좌, 수신계좌 - 자명성 - 최적화된 단수형 명사
- 자명성을 위해서 수식어를 사용
주소 -> 고객주소, 입금내역 -> 계약입금내역 - 교차 엔티티는 양쪽 엔티티 명의 조합을 기본 명칭으로 사용
계약 + 상품 -> 계약 상품 - 낱 단어는 예외적을 사용한다.
별, 및 고객별실적, 예산계획및실적 - 한글과 알파벳 대문자 사용
- 숫자와 언더바를 제한적으로 허용하며 띄어쓰기나 기타특수문자 사용않는다.
2.6. 엔티티 정의
- life cycle에 관한 내용
- 이전에 했던 고객이 무너가, 비회원도 회원인가 관한 내용
- 아직 어려운 내용이여서 보류한다.
2.7. 엔티티 통합
- 엔티티 일반화와 특수화와 관련이 있다.