📌 개념 모델링의 내용을 구체적으로 정의한다
ex
고객유형코드, 상품분류코드 등 각종 코드정보ex
직급별 연봉, 보험료 조건, 지역별 담당자핵심 엔티티
ex
부서, 사원, 고객, 상품ex
물류창고, 공장, AS센터, 도로, 채널, 지역, 좌표 등등고객, 직원
와 업무 대상상품
간의거래나 업무 행위에 의해 발생함시작시점
만 관리한다.ex
대출같이 언제 빌려갔는지는 점이력으로 관리한다.ex
가격은 계속 변하기 때문에 from ~ to 선분이력으로 관리ex
여신과 수신업무에서 '계좌'를 정의한 경우 여신계좌, 수신계좌로 명확히 구분 여신:대출업무, 수신:예금업무
ex
고객, 부서, 상품, 주문, 계약ex
주소 -> 고객주소, 입급내역 -> 계약입금내역ex
계약 + 상품 -> 계약상품ex
고객별실적 -> 고객단위실적, 예산계획및실적 -> 예산계획실적보조
식별자로 구분한다.ex
사원 엔티티의 사원번호, 주민등록번호ex
업무처리나 이벤트 성격의 데이터인 회원ID, 계좌번호(사원번호 + 보고날짜)
대신 인위적으로 부여한 일련번호 형식의 식별자를 의미논리 데이터 모델은 업무 변경에 유연하게 대응하고 확장성을 가져야 한다.
서로 다른 본질 식별자를 가진 엔티티를 통합할 때 본질식별자를 그대로 사용하면 구조가 복잡해지고 데이터 값이 없는 경우도 발생함
인조식별자를 사용하면 식별자를 변경할 가능성이 낮아지고, 설계 변경을 최소화할 수 있어 유연하고 확장 가능한 모델을 설계할 수 있음
📌
식별관계 : 다른 table의 PK를 내 PK로 가져오는것
요약 : FK면서 PK
FK : 다른 테이블의 PK
식별관계 중 키가 많아지는 걸 방지하기 위해 없는 키를 생성하는데 이게 인조키다.
📌 도메인 : 속성들이 가질 수 있는 값의 범위
속성 : 테이블을 구성하는 컬럼, 속성은 값을 얻는다.
예) 고객 엔티티의 속성은? 이름, 연락처, 주소, 가입일, 등등...
(필수, Not Null)
지정(선택, Null)
로 지정표준단어사전 < 블로그 참조
업무에서 통계를 내거나 한정된 데이터 값을 목록화하여 관리하고자 하는 대상을 코드로 식별하여 정의
코드는 공통코드로 통합하거나, 개별 테이블 형태로 관리(목록성 코드라고 함)
한다.
코드 표준화 대상은 목록성 코드와 공통코드 모두를 포함한다.
코드사전
코드 사전은 코드에 대한 코드유형ID, 코드유형명, 코드, 코드명 등을 정의
업무에서 동일한 의미로 사용하는 코드는 최대한 통합하여 단일 코드유형으로 정의
ex
거래은행("한국은행", "기업은행"), 이체은행("산업은행", "국민은행")이 있다면
은행("한국은행", "기업은행", "산업은행", "국민은행")으로 통합할 수 있음
여기서, 특정 업무에서 은행코드 중 일부만 사용한다고 하면, 코드유형ID를 별도로 등록 가능
분류형
: 코드를 대/중/소 분류체계로 계층을 나누고, 상위 코드에 코드를 추가하는 방식
ex
농업 : 01, 작물 재배업 : 001, 곡물 밑 식량작물 재배업 : 0111, 축산업 : 012일련번호형
: 의미없이 순차적으로 일련번호를 부여하는 방식
ex
고객유형, 개인 : 01, 법인 : 02, 기타 : 99약어형
: 성별코드처럼 약어를 그대로 사용하는 방식
ex
성별, 남자 : M, 여자 : F차용성
: 업무에서 사용하는 코드를 그대로 쓰는 방식
ex
은행코드, 한국은행 : 001, 산업은행 : 002, 기업은행 : 003'사용여부', '사용유무'는 두가지 값을 가지며 Y/N, 1/0 처럼 코드로 관리하는게 좋다.