데이터 모델링
yarn
모델링이란
현실세계 데이터모델
추상화
단순화
명확화
복잡한 현실세계를 일정한 표기법에 의해 표현하는 일
개념적 데이터 모델
논리적 데이터 모델
물리적 데이터 모델
개념적 데이터 모델
핵심엔티티핵심엔티티 핵심엔티티
*핵심 엔티티는 행위의 주체나 목적물이 되는 개체 집합
주제영역(Subject Area)
• 기업이 사용하는 데이터의 최상위 집합
• 유사한 성격의 데이터를 체계화해 그룹으로 묶은것
을 의미
• Ex. 제조업체
• 인사, 생산, 자제, 판매등이 주제 영역
• 가장 근본적인 목적은 기업의 정보체계 구조를 한눈
에 파악하고 관리.
주제영역 분류 원칙
• 데이터 중복의 최소화
• 동일한 기능을 하는 자원이 중복정의되지 않게
• 데이터 확장성 보장
• 가까운 미래에 추가 되어지는 정보에 대해서 확장
성을 고려
주제영역 분류기준
• 데이터 관점의 분류
• 업무를 발생시키는 주체, 대상및 행위등에서 데이터를 생
성하는 기준으로 분류
• 데이터 유사성
• 시스템이 다르더라도 동일한 유형의 데이터를 발생시키면
같이 관리
• 업무요건 추가에 대한 유연성 보장
• 주제영역간 균형 유지
주제영역 명명
• 실제 사용하는 업무용어로 부여
• Ex. 인사, 생산, 판매, 직원, 구매
• 단수형 명사
• 데이터 그룹을 의미하는 이름을 부여
주제영역 분류방법
• 1차 분류 : 주요 데이터집합의 유형정의
• 2차 분류 : Biz 활동에 필요한 데이터 분류
• 3차 분류 : 2차 영역의 세부 주제 영역 분류
1차 분류 :
주요 데이터 집합 유형의 정의
• 기존 시스템별로 제공되는 데이터의 성격 및 특성을
고려하여 분류
• 업무의 변화에 민감하지 않도록 정의
1차 분류 Ex
관계자
상품/서비스
자산
채널
계약
리스크
주문
경영관리
데이터 발생 시키는 주체 데이터를 발생시키는 주체간
상호 작용으로 발생하는 대상
공통 및 관리 성격
2차분류:
Biz 활동에 따른 필요한 데이터 분류
• 데이터의 기능적 구성관점에서 접근 1차 분류를 세
분화
• 업무 변화에 따른 확장성을 고려하여 분류
• 분류 Ex
• 관계자 : 관계자 기본, 관계자 상세, 관계자 관계,
관계자 분류
3차 분류:
2차영역의 세부 주제 영역 분류
• 업무적인 관점에서 분류
• 분류 Ex
• 관계자(기본) : 고객, 법인, 조직, 직원
• 계약(기본) : 수신계약, 예금계약, 신탁계약
주제영역 분류 Ex
국내 A은행 주제영역 분류 사례
주제영역 장점
• 데이터의 계층적 구조를 파악이 쉬움
• 데이터 및 업무 활동 모델의 품질 보증
• 프로젝트 관리 용이
• 모델 개발 조정 용이
• Repository 관리 용이
• 상세사항의 전개 혹은 축약가능
주제영역 도출
• 업무에서 사용하는 데이터의 명사형 도출
• 업무 기능의 이름으로부터 도출
• 하향식 접근방법(Top-down)
• 상향식 접근방법(Bottom-up)
• 분석 단계에서의 도출
엔티티는 업무를 수행하는데 필요 한 데
이터를 특성이 유사한것 끼리 모아 놓은
집합
엔티티 설계
• 관리하고자 하는 데이터인지 판단.
• 주식별자(PK)
• 속성이나 관계와 혼동하면 안됨.
식별자
• 인조 식별자 (가주어)
• 유니크
• 본질 식별자 (진주어)
• PK
서브 타입
• 엔티티를 명확하게 하기위해서 구체적으로 부분집합
의 종류를 명시
• Ex
• 고객등급 : 일반, VIP, VVIP
서브타입 지정시 고려사항
• 교집합 허용불가
• 서브타입의 합이 전체 집합
• 서브타입 또한 추후 물리모델에서 테이블 분할의 기
준 역할을 하기에 아래의 기준을 가져야 한다.
• 개별 속성
• 개별관계
서브타입 도출
• 두개 이상의 유사한 엔티티에서 공통속성을 분류
• 하나의 엔티티에서 유사한 속성끼리 분류
두개 이상의 엔티티에서 공통
속성을 분류하는 방법 Ex
before
두개 이상의 엔티티에서 공통
속성을 분류하는 방법 Ex
after
하나의 엔티티에서 유사한 속
성끼리 분류하는 방법 Ex
before
하나의 엔티티에서 유사한 속
성끼리 분류하는 방법 Ex
after
엔티티 후보 수집
• 기존시스템 도큐먼트
• 현업 보고서
• 현업 담당자들과 인터뷰
• 관련 전문 서적
• 데이터 흐름도
• 타 시스템 자료
• 현장 조사
엔티티 후보 식별
• 엔티티 후보의 개념 정립
• 관리 대상 판정
• 집합 여부 확인
엔티티 후보 선정시 유의사항
• 엔티티 가능성이 있다고 예상되면 일단 검토 대상에 올려라
• 너무 깊게 생각하지마라
• 동의어처럼 보이더라도 함부로 버리지마라
• 개념이 모호한 대상은 그 개념을 상식화하여 이해하라
• 프로세스에 너무 연연해 하지마라
• 예외인 경우에 너무 집착하지마라
• 단어 하나하나 집주에서 판단해라
엔티티 분류
액션
엔티티
키
엔티티
메인
엔티티
키 엔티티
• 자신의 부모를 가지지 않는 엔티티
• Ex
• 사원, 부서, 고객, 상품, 자재
메인 엔티티
• 업무중심에 해당하는 엔티티
• 키엔티티를 제외하고는 모두 부모엔티티를 가진다
• Ex
• 보험 계약, 사고, 주문, 매출
액션 엔티티
• 키, 메인 엔티티를 제외한 모든 엔티티
• 주로 행위로 발생되어지는 엔티티들
• 자식을 가지지 않는다
• Ex
• 상태 이력, 차량 수리 내역, 주문 내역
바커 표기법(Baker’s
Notation)
정보공학 기법(IE Notation)
엔티티 표현
• 소프트 박스 및 직사각형으로 표현
• 이름은 단수명사로 표현
• 박스안에 혹은 박스 위에 엔티티명 표현
채용
채용
속성 표현
제품
# 제품코드
* 제품명
o 단가
#: 본질 식별자
* : not null
o : nullalble
관계 표현
식별관계와 비 식별 관계
식별관계 (Identification Relationship)
부모실체의 식별자가 자식 실체의 식별자의 일부분이 되는 관계
비 식별관계 (Non-Identification Relationship)
부모실체의 식별자가 자식 실체의 식별자의 일부분이 아닌 관계
선택성 정의
필수선택
관계 읽기
• 각 고객은 하나의 주문을 할지도 모른다.
• 각 주문은 하나의 고객을 반드시 포함해야한다.
• 각 주문은 하나이상의 주문상세를 반드시 포함한다
• 각 주문상세는 하나의 주문에 반드시 포함된다.
• 각 제품은 하나의 주문상세에 반드시 포함된다.
• 각 주문상세는 하나의 제품에 반드시 포함된다.
M : M
M : M 관계 해소
배타적 관계
• 어떤 엔티티가 두개 이상의 다른 엔티티을 가지는것을 배타적관계
• 항상 필수 이거나 선택 이어야한다
• 반드시 하나의 엔티티에 속해야한다
데이터 모델링 작성규칙
• 엔티티 정의
• 엔티티 후보 도출
• 엔티티 후보 자격조건 식별하여 최종 엔티티 도출
• PK속성 도출 하여 엔티티의 주식별자 표기
• 관계 정의
• 다대다 관계 제거
• 속성 정의
• 정규화 검증
데이터 모델링 실습
병원에는 많은 의사가 근무하고 있으며, 많은 환자가
진료를 받고 있다. 각 환자에게는 여러가지 실시된 검
사기록이 유지된다.
엔티티 후보 도출
병원에는 많은 의사가 근무하고 있으며, 많은 환자가
진료를 받고 있다. 각 환자에게는 여러가지 실시된 검
사기록이 유지된다.
엔티티 후보 작성
최종 엔티티 배치
관계 정의
M:M 관계 해소
데이터 모델링은 프로세스
관점이 아닌, 데이터 관점
으로 설계

데이터 모델링