1. 논리 모델링이란
- 명확하고 구체적
- DBMS의 물리적인 특성까지 고려할 필요는 없음
2. 엔티티 정의 및 상세화
핵심 엔티티 (Key Entity, 기준정보)
기준정보 : 기본정보
데이터 성격에 따라 분류 4가지
- 유형 및 분류 (코드정보, 번호)
- 업무규칙 및 지식 (규칙정보)
- 업무주체 및 대상 (주어, 목적어)
- 고객은 누구인가? 비회원도 고객인가?
- 장소
- ex. 창고, 매장, 사무실
중요 엔티티 (Main Entity, 업무기본)
업무기본 : 업무행위 (동사)
업무주체 및 대상 간의 거래나 업무행위에 의해 발생
행위 엔티티 (Action Entity, 업무상세)
행위엔티티 유형 ⭐⭐⭐
-
상세/내역
-
상태
-
이력 (일부분이든 전체든 상관이 없음)⭐⭐⭐
- 전체항목 이력관리 (과거history 데이터이력만)
- 변경 항목만 이력관리
- 점이력 (이벤트)
- 선분이력 (변경시작일자 ~ 변경종료일자)
- 최종데이터 포함 이력 (과거history + 현재이력)
엔티티 도출 및 식별
- 속성명 (논리) : 용어는 최대한 detail하게
ex) 진행상태 > 예산진행상태코드
- 컬럼명 (물리) : 물리모델링은 간단하게(논리가 남아있어서 디테이하지않아도 됨)
3. 관계 도출 및 정의
관계 정의
M : N 관계
해소해야할 부분
4. 속성 도출 및 정의
속성명 부여
자명성(self-evidence)
- 속성명을 명확하게 설명할 수 있는 명칭
- 불필요한 의논시간 줄여줌
속성 정의
속성에 대한 설명이나 데이터 발생 규칙 등을 기술
식별자 지정
유일하게 식별 가능한, 최소속성으로, 변하지 않고, 반드시 존재하는 값
인조 식별자를 정의하는 경우
Table 통합할 때
복잡한 본질 식별자상속 대체
도메인 지정 : 속성이 가지는 타입/범위⭐
옵셔널리티(Not Null) 지정⭐
Default값 지정⭐
데이터 모델 검토⭐
5. 데이터 표준화
코드 표준화
<코드사전>
- 정렬순서 : 우리 마음대로 변경이 가능
- 사용여부 : data join이 어려움
<코드부여>