실전 데이터 모델링 데이터 모델 상세화 및 모델 관리

43
실실 실실실 실실실 실실 실실실 실실실 실실실 실실 실실실 실 실실 실실 실실실 실실 실실실 실 실실 실실 실 실 실 실 실 실

description

실전 데이터 모델링 데이터 모델 상세화 및 모델 관리. 명 재 호. 목차. 데이터 모델의 다양한 Source 현행 논리모델 DRM 활용 Attribute Pool 활용 데이터 표준화 데이터 모델 상세화 정규화 M;M 해소 계층형 데이터 모델 배타적 데이터 모델 이력관리 데이터 모델 물리 데이터 모델. 제 1 부. 데이터 모델의 다양한 Source. 물리적 데이터 모델링. 정규화 작업. 엔터티 통합. 이력관리 대상 선정. 이력관리 형태 결정. 제 1 정규화. 수직적 통합. - PowerPoint PPT Presentation

Transcript of 실전 데이터 모델링 데이터 모델 상세화 및 모델 관리

Page 1: 실전 데이터 모델링 데이터 모델 상세화 및 모델 관리

실전 데이터 모델링실전 데이터 모델링데이터 모델 상세화 및 모델 관리데이터 모델 상세화 및 모델 관리

명 재 호명 재 호

Page 2: 실전 데이터 모델링 데이터 모델 상세화 및 모델 관리

2

목차목차목차목차 데이터 모델의 다양한 데이터 모델의 다양한 SourceSource

현행 논리모델현행 논리모델 DRM DRM 활용활용 Attribute Pool Attribute Pool 활용활용 데이터 표준화데이터 표준화

데이터 모델 상세화데이터 모델 상세화 정규화정규화 M;M M;M 해소해소 계층형 데이터 모델계층형 데이터 모델 배타적 데이터 모델배타적 데이터 모델 이력관리 데이터 모델이력관리 데이터 모델

물리 데이터 모델물리 데이터 모델

Page 3: 실전 데이터 모델링 데이터 모델 상세화 및 모델 관리

3

데이터 모델의 다양한 데이터 모델의 다양한 SourceSource

제 제 1 1 부부제 제 1 1 부부

Page 4: 실전 데이터 모델링 데이터 모델 상세화 및 모델 관리

4

식별자 매핑식별자 매핑

일반 속성 매핑일반 속성 매핑

일반 릴레이션쉽 매핑일반 릴레이션쉽 매핑

매핑 우선순위 결정매핑 우선순위 결정

테이블 단위 결정테이블 단위 결정

Storage Storage 설계설계

Partition Partition 설계설계

Constraints Constraints 설계설계

이력관리 대상 선정이력관리 대상 선정

이력관리 형태 결정이력관리 형태 결정수직적 통합수직적 통합

수평적 통합수평적 통합

차원적 통합차원적 통합

릴레이션쉽 통합릴레이션쉽 통합

엔터티 통합엔터티 통합

제 제 1 1 정규화정규화

제 제 2 2 정규화정규화

제 제 3 3 정규화정규화

정규화 작업정규화 작업

M:M M:M 릴레이션쉽 해소릴레이션쉽 해소

추가적인 설계추가적인 설계추가적인 설계추가적인 설계 컬럼 매핑컬럼 매핑컬럼 매핑컬럼 매핑 테이블 매핑테이블 매핑테이블 매핑테이블 매핑

물리적 모델물리적 모델

이력관리 결정이력관리 결정이력관리 결정이력관리 결정 데이터 모델 통합데이터 모델 통합 데이터 모델 통합데이터 모델 통합 데이터 모델 상세화데이터 모델 상세화 데이터 모델 상세화데이터 모델 상세화

최종 논리적 모델최종 논리적 모델

물리적 데이터 모델링물리적 데이터 모델링

TO-BE TO-BE 데이터 모델링데이터 모델링TO-BE TO-BE 데이터 모델링데이터 모델링

Page 5: 실전 데이터 모델링 데이터 모델 상세화 및 모델 관리

5

목표 데이터 아키텍쳐 구축목표 데이터 아키텍쳐 구축

현행 모델을 기반으로 목표 모델 생성현행 모델을 기반으로 목표 모델 생성현행 모델을 기반으로 목표 모델 생성현행 모델을 기반으로 목표 모델 생성

Page 6: 실전 데이터 모델링 데이터 모델 상세화 및 모델 관리

6

데이터 표준화 적용데이터 표준화 적용데이터 표준화 적용데이터 표준화 적용

표준화 표준화 리파지토리리파지토리

데이터 표준화 프로세스 데이터 표준화 프로세스

논리 모델논리 모델 물리 모델물리 모델

용어 표준용어 표준

속성속성 ,, 컬럼 표준컬럼 표준

도메인 표준도메인 표준

데이터 모델 표준데이터 모델 표준

표준화 적용표준화 적용 표준화 준수표준화 준수

Page 7: 실전 데이터 모델링 데이터 모델 상세화 및 모델 관리

7

데이터참조모델데이터참조모델 (DRM)(DRM) 의 개념의 개념데이터참조모델데이터참조모델 (DRM)(DRM) 의 개념의 개념

주제영역별 물리모델주제영역별 물리모델

특정 엔터티특정 엔터티

특정영역데이터모델특정영역데이터모델

주제영역별 논리모델주제영역별 논리모델

연락처정보주소

전화번호

주택전화

직장전화

자택주소

직장주소

연락처정보주소

전화번호

주택전화

직장전화

자택주소

직장주소

연락처정보주소

전화번호

주택전화

직장전화

자택주소

직장주소

연락처정보주소

전화번호

주택전화

직장전화

자택주소

직장주소

특정 속성특정 속성 //아티클아티클

데이터 관련 모든 객체데이터 관련 모든 객체 (( 부품부품 )) 들들

[고객][고객]

[개인][개인] [법인][법인]

기초정보신용정보

가족사항이력사항

법인현황재무정보주주현황

[고객][고객]

[개인][개인] [법인][법인]

[고객][고객]

[개인][개인] [법인][법인]

기초정보신용정보기초정보신용정보

가족사항이력사항

법인현황재무정보주주현황

특정 특정 DA/DCDA/DC

주제영역별 개괄모델주제영역별 개괄모델

도서관도서관 지식관리시스템지식관리시스템부품창고부품창고

DRMRepository

DRMRepository

• Auto IndexingAuto Indexing

• Contents ParsingContents Parsing

• Ontology Ontology

DRMDRM생성기생성기

참조참조 , , 복제복제 , , 조정조정

MicroSoft PowerPointMicroSoft PowerPoint 의 의 Online Clip ArtOnline Clip Art

참조참조 ,, 복제복제 ,, 가공가공참조참조 ,, 복제복제 ,, 가공가공

유사유사

품질품질 ,,

생산성 향상생산성 향상품질품질 ,,

생산성 향상생산성 향상조립생산조립생산

Page 8: 실전 데이터 모델링 데이터 모델 상세화 및 모델 관리

8

고객관리 ,통신업무 ,CRM,통합고객 ,무선통신 ,유선통신

사람 ,남성 , 사무실 , 사무용품 , 컴퓨터토론

데이터참조모델데이터참조모델 (DRM) (DRM) 개념개념데이터참조모델데이터참조모델 (DRM) (DRM) 개념개념

22 사람사람

넥타이넥타이

PCPC

전화기전화기푸른색 푸른색

와이셔츠와이셔츠

클립아트 키워드클립아트 키워드 분류영역 부여분류영역 부여3030 개 엔터티개 엔터티

고객고객

가입계약가입계약

4040 개 속성개 속성

개인고객서개인고객서브타입브타입

관리사원관리사원 (( 관계관계 ))

발생일자발생일자 (( 속성속성 ))

고객관리고객관리 (( 서브시스템서브시스템 )) 작성일자작성일자

실질 및 본질식별자실질 및 본질식별자

엔터티 정의엔터티 정의 ((키워드 도출키워드 도출 ))

OwnerOwner

연락처정보주소

전화번호

주택전화

직장전화

자택주소

직장주소

연락처정보주소

전화번호

주택전화

직장전화

자택주소

직장주소

연락처정보주소

전화번호

주택전화

직장전화

자택주소

직장주소

연락처정보주소

전화번호

주택전화

직장전화

자택주소

직장주소아티클아티클

아티클아티클

동의어동의어의미구조의미구조

반의어반의어

유사어유사어

키워드 검색키워드 검색

관계에서 관계에서 종속성도출종속성도출

오로지…오로지…

22 사람의 남성이 사람의 남성이 컴퓨터를 보고 컴퓨터를 보고 토론하는 그림은 어디 토론하는 그림은 어디 있나요있나요 ??

통신회사의 고객 통신회사의 고객 관련 데이터 모델을 관련 데이터 모델을 참조하고 싶어요참조하고 싶어요

통합고객을 정의 통합고객을 정의 하기 위해 유사한 하기 위해 유사한 집합들을 모두 집합들을 모두 참조하려고 해요참조하려고 해요 ..

주소정보를 관리 주소정보를 관리 하는 속성들의 하는 속성들의 유형들을 참조하고 유형들을 참조하고 싶어요싶어요 ..

확장하자확장하자 !!

Page 9: 실전 데이터 모델링 데이터 모델 상세화 및 모델 관리

9

데이터 모델 표준데이터 모델 표준 (Global DRM) (Global DRM) 활용활용데이터 모델 표준데이터 모델 표준 (Global DRM) (Global DRM) 활용활용DRM 검색 ICON

DRM Web page

모델 보기DOWNLOAD

작업중인 Modeler 로 Download

DRM 열기 ICON

Page 10: 실전 데이터 모델링 데이터 모델 상세화 및 모델 관리

10

새로운 모델링 요소 새로운 모델링 요소 - - 아티클아티클새로운 모델링 요소 새로운 모델링 요소 - - 아티클아티클

자택주소자택주소우편번호우편번호 지역주소지역주소 상세주소상세주소

자택전화번호자택전화번호국번국번 일련번호일련번호

자택연락처자택연락처자택연락처자택연락처

직장연락처직장연락처직장연락처직장연락처

전화번호전화번호전화번호전화번호 주소주소주소주소

직장주소직장주소우편번호우편번호 지역주소지역주소 상세주소상세주소

직장전화번호직장전화번호국번국번 일련번호일련번호

지역번호지역번호

지역번호지역번호

지역번호지역번호지역번호지역번호

연락처연락처연락처연락처

연락처정보주소

전화번호주택전화직장전화

자택주소직장주소

전화번호지역번호국번일련번호

주소우편번호지역주소상세주소

속성그룹은 사용자가 가진 정보에 대한 개념을 객체화 한 것모델링 초기에 속성을 정의할 수 있는 것을 개괄적 모델에서는 표현이 가능하게 함 .

새로운 모델링 축실체 집합과 별도로 속성집합을 모델링 하여 사용자가 요구한 정보를 표현

과정의 표현실체 모델링과 동일한 과정으로 진행이 가능함(상향식 , 하향식 )

속성의 공용 부품화동일 속성그룹을 같은 타입으로 정의하여 공용화 함 .

논리적 · 물리적 속성 표준화도메인으로 물리적 속성 표준을 정의하고 아티클에 의한 속성의 논리적 표준을 정의함 .

아티클 의의아티클 의의

Page 11: 실전 데이터 모델링 데이터 모델 상세화 및 모델 관리

11

속성의 구조화의 개념과 활용속성의 구조화의 개념과 활용속성의 구조화의 개념과 활용속성의 구조화의 개념과 활용

세세밀밀화화

독립적 아티클 생성표준관리를 위해 DRM 화를 하거나 참조한 DRM 단위를 표현 향후 독립적 엔터티나 객체화를 위한 분류 도메인 관리단위로 활용

독립적 아티클 생성표준관리를 위해 DRM 화를 하거나 참조한 DRM 단위를 표현 향후 독립적 엔터티나 객체화를 위한 분류 도메인 관리단위로 활용

객객체체화화

단단순순화화

주요 내용별로 속성그룹을 생성하여 일목요연하게 정돈할 목적으로 활용평소에는 계층 접기를 해두어 단순화를 하고 필요 시에만 펼치기를 사용

주요 내용별로 속성그룹을 생성하여 일목요연하게 정돈할 목적으로 활용평소에는 계층 접기를 해두어 단순화를 하고 필요 시에만 펼치기를 사용

최초에는 상위 단계만 정의해 두었다가 점차적으로 세밀화현행시스템의 리버스 시 전체적인 윤곽부터 찾아가는 방식으로 접근

최초에는 상위 단계만 정의해 두었다가 점차적으로 세밀화현행시스템의 리버스 시 전체적인 윤곽부터 찾아가는 방식으로 접근

논논리리화화

현행 시스템의 속성 논리화를 하기 위해 활용분석을 통해 밝혀진 사실을 속성 그룹화나 세분화를 하여 표현

현행 시스템의 속성 논리화를 하기 위해 활용분석을 통해 밝혀진 사실을 속성 그룹화나 세분화를 하여 표현

Page 12: 실전 데이터 모델링 데이터 모델 상세화 및 모델 관리

12

데이터 모델 상세화데이터 모델 상세화

제 제 2 2 부부제 제 2 2 부부

Page 13: 실전 데이터 모델링 데이터 모델 상세화 및 모델 관리

13

데이터모델 상세화데이터모델 상세화데이터모델 상세화데이터모델 상세화

데이터 모델 상세화데이터 모델 상세화

정규화정규화 (Normalization)(Normalization)

M:M Relationship M:M Relationship 해소해소

데이터 모델 통합데이터 모델 통합

수직적 통합 수직적 통합 : : 계층형 데이터 모델 계층형 데이터 모델 ( ( 순환관계 순환관계 ))

수평적 통합 수평적 통합 : Sub-Type : Sub-Type 데이터 모델데이터 모델

관계의 통합 관계의 통합 : : 베타적 데이터 모델베타적 데이터 모델

차원의 통합 차원의 통합

이력 관리 데이터 모델이력 관리 데이터 모델

Page 14: 실전 데이터 모델링 데이터 모델 상세화 및 모델 관리

14

정규화정규화정규화정규화

모든 모든 ATTRIBUTEATTRIBUTE 는 반드시 하나의 값을 가져야 한다는 반드시 하나의 값을 가져야 한다 ((반복형태가 있어서는 안됨반복형태가 있어서는 안됨 ))

제 제 11

정규형정규형

제 제 22

정규형정규형모든 모든 ATTRIBUTEATTRIBUTE 는 반드시 는 반드시 UID UID 전부에 종속되어야 한다전부에 종속되어야 한다 (UID (UID 일부에만 종속되어서는 안됨일부에만 종속되어서는 안됨 ))

제 제 33

정규형정규형UID UID 가 아닌 모든 가 아닌 모든 ATTRIBUTE ATTRIBUTE 간에는 서로 종속될 수 없다간에는 서로 종속될 수 없다 (ATTRIBUTE (ATTRIBUTE 간 종속성 배제간 종속성 배제 ))

정규화 작업은 관계형 데이터베이스의 개념이지만 그 원칙은 데이터 모델링에 적용된다 정규화 작업은 관계형 데이터베이스의 개념이지만 그 원칙은 데이터 모델링에 적용된다

정규화 단계별 규칙을 사용하여 정규화 단계별 규칙을 사용하여 ATTRIBUTEATTRIBUTE 의 위치를 적절히 하는 것의 위치를 적절히 하는 것

정규화 작업이 완료된 정규화 작업이 완료된 E-R ModelE-R Model 은 바로 정규화된 관계형 데이터베이스 설계로 옮겨진다은 바로 정규화된 관계형 데이터베이스 설계로 옮겨진다 ..

제제 33 정규형은 데이터중복을 제거하기 위한 데이터베이스 설계의 일반적인 목표정규형은 데이터중복을 제거하기 위한 데이터베이스 설계의 일반적인 목표

그 이상의 정규형은 별로 폭넓게 사용되지 않는다그 이상의 정규형은 별로 폭넓게 사용되지 않는다 . .

정규화 작업은 관계형 데이터베이스의 개념이지만 그 원칙은 데이터 모델링에 적용된다 정규화 작업은 관계형 데이터베이스의 개념이지만 그 원칙은 데이터 모델링에 적용된다

정규화 단계별 규칙을 사용하여 정규화 단계별 규칙을 사용하여 ATTRIBUTEATTRIBUTE 의 위치를 적절히 하는 것의 위치를 적절히 하는 것

정규화 작업이 완료된 정규화 작업이 완료된 E-R ModelE-R Model 은 바로 정규화된 관계형 데이터베이스 설계로 옮겨진다은 바로 정규화된 관계형 데이터베이스 설계로 옮겨진다 ..

제제 33 정규형은 데이터중복을 제거하기 위한 데이터베이스 설계의 일반적인 목표정규형은 데이터중복을 제거하기 위한 데이터베이스 설계의 일반적인 목표

그 이상의 정규형은 별로 폭넓게 사용되지 않는다그 이상의 정규형은 별로 폭넓게 사용되지 않는다 . .

계약상품모델계약상품모델

Page 15: 실전 데이터 모델링 데이터 모델 상세화 및 모델 관리

15

실세계의 업무 중 대부분은 실세계의 업무 중 대부분은 M : M M : M 관계관계 키이엔터티와 키이엔터티 간에는 대부분 키이엔터티와 키이엔터티 간에는 대부분 M : M M : M 관계관계 지속적으로 발생되는 대다수의 지속적으로 발생되는 대다수의 ENTITYENTITY 는 는 M : M M : M 관계관계 M : M M : M 릴레이션쉽은 새로운 릴레이션 엔터티를 추가하여 릴레이션쉽은 새로운 릴레이션 엔터티를 추가하여 M : 1 M : 1 관계로 변경관계로 변경

공급제품목록공급제품목록현재가 현재가 수량 수량 단위 단위

공급제품목록공급제품목록현재가 현재가 수량 수량 단위 단위

제품제품제품코드 제품코드 제품명 제품명 제품내역 제품내역

제품제품제품코드 제품코드 제품명 제품명 제품내역 제품내역

공급자공급자공급자코드 공급자코드 공급자명 공급자명

공급자공급자공급자코드 공급자코드 공급자명 공급자명

릴레이션 엔터티릴레이션 엔터티

M:M RelationshipM:M RelationshipM:M RelationshipM:M Relationship

공급자공급자공급자코드 공급자코드 공급자명 공급자명

공급자공급자공급자코드 공급자코드 공급자명 공급자명

제품제품제품코드 제품코드 제품명 제품명 제품내역 제품내역

제품제품제품코드 제품코드 제품명 제품명 제품내역 제품내역

제품공급제품공급

Page 16: 실전 데이터 모델링 데이터 모델 상세화 및 모델 관리

16

A 10A 10

A 20A 20

C 10C 10

B 20B 20

C 30C 30

A 10

A 20

C 10

B 20

C 30

AA

BB

CC

AA

BB

CC

1010

2020

3030

1010

2020

3030

XX YY

연락장교 파견 연락장교 파견 AA

BB

CC

AA

BB

CC

1010

2020

3030

1010

2020

3030

XX YY

먼저 ‘ A’ 를 찾는다 .먼저 ‘ A’ 를 찾는다 .

10 으로 Y 집합을 찾는다 .10 으로 Y 집합을 찾는다 .

XX 집합의 ‘집합의 ‘ A’A’ 에 대응되는 에 대응되는 YY 집합을 찾으려면…집합을 찾으려면…

M:M M:M 관계 해결 원리관계 해결 원리M:M M:M 관계 해결 원리관계 해결 원리

계약상품모델계약상품모델

Page 17: 실전 데이터 모델링 데이터 모델 상세화 및 모델 관리

17

계층형 데이터 모델계층형 데이터 모델계층형 데이터 모델계층형 데이터 모델

하위계층의 하위계층의 UIDUID 는 상위계층 는 상위계층 UIDUID 의 집합의 집합 조직이 변경되면 조직이 변경되면 ID ID 를 바꾸어야 한다를 바꾸어야 한다 인조인조 (artificial) UID(artificial) UID 를 생성하라를 생성하라 종속적인 종속적인 UID : - PERFORMANCE UID : - PERFORMANCE 유리유리 - - 구조변경에 취약구조변경에 취약 독립적인 독립적인 UID : - PERFORMANCE UID : - PERFORMANCE 불리불리 - - 구조변경에 쉽게 대응구조변경에 쉽게 대응

회사회사

본부본부

부서부서

팀팀

팀팀 #* ID#* ID

부서부서 #* ID#* ID

본부 본부 #* ID#* ID

회사회사 #* ID#* ID

Page 18: 실전 데이터 모델링 데이터 모델 상세화 및 모델 관리

18

순환순환 (recursive) (recursive) 관계 데이터모델관계 데이터모델순환순환 (recursive) (recursive) 관계 데이터모델관계 데이터모델

하나의 순환 하나의 순환 EntityEntity 는 각 는 각 EntityEntity 의 모든 의 모든 AttributeAttribute 를 를 포함해야 한다포함해야 한다

각 계층에 있는 속성은 동일하게 하는 것이 가장 좋다각 계층에 있는 속성은 동일하게 하는 것이 가장 좋다

순환 모델은 순환 모델은 Mandatory Mandatory 관계로 취급될 수 없다관계로 취급될 수 없다

(( 무한 무한 LOOP LOOP 발생발생 ) ) 반드시 반드시 Optional Optional 관계임관계임

순환모델은 조직의 변경순환모델은 조직의 변경 (( 추가추가 ,, 삭제삭제 )) 에 쉽게 대응에 쉽게 대응

팀팀 #* ID#* ID

부서부서 #* ID#* ID

본부 본부 #* ID#* ID

회사회사 #* ID#* ID

구성되어

조직조직코드 조직명 부서장 위치

계층구조를 통합하면 순환구조계층구조를 통합하면 순환구조

순환구조는 새로운 순환구조는 새로운 형태의 관계가 아님형태의 관계가 아님

Page 19: 실전 데이터 모델링 데이터 모델 상세화 및 모델 관리

19

복잡한 관계를 가지고 있는 엔터티가 복잡한 관계를 가지고 있는 엔터티가 자식을 둘 때 자식은 더 복잡한 자식을 둘 때 자식은 더 복잡한 관계에 빠진다관계에 빠진다 ..

…………

만약 이 엔터티 들이 유사한 형태로 만약 이 엔터티 들이 유사한 형태로 되어 있어 통합을 한다면…되어 있어 통합을 한다면…

계층 구조의 통합계층 구조의 통합계층 구조의 통합계층 구조의 통합

Page 20: 실전 데이터 모델링 데이터 모델 상세화 및 모델 관리

20

…………

단순한 관계단순한 관계

순환구조 생성순환구조 생성

새로운 계층이 추가되어도 새로운 계층이 추가되어도 RelationRelation 의 변경이 없다의 변경이 없다 !!

옆으로 아래로 옆으로 아래로 추가되어도 무관추가되어도 무관

계층 구조의 통합계층 구조의 통합계층 구조의 통합계층 구조의 통합

부서전표모델부서전표모델

Page 21: 실전 데이터 모델링 데이터 모델 상세화 및 모델 관리

21

조직조직

## 부서코드부서코드 …………… …………… 상위부서코드상위부서코드

조직조직

## 부서코드부서코드 …………… …………… 상위부서코드상위부서코드

ERDERD 에는 나타나 있지 않지만 테이블의 컬럼에 ‘에는 나타나 있지 않지만 테이블의 컬럼에 ‘상위부서코드’라는 명칭으로 생성된 컬럼은 상위부서코드’라는 명칭으로 생성된 컬럼은 사실은 순환관계사실은 순환관계

부서코드 ……… 상위부서

110 ……

120 …… 110

220 …… 220 220

OO

XX

최상위는 최상위는 NULLNULL 이 옳음이 옳음

최상위에 동일한 값을 최상위에 동일한 값을 지정하는 것은 잘못임지정하는 것은 잘못임

순환 구조의 유의사항순환 구조의 유의사항순환 구조의 유의사항순환 구조의 유의사항

Page 22: 실전 데이터 모델링 데이터 모델 상세화 및 모델 관리

22

BOM BOM 데이터모델데이터모델BOM BOM 데이터모델데이터모델

부품간 소요량은 ?부품간 소요량은 ?

BOM(Bill Of Material) BOM(Bill Of Material) 모델은 모델은 M : M M : M 순환관계순환관계 새로운 새로운 Relation ENTITYRelation ENTITY 를 추가하여 를 추가하여 M : 1 M : 1 관계로관계로

BOM(Bill Of Material) BOM(Bill Of Material) 모델은 모델은 M : M M : M 순환관계순환관계 새로운 새로운 Relation ENTITYRelation ENTITY 를 추가하여 를 추가하여 M : 1 M : 1 관계로관계로

구성되어

부품부품부품코드부품코드

Relation EntityRelation EntityRelation EntityRelation Entity

부품부품

# # 부품코드부품코드 부품명 부품명

부품부품

# # 부품코드부품코드 부품명 부품명

조립규칙조립규칙 소요량소요량조립규칙조립규칙 소요량소요량

Relation EntityRelation EntityRelation EntityRelation Entity

게시물 모델게시물 모델

Page 23: 실전 데이터 모델링 데이터 모델 상세화 및 모델 관리

23

배타적 관계 데이터모델배타적 관계 데이터모델배타적 관계 데이터모델배타적 관계 데이터모델

어떤 어떤 ENTITYENTITY 가 두개이상의 다른 가 두개이상의 다른 ENTITYENTITY 의 합집합과 의 합집합과 RelationshipRelationship 을 가지는 을 가지는 것을 배타적것을 배타적 (Exclusive) (Exclusive) 관계 혹은 아크관계 혹은 아크 (Arc)(Arc) 관계라고 한다관계라고 한다 ..

아크아크 (arc) (arc) 내에 있는 내에 있는 RelationshipRelationship 은 보통 동일하다은 보통 동일하다 배타적 관계는 항상 배타적 관계는 항상 MandatoryMandatory 이거나 이거나 Optional Optional 이어야 한다이어야 한다 배타적 관계는 반드시 하나의 배타적 관계는 반드시 하나의 ENTITYENTITY 에만 속해야 한다 에만 속해야 한다

(( 하나의 아크가 여러 하나의 아크가 여러 ENTITYENTITY 를 가질 수 없다를 가질 수 없다 )) 어떤 어떤 ENTITYENTITY 는 다수의 아크를 가질 수 있다는 다수의 아크를 가질 수 있다 . . 그러나 지정된 그러나 지정된 RelationshipRelationship

은 단 하나의 아크에만 사용되어야 한다은 단 하나의 아크에만 사용되어야 한다

법인법인

법인법인

은행계좌은행계좌은행계좌은행계좌

하나의 하나의 릴레이션쉽으로 통합릴레이션쉽으로 통합

개인개인

개인개인

Page 24: 실전 데이터 모델링 데이터 모델 상세화 및 모델 관리

24

공정공정

입출고입출고

창고창고 공정공정

입출고입출고

창고창고

직선직선직선직선

각각의 점선이 배타적 관계로 연결하면 직선으로 바뀐다각각의 점선이 배타적 관계로 연결하면 직선으로 바뀐다 ..

점선점선점선점선

둘 중의 하나는 반드시 존재

배타적 관계의 특성배타적 관계의 특성배타적 관계의 특성배타적 관계의 특성

입출고모델입출고모델

Page 25: 실전 데이터 모델링 데이터 모델 상세화 및 모델 관리

25

SUB-TYPE MODELSUB-TYPE MODELSUB-TYPE MODELSUB-TYPE MODEL

SUPER-TYPESUPER-TYPE 이란 이란 SUB-TYPESUB-TYPE 을 가지는을 가지는 ENTITYENTITY

SUPER-TYPESUPER-TYPE 은 두개이상의 은 두개이상의 독립적인 독립적인 SUB-TYPESUB-TYPE 으로 구성으로 구성 SUPER-TYPESUPER-TYPE 은 각 은 각 SUB-TYPESUB-TYPE 들의 들의 공통적인공통적인 ATTRIBUTE ATTRIBUTE 와 와 RELATIONSHIP RELATIONSHIP

보유보유 SUB-TYPESUB-TYPE 은 은 자신의 자신의 ATTRIBUTEATTRIBUTE 나 독립적인나 독립적인 RELATIONSHIPRELATIONSHIP 을 가진다을 가진다 자신의 자신의 ATTRIBUTE ATTRIBUTE 나 나 RELATIONSHIPRELATIONSHIP 을 가지지 않는 을 가지지 않는 SUB-TYPESUB-TYPE 도 존재할 수 도 존재할 수

있으나 이런 경우는 일반적인 있으나 이런 경우는 일반적인 ATTRIBUTEATTRIBUTE 로 처리하는 것이 좋다로 처리하는 것이 좋다 ..

SUPER-TYPESUPER-TYPE 의 모든 의 모든 INSTANCEINSTANCE 는 는 SUB-TYPESUB-TYPE 중 중 단 하나와 반드시단 하나와 반드시 연결연결 SUB-TYPESUB-TYPE 은 서로 은 서로 중첩되지 않아야중첩되지 않아야 하며 그 전체집합은 하며 그 전체집합은 SUPER-TYPESUPER-TYPE 과 과 1 : 11 : 1

전체집합에 확신이 없다면 ‘전체집합에 확신이 없다면 ‘기타기타’’ 구분을구분을 생성 생성 SUPER-TYPESUPER-TYPE 과 과 SUB-TYPESUB-TYPE 은 결코 은 결코 부모 부모 : : 자식 관계가 아니다자식 관계가 아니다 ..

집합 A집합 A

집합집합 BB집합집합 BB 집합집합 CC집합집합 CC

집합 A집합 A = 집합집합 BB집합집합 BB 집합집합 CC집합집합 CC∪∪

Ø ( 공집합 )=집합집합 BB집합집합 BB 집합집합 CC집합집합 CC∩∩역할통합역할통합 (( 강좌모델강좌모델 ))

Page 26: 실전 데이터 모델링 데이터 모델 상세화 및 모델 관리

26

연예인연예인

가수가수가수가수 텔런트텔런트텔런트텔런트 기타기타기타기타

가수가수가수가수 탈렌트탈렌트탈렌트탈렌트 Ø≠≠김민종은 가수이면서 텔런트김민종은 가수이면서 텔런트김민종은 가수이면서 텔런트김민종은 가수이면서 텔런트

이런 경우의 이런 경우의 SUB-TYPE SUB-TYPE 정의는 정의는 ??

이러한 경우에도 굳이 이러한 경우에도 굳이 SUB-TYPESUB-TYPE 을 정의하려 한다면 을 정의하려 한다면

가수이면서 텔런트인 사람은 어떻게 정의할 것인가 가수이면서 텔런트인 사람은 어떻게 정의할 것인가 ??

이러한 경우에도 굳이 이러한 경우에도 굳이 SUB-TYPESUB-TYPE 을 정의하려 한다면 을 정의하려 한다면

가수이면서 텔런트인 사람은 어떻게 정의할 것인가 가수이면서 텔런트인 사람은 어떻게 정의할 것인가 ??

INSTANCEINSTANCE 를 추가하는 방법를 추가하는 방법 SUB-TYPESUB-TYPE 을 추가하는 방법을 추가하는 방법

INSTANCEINSTANCE 를 추가하는 방법를 추가하는 방법 SUB-TYPESUB-TYPE 을 추가하는 방법을 추가하는 방법

심층 연구 심층 연구 (SUB-TYPE)(SUB-TYPE)심층 연구 심층 연구 (SUB-TYPE)(SUB-TYPE)

Page 27: 실전 데이터 모델링 데이터 모델 상세화 및 모델 관리

27

MM

속성을 이력관리하면 속성을 이력관리하면 1:M 1:M 엔터티 생성엔터티 생성

11 11attributeattribute 11 MM

1:1 관계는 1:M 으로

이력관리이력관리

이력관리이력관리

이력관리이력관리

MM MMMM MM

# uid # uid 추가추가

이력관리 시의 관계 변화이력관리 시의 관계 변화이력관리 시의 관계 변화이력관리 시의 관계 변화

Page 28: 실전 데이터 모델링 데이터 모델 상세화 및 모델 관리

28

EVENT EVENT 발생 시 마다 생성발생 시 마다 생성

EventEvent 가 발생할 때마다 사진을 찍어 가 발생할 때마다 사진을 찍어 두어야 이력을 관리할 수 있는가두어야 이력을 관리할 수 있는가 ??

DAILY DAILY 마다 생성마다 생성

아무 변화가 없는 경우도 데이터 생성아무 변화가 없는 경우도 데이터 생성

그러나 완벽한 이력관리는 불가능그러나 완벽한 이력관리는 불가능

전통적인 이력관리 방법전통적인 이력관리 방법전통적인 이력관리 방법전통적인 이력관리 방법

Page 29: 실전 데이터 모델링 데이터 모델 상세화 및 모델 관리

29

지급어음# 어음번호 사용일자 발행금액 ........

지급어음# 어음번호 사용일자 발행금액 ........

거래처# 거래처코드 거래처명 주소 ......…

거래처# 거래처코드 거래처명 주소 ......…

고객고객

은행은행

발행은행으로서

지급처로서

어음수불# 수불일련번호 어음시작번호 어음종료번호 소진여부

어음수불# 수불일련번호 어음시작번호 어음종료번호 소진여부

RelationshipRelationship 이 필요한가이 필요한가 ??

관계를 맺지 않아도 이미 릴레이션쉽이 존재관계를 맺지 않아도 이미 릴레이션쉽이 존재

BETWEENBETWEEN 으로 연결되지만 으로 연결되지만 1:M 1:M 관계 유지관계 유지

1 78 99

CC

AA1 4

5 12

13 1819 99

1 910 20

BB21 99

A 1 4 ….A 1 4 ….A 5 12 ….A 5 12 ….A 13 18 ….A 13 18 ….A 19 99 ….A 19 99 ….B 1 9 ….B 1 9 ….B 10 20 ….B 10 20 ….B 21 99 ….B 21 99 ….C 1 7 ….C 1 7 ….C 8 99 ….C 8 99 ….

서로 다른 범위의 로우에서 임의의 서로 다른 범위의 로우에서 임의의 동일시점의 데이터 액세스 가능동일시점의 데이터 액세스 가능

BETWEEN RelationshipBETWEEN RelationshipBETWEEN RelationshipBETWEEN Relationship

Page 30: 실전 데이터 모델링 데이터 모델 상세화 및 모델 관리

30

어음책

10 11 …………

1~20 21~40

어음 1 장마다 1 레코드인 집합

낱장의 어음이 반드시 하나의 어음책에 들어 있다고 해서 낱장의 어음이 반드시 하나의 어음책에 들어 있다고 해서 1:M 1:M 관계를 부여해야 하는가관계를 부여해야 하는가 ??

??

지급어음

지급어음

1 ……………2 ……………3 ……………………………19 ..………..22 ………….30 ………….40 ………….

101010101010……1010111111111111

RelationRelation 을 준다는 것은 결국 어음책번호를 을 준다는 것은 결국 어음책번호를 지급어음에 갖다 두겠다는 의미지급어음에 갖다 두겠다는 의미RelationRelation 을 준다는 것은 결국 어음책번호를 을 준다는 것은 결국 어음책번호를 지급어음에 갖다 두겠다는 의미지급어음에 갖다 두겠다는 의미

그러나 그러나 RelationRelation 을 없애더라도 관계는 존재 을 없애더라도 관계는 존재 (between relation)(between relation)

BETWEEN RELATIONBETWEEN RELATION 의 개념의 개념BETWEEN RELATIONBETWEEN RELATION 의 개념의 개념

Page 31: 실전 데이터 모델링 데이터 모델 상세화 및 모델 관리

31

13501350 의 주인은 의 주인은 09:00:0009:00:00 가 아니라 가 아니라 09:00:00~10:10:0909:00:00~10:10:09 이 주인이 주인

US$US$09:00:00

1350

10:10:10

1355

11:27:30

1352

YY

09:00:00 09:40:5712:05:10

800810

812

특정 시점의 데이터를 찾으려면 특정 시점의 데이터를 찾으려면 <= <= 은 것들을 모두 읽어 은 것들을 모두 읽어 MAXMAX 를 구해야 함를 구해야 함특정 시점의 데이터를 찾으려면 특정 시점의 데이터를 찾으려면 <= <= 은 것들을 모두 읽어 은 것들을 모두 읽어 MAXMAX 를 구해야 함를 구해야 함

선분을 표시하기 위한 두 점에서 하나를 빼면 선분이 없어진다선분을 표시하기 위한 두 점에서 하나를 빼면 선분이 없어진다 ..

이력이력 (( 선분선분 )) 과 과 EVENT(EVENT( 점점 )) 의 차이의 차이이력이력 (( 선분선분 )) 과 과 EVENT(EVENT( 점점 )) 의 차이의 차이

개통개통명변명변

사용중지사용중지

해제해제 해지해지

정상정상정지정지

정상정상 해지해지

이벤트이벤트

이 력이 력

Page 32: 실전 데이터 모델링 데이터 모델 상세화 및 모델 관리

32

부서변경이력부서변경이력부서변경이력부서변경이력사원번호사원번호

778877887788812381238123

778877887788812381238123

부서코드부서코드103020403010…

103020403010…

변경일자 변경일자1999/ 02/ 042000/ 07/ 212002/ 05/ 152000/ 03/ 232001/ 11/ 052002/ 09/ 17

1999/ 02/ 042000/ 07/ 212002/ 05/ 152000/ 03/ 232001/ 11/ 052002/ 09/ 17

… …

…NULL…

…NULL…

사원별 , 부서개편일 전의 부서코드를찾아라 . ( 부서개편일 : 2002 년 3 월 1 일 )사원별 , 부서개편일 전의 부서코드를찾아라 . ( 부서개편일 : 2002 년 3 월 1 일 )

SELECT SELECT 사원번호사원번호 , , 부서코드 부서코드 FROM FROM 부서변경이력부서변경이력WHERE WHERE 변경일자 변경일자 = (select = (select MAX(MAX( 변경일자변경일자 ) from ) from 부서변경이력 부서변경이력 where where 변경일자 변경일자 < ‘2002/03/01’);< ‘2002/03/01’);

SELECT SELECT 사원번호사원번호 , , 부서코드 부서코드 FROM FROM 부서변경이력부서변경이력WHERE WHERE 변경일자 변경일자 = (select = (select MAX(MAX( 변경일자변경일자 ) from ) from 부서변경이력 부서변경이력 where where 변경일자 변경일자 < ‘2002/03/01’);< ‘2002/03/01’);

1111 SubquerySubquery 를 이용한 방법 를 이용한 방법 (1)(1)SubquerySubquery 를 이용한 방법 를 이용한 방법 (1)(1)

SELECT SELECT 사원번호사원번호 , , 부서코드 부서코드 FROM FROM 부서변경이력부서변경이력WHERE ROWID = ( select WHERE ROWID = ( select /*+ index_desc(/*+ index_desc( 부서변경이력 부서변경이력 idx_idx_ 변경일자변경일자 ) */) */ ROWID RID ROWID RID from from 부서변경이력 부서변경이력 where where 변경일자 변경일자 < ‘2002/03/01 and rownum <= 1);< ‘2002/03/01 and rownum <= 1);

SELECT SELECT 사원번호사원번호 , , 부서코드 부서코드 FROM FROM 부서변경이력부서변경이력WHERE ROWID = ( select WHERE ROWID = ( select /*+ index_desc(/*+ index_desc( 부서변경이력 부서변경이력 idx_idx_ 변경일자변경일자 ) */) */ ROWID RID ROWID RID from from 부서변경이력 부서변경이력 where where 변경일자 변경일자 < ‘2002/03/01 and rownum <= 1);< ‘2002/03/01 and rownum <= 1);

SubquerySubquery 를 이용한 방법 를 이용한 방법 (2)(2)SubquerySubquery 를 이용한 방법 를 이용한 방법 (2)(2)2222

이력 모델점 이력 모델점 이력 모델점 이력 모델점 이력 모델

Page 33: 실전 데이터 모델링 데이터 모델 상세화 및 모델 관리

33

부품상태변경이력부품상태변경이력부품상태변경이력부품상태변경이력부품번호부품번호CDR788LCD257LCD257LCD257LCD257LCD257

~~~

CDR788LCD257LCD257LCD257LCD257LCD257

~~~

상태코드상태코드EACEFZ

~~~

EACEFZ

~~~

유효시작일 유효시작일2002/10/122002/10/102002/10/122002/10/122002/10/122002/10/14

~~~

2002/10/122002/10/102002/10/122002/10/122002/10/122002/10/14

~~~

유효종료일유효종료일9999/12/312002/10/122002/10/122002/10/122002/10/149999/12/31

~~~

9999/12/312002/10/122002/10/122002/10/122002/10/149999/12/31

~~~

발생순번 발생순번511231

~~~

511231

~~~ 2002/10/102002/10/10

2002/10/122002/10/12

2002/10/142002/10/14

9999/12/319999/12/31

LCD257

1.1. 코드번호 ‘코드번호 ‘ LCD257’ LCD257’ 인 부품의 당일 초기상태는 인 부품의 당일 초기상태는 ? (2002/10/12 ? (2002/10/12 기준기준 ))1.1. 코드번호 ‘코드번호 ‘ LCD257’ LCD257’ 인 부품의 당일 초기상태는 인 부품의 당일 초기상태는 ? (2002/10/12 ? (2002/10/12 기준기준 ))

SELECT 부품번호 , 상태코드 , 발생순번 FROM 부품상태변경이력 WHERE 유효시작일 << ‘2002/10/12’

AND 유효종료일 =>=> ‘2002/10/12’

AND 부품번호 = ‘LCD257’

SELECT 부품번호 , 상태코드 , 발생순번 FROM 부품상태변경이력 WHERE 유효시작일 << ‘2002/10/12’

AND 유효종료일 =>=> ‘2002/10/12’

AND 부품번호 = ‘LCD257’

A CE

F

Z

: : 2002/10/122002/10/12

이력 모델선분이력선분이력선분이력선분이력

Page 34: 실전 데이터 모델링 데이터 모델 상세화 및 모델 관리

34

4 1 4 1 12 5 12 5 18 13 18 13 99 19 99 19 110 100 110 100 120 111 120 111 199 121 199 121 207 200 207 200 289 208 289 208 320 290 320 290 400 321400 321 500 401 500 401 600 501600 501 700 601700 6019999 701 9999 701

종료컬럼 시작컬럼 1 4 1 4 5 12 5 12 13 18 13 18 19 99 19 99 100 110 100 110 111 120 111 120 121 199 121 199 200 207 200 207 208 289 208 289 290 320290 320321 400321 400401 500401 500501 600501 600601 700601 700701 9999 701 9999

시작컬럼 종료컬럼

Column_nameColumn_name BETWEEN :BETWEEN : 시작값 시작값 AND :AND :종료값종료값:Value BETWEEN:Value BETWEEN 시작컬럼시작컬럼 ANDAND 종료컬럼종료컬럼

두 컬럼의 범위처리두 컬럼의 범위처리

시작컬럼 시작컬럼 <= :value AND <= :value AND

종료컬럼 종료컬럼 >= :value>= :value

시작컬럼 시작컬럼 <= :value AND <= :value AND

종료컬럼 종료컬럼 >= :value>= :value

==:value:value 가 가 520 520

이라면이라면:value:value 가 가 10 10

이라면이라면

앞부분 데이터 액세스 시는 앞부분 데이터 액세스 시는 시작컬럼시작컬럼 ++ 종료컬럼이 유리종료컬럼이 유리

뒷부분 데이터 액세스는 뒷부분 데이터 액세스는

종료컬럼종료컬럼 ++ 시작컬럼이 유리시작컬럼이 유리

rownum=1 rownum=1 조건추가조건추가

종료컬럼의 종료컬럼의 DefaultDefault 는 는

최고값으로 지정 최고값으로 지정 ((

예예 ; ‘99991231’); ‘99991231’)

한 컬럼의 범위처리한 컬럼의 범위처리

물리 설계 고려사항물리 설계 고려사항물리 설계 고려사항물리 설계 고려사항

서비스계약이력 모델서비스계약이력 모델

Page 35: 실전 데이터 모델링 데이터 모델 상세화 및 모델 관리

35

이러한 원리로 점을 통과하는 이러한 원리로 점을 통과하는 선분을 찾으면 원하는 이력 선분을 찾으면 원하는 이력 재현 가능재현 가능

종료점이 미정이므로 종료점이 미정이므로 NULLNULL 논리적으로는 타당하지만 비교가 불가능 인덱스를 사용하지 못하므로 수행속도 저하

수렴하므로 최대치 부여수렴하므로 최대치 부여 아직 종료되지 않았으므로 무한히 계속되는 것으로 간주 최대치 부여 (예 ; 일자라면 9999/12/31) 가능한 TABLE creation 시 Default constraints 부여 수행속도에 유리

XX YY1010

X <= 10 <= YX <= 10 <= YX <= 10 <= YX <= 10 <= Y 10 Between X and Y10 Between X and Y 10 Between X and Y10 Between X and Y==

X <= 10 and X <= 10 and Y >= 10Y >= 10 X <= 10 and X <= 10 and Y >= 10Y >= 10

위 두 문장은 동일하다위 두 문장은 동일하다 . (. ( 속도도 동일속도도 동일 ))

==

물리 설계 고려사항 – 종료점 처리물리 설계 고려사항 – 종료점 처리 물리 설계 고려사항 – 종료점 처리물리 설계 고려사항 – 종료점 처리

Page 36: 실전 데이터 모델링 데이터 모델 상세화 및 모델 관리

36

물리 데이터 모델링물리 데이터 모델링 (Physical Data Modeling)(Physical Data Modeling)

제 제 3 3 부부제 제 3 3 부부

Page 37: 실전 데이터 모델링 데이터 모델 상세화 및 모델 관리

ENTITYENTITY 별 테이블 단위 결정별 테이블 단위 결정ENTITYENTITY 별 테이블 단위 결정별 테이블 단위 결정1 단계

2 단계UIDUID 를 기본키를 기본키 (primary key)(primary key) 로로

속성 식별자속성 식별자 (#) (#) 전환전환릴레이션쉽 식별자릴레이션쉽 식별자 (uid bar) (uid bar) 전환전환

UIDUID 를 기본키를 기본키 (primary key)(primary key) 로로

속성 식별자속성 식별자 (#) (#) 전환전환릴레이션쉽 식별자릴레이션쉽 식별자 (uid bar) (uid bar) 전환전환

3 단계

일반 일반 RELATIONSHIPRELATIONSHIP 의 컬럼 전환의 컬럼 전환일반 일반 RELATIONSHIPRELATIONSHIP 의 컬럼 전환의 컬럼 전환4 단계

배타적 관계 전환형태 결정배타적 관계 전환형태 결정배타적 관계 전환형태 결정배타적 관계 전환형태 결정5 단계

각종 제약조건각종 제약조건 , , 파라메터 결정파라메터 결정각종 제약조건각종 제약조건 , , 파라메터 결정파라메터 결정6 단계

기초 설계단계 접근 절차기초 설계단계 접근 절차기초 설계단계 접근 절차기초 설계단계 접근 절차

일반 속성일반 속성 (non-key attribute)(non-key attribute) 의 컬럼 전환의 컬럼 전환일반 속성일반 속성 (non-key attribute)(non-key attribute) 의 컬럼 전환의 컬럼 전환

Page 38: 실전 데이터 모델링 데이터 모델 상세화 및 모델 관리

38

물리적 데이터 모델물리적 데이터 모델물리적 데이터 모델물리적 데이터 모델

메타데이터 관리메타데이터 관리

기업 환경 ( 분산 DB..) 고려

기업 환경 ( 분산 DB..) 고려

Mapping Rule 적용Mapping Rule 적용

논리적 모델논리적 모델

DB2 적용 DBMS적용 DBMS

데이터베이스데이터베이스DA RepositoryDA Repository

물리적 모델 정의물리적 모델 정의물리적 모델 물리적 모델

파티션 정의 인덱스 정의무결성 정의Storage 파라미터

파티션 정의 인덱스 정의무결성 정의Storage 파라미터

부가적 정보정의부가적

정보정의

Page 39: 실전 데이터 모델링 데이터 모델 상세화 및 모델 관리

39

개 념 적 모 델개 념 적 모 델

아키텍처 단계에 충실한 물리적 모델아키텍처 단계에 충실한 물리적 모델아키텍처 단계에 충실한 물리적 모델아키텍처 단계에 충실한 물리적 모델

본본사사

본본사사

공공장장

공공장장

해해외외

해해외외

OracOraclele

OracOraclele

DBDB22

DBDB22SQL SQL

ServServerer

SQL SQL ServServerer

물리적 모델물리적 모델분산 환경분산 환경 적용 DBMS적용 DBMS

본사 본사 집계집계

본사 본사 집계집계

지지사사집집계계

지지사사집집계계월집월집

계계

월집월집계계

집계 테이블집계 테이블

물리적 요건의 변화에 최소한의 영향만 미치는 방화벽 역할

처리 속도를 고려한 집계 필요

물리 모델은 반드시 논리 모델에 근거한다 .

새로운요구사항새로운요구사항

실 용 적 논 리 모 델실 용 적 논 리 모 델

본 질 적 논 리 모 델본 질 적 논 리 모 델이력관리

반정규화

이력관리

반정규화

Page 40: 실전 데이터 모델링 데이터 모델 상세화 및 모델 관리

40

다양한 물리 모델의 생성다양한 물리 모델의 생성다양한 물리 모델의 생성다양한 물리 모델의 생성

하나의 논리적 집합하나의 논리적 집합 (( 엔터티 혹은 서브타입엔터티 혹은 서브타입 )) 은 은

하나 이상의 테이블이 될 수 있으며 하나 이상의 테이블이 될 수 있으며

속성의 일부만으로 생성될 수 도 있다속성의 일부만으로 생성될 수 도 있다 ..

엔터티 2# 키 2 속성 21

서브타입세트 2서브타입 21 속성 22 속성 23

서브타입 22 속성 24 속성 25

엔터티 1# 키 2 속성 11 속성 12

서브타입세트 1서브타입 1 속성 13

서브타입 2 속성 14

엔터티 3# 키 3

서브타입세트 31서브타입 33 속성 36

서브타입 34

서브타입세트 32서브타입 35 속성 37

서브타입 36 속성 38

속성 31 속성 34속성 32 속성 35

격자 단위는 서브타입격자 단위는 서브타입

각 면은 서브타입세트각 면은 서브타입세트 TABLE5#KEY1(fk1)#KEY3 COL31 COL32 SUBTYPESET31 COL36 COL37

TABLE6#KEY1(fk1)#KEY3 COL31 COL34 COL35 SUBTYPESET31 COL36 COL38

TABLE21#KEY2 COL21 KEY1(fk1) COL22 COL23

TABLE22#KEY2 COL21 KEY1(fk1) COL24 COL25

TABLE10#KEY1 COL11 COL12 SUBTYPESET1 COL13 COL14

TABLE10

# KEY1COL11COL12SUBTYSET1COL13

TABLE10

# KEY1COL11COL12SUBTYSET1COL13

TABLE33

# KEY1(fk1)# KEY3

COL31COL32COL36SUBTYSET32COL37COL38

TABLE33

# KEY1(fk1)# KEY3

COL31COL32COL36SUBTYSET32COL37COL38

TABLE20

# KEY2COL21KEY1(fk1)COL22COL23COL24COL25

TABLE20

# KEY2COL21KEY1(fk1)COL22COL23COL24COL25 TABLE34

# KEY1(fk1)# KEY3

COL31COL32COL34COL35COL37

TABLE34

# KEY1(fk1)# KEY3

COL31COL32COL34COL35COL37

TABLE10

# KEY1COL11COL12SUBTYSET1COL13

TABLE10

# KEY1COL11COL12SUBTYSET1COL13

TABLE33

# KEY1(fk1)# KEY3

COL31COL32COL36SUBTYSET32COL37COL38

TABLE33

# KEY1(fk1)# KEY3

COL31COL32COL36SUBTYSET32COL37COL38

TABLE20

# KEY2COL21KEY1(fk1)COL22COL23COL24COL25

TABLE20

# KEY2COL21KEY1(fk1)COL22COL23COL24COL25 TABLE34

# KEY1(fk1)# KEY3

COL31COL32COL34COL35COL37

TABLE34

# KEY1(fk1)# KEY3

COL31COL32COL34COL35COL37

Page 41: 실전 데이터 모델링 데이터 모델 상세화 및 모델 관리

41

컬럼 생성의 표준화 및 자동화컬럼 생성의 표준화 및 자동화컬럼 생성의 표준화 및 자동화컬럼 생성의 표준화 및 자동화

리버스정보

표준·참조

선별

·정재

개발자 직접 정의개발자 직접 정의 자동생성자동생성디자이너 작업디자이너 작업

컬럼은 데이터 아키텍처 관리 요소 중 가장 많은 개수를 가지며 비즈니스의 실제정보를 담는 그릇이다 . 따라서 중요하면서도 오염되기 쉬운 대상이다 .

•특별한 의미와 미등록 부분을 정의함

•리버스 단계에서 수집된 자원을 재사용하고

•용어사전에서 표준을 설정하여 참조 자원을 제공

특정 컬럼 개별 정의

전체 컬럼 일괄 정의

캐빈 베이컨식 찾기 용어사전 정의 / 참조

Page 42: 실전 데이터 모델링 데이터 모델 상세화 및 모델 관리

배타적 관계의 컬럼 전환 배타적 관계의 컬럼 전환 배타적 관계의 컬럼 전환 배타적 관계의 컬럼 전환

외부키외부키

결합결합

견본 견본 데이터데이터

Nulls/ Nulls/ UniqueUnique

키형태 키형태 PK FKPK FK

컬럼명 컬럼명 ACCTNO CDATE ACCTNO CDATE OWNER_ID TYPEOWNER_ID TYPE

7540 940614 581101-101211 J 7540 940614 581101-101211 J

5579 931201 298-02-11 P 5579 931201 298-02-11 P

6714 940516 711024-281071 J6714 940516 711024-281071 J

9451 930718 10-234-1955 B 9451 930718 10-234-1955 B

3040 921009 211-05-29 P3040 921009 211-05-29 P

NN,U NN NN NNNN,U NN NN NN

배타적 관계배타적 관계

견본 견본 데이터데이터

Nulls/ Nulls/ UniqueUnique

키형태 키형태 PK FK FK PK FK FK FK FK

컬럼명 컬럼명 ACCTNO CDATE JUMIN_NO PART_NO BUSINESS_ID ACCTNO CDATE JUMIN_NO PART_NO BUSINESS_ID

7540 940614 581101-101211 7540 940614 581101-101211

5579 931201 5579 931201 298-02-11 298-02-11

6714 940516 711024-2810716714 940516 711024-281071

9451 930718 10-234-1955 9451 930718 10-234-1955

3040 921009 211-05-293040 921009 211-05-29

NN,U NNNN,U NN

외부키외부키

분리분리

은행계좌 # 계좌번호 * 계약일

단체 # 코드

법인 # 사업자번호

개인 # 주민번호

Page 43: 실전 데이터 모델링 데이터 모델 상세화 및 모델 관리

아크아크 (ARC) (ARC) 형태로 적용 형태로 적용

하나의 테이블로 통합하나의 테이블로 통합

여러 개의 테이블로 분할여러 개의 테이블로 분할

복잡한 복잡한 E-RE-R 모델을 테이블로 전환 모델을 테이블로 전환 복잡한 복잡한 E-RE-R 모델을 테이블로 전환 모델을 테이블로 전환

배치되어

# 사원번호* 성명o 주소

사원

정규직본봉수당

정규직본봉수당 O

가입하여

*

부서 # 부서코드

부서 # 부서코드

노조 # 코드

노조 # 코드

임시직* 일당o 특근

임시직* 일당o 특근

물리데이터 모델링물리데이터 모델링