책소개
데이터 모델링은 깊게 생각하기와 판단하기, 종합적 사고력의 총체다!
이 책 한 권으로 데이터 모델링 기초부터 실전까지 정복하자!
데이터 모델링은 단순한 기계적인 작업이 아니라 분석력, 종합력, 판단력, 논리력, 그리고 오랜 기간 체화된 다양한 업무 경험이 어우러져야만 만족할 만한 결과를 낼 수 있다. 이러한 능력은 문서로 만들 수도 없고 기계가 대신할 수도 없다. 그렇기에 데이터 모델링은 앞으로도 유망한 직종임에 틀림없고 그 가치를 더해 갈 것이다. 이 책은 데이터 모델링을 다수 수행하고 업무적으로 인정받는 전문가인 저자의 실전적 경험을 잘 녹여냈기에 많은 사람에게 좋은 참고와 길잡이 역할을 해줄 것이다.
실제 데이터 모델링 업무에 가장 필요한 능력은 책을 보거나 지식을 외운다고 생기지 않는다. 그렇다면 도대체 어떻게 해야 모델링 실력을 갖출 수 있는 것일까? 이 책은 이런 고민을 해결하는 데 도움을 준다.
이 책은 단지 ERD를 작도하는 방법을 알려주는 기존 모델링 책과는 확연히 다르다. 예제 업무를 보면서 모델러의 고민을 따라 하고, 실전과 거의 다름없는 모델링 과정을 책을 통해 간접 체험해 볼 수 있다. 실제 프로젝트에서 모델링을 진행하는 모습을 옆에서 보는 것처럼 업무 요건에 맞는 엔터티를 도출하고 식별자를 부여하며 관계를 설정하는 등 일련의 데이터 모델링 진행 과정을 자세하고 생생하게 기술했다.
이 책은 모델링을 실제로 따라 해보면서 모델링에 필요한 사고력을 기르는 방법을 알려준다. “남이 방법을 알더라도 쉽게 흉내를 낼 수 없는 사고적인 것을 할 수 있어야 한다”라는 말은 너무나도 중요하다. 데이터 아키텍처 컨설팅이나 데이터 모델링이 어려운 이유는 바로 ‘방법을 알아도 실천하기 어려운 일’이기 때문이다. 엔코아 컨설팅 이화식 대표의 말처럼 “모델링은 단순한 ‘방법의 습득 차원’이 아닌 ‘사고능력의 개발 차원’에서 접근”해야 한다.
생각하는 힘을 가진 사람은 문제해결 능력과 종합적인 사고력을 갖춘 훌륭한 인재다. 이런 사람은 무슨 일을 해도, 어떤 자리에서건 빛날 것이다. 이 책은 데이터 모델링 회사에 들어가지 않아도, 당장 나에게 데이터 모델링을 가르쳐 줄 선배가 없어도 종합적인 사고력을 갖춘 데이터 모델링 고수에게 직접 배우는 것 같은 경험을 안겨준다.
『데이터 모델링 실전처럼 시작하기』는 데이터 모델링을 쉽게 알게 해주고 생각하는 힘을 길러주는 좋은 발판이 되어줄 것이다. 데이터 모델링을 공부하고자 하는 분들께 도움이 되기를, 그리고 지금 있는 자리에서 도약 할 수 있는 좋은 기회를 주는 밑거름이 되기를 진심으로 기원한다.
목차
추천의 말
들어가는 글
1장 데이터 모델링 개요
1. 데이터 모델링이란?
2. 데이터 모델링 성공요소
3. 데이터 모델의 구성요소
4. 데이터 모델 유형
4.1 개념 데이터 모델
4.2 논리 데이터 모델
4.3 물리 데이터 모델
5. 데이터 모델 표기법
6. 데이터 모델링 접근 방식
6.1 하향식 모델링
6.2 상향식 모델링
7. 생각해 봅시다
8. 용어
2장 데이터 모델링 시작하기
1. 개요
2. 비디오 렌탈 업무
3. 대학 학사 업무
3.1 행위의 주체 찾기
3.2 행위의 주체 엔터티의 식별자 부여
3.3 업무별 주요 엔터티 도출하기
3.3.1 학적관리 업무
3.3.2 교과관리 업무
3.3.3 수강관리 업무
3.3.4 성적관리 업무
3.3.5 장학관리 업무
3.3.6 등록관리 업무
3.3.7 졸업관리 업무
3.4 엔터티별 주요 속성
3.5 샘플 SQL문 _083
3.6 학적변동 이력관리 설명
3.7 구성원 관리 방안
3장 논리 데이터 모델링
1. 논리 데이터 모델링이란?
2. 엔터티(Entity)
2.1 엔터티 후보 수집
2.1.1 AS-IS ERD
2.1.2 DB 오브젝트 추출
2.1.3 서식
2.1.4 현업 장표
2.1.5 보고서
2.1.6 관련 법령 및 문서
2.2 엔터티 후보의 선정
2.3 엔터티 분류
2.4 엔터티 확정
2.5 엔터티 확정시 고려 사항
2.5.1 엔터티 명확화
2.5.2 엔터티명 부여
2.5.3 서브타입 지정
2.5.4 집합 통합시 유의사항
3. 식별자(Unique Identifier)
3.1 식별자의 요건
3.2 식별자 부여 기준
3.2.1 식별자 부여 기준 - 키 엔터티
3.2.2 식별자 부여 기준 - 메인 엔터티
3.2.3 식별자 부여 기준 - 행위 엔터티
3.3 식별자 확정
4. 관계(Relationship)
4.1 관계의 표현
4.1.1 식별성((Identification)
4.1.2 기수성(Degree) 및 선택성(Optionality)
4.1.3 관계 명칭
4.2 관계 형태
4.2.1 1:1 관계
4.2.2 1:M 관계
4.2.3 M:N 관계
4.3 특수한 형태의 관계
4.3.1 순환(Recursive) 관계
4.3.2 배타적(Exclusive) 관계
4.4 참조 무결성 규칙
4.4.1 입력 규칙
4.4.2 삭제 규칙
5. 속성(Attribute)
5.1 속성의 유형
5.2 속성 후보 수집
5.2.1 AS-IS ERD
5.2.2 DB 오브젝트 추출
5.2.3 서식
5.2.4 현업 장표
5.2.5 보고서
5.2.6 관련 법령 및 문서
5.3 속성 후보의 선정
5.4 속성 확정
5.5 속성 검증
5.5.1 최소 단위 검증
5.5.2 유일값 검증
5.5.3 추출값 검증
5.5.4 관리 수준 상세화 검토
5.6 속성 확정시 고려 사항
5.6.1 속성명 부여
5.6.2 도메인
5.6.3 NULL 여부
6. 정규화(Normalization)
6.1 이상(anomaly) 현상
6.1.1 삽입 이상(insert anomaly)
6.1.2 갱신 이상(update anomaly)
6.1.3 삭제 이상(delete anomaly)
6.2 함수적 종속성(Functional Dependency)
6.2.1 완전 함수적 종속(Full Functional Dependency)
6.2.2 부분 함수적 종속(Partial Functional Dependency)
6.2.3 이행 함수적 종속(Transitive Functional Dependency)
6.3.2 제3정규형(3rd Normal Form, 3NF)
7. 이력관리
7.1 이력관리 형태
7.1.1 점이력
7.1.2 선분이력
7.2 이력관리 유형
7.2.1 ROW_LEVEL 이력관리
7.2.2 COLUMN_LEVEL 이력관리
7.2.3 SUBJECT_LEVEL 이력관리
7.3 이력관리 형태 및 유형의 조합
4장 물리 데이터 모델링
1. 물리 데이터 모델링이란?
2. 엔터티를 테이블로 변환
2.1 테이블명 변환
2.2 서브타입 변환
2.1.1 하나의 테이블로 통합
2.1.2 서브타입별로 테이블 분할
2.1.3 아크(Arc) 형태로 테이블 분할
3. 속성을 컬럼으로 변환
3.1 컬럼명 변환
3.2 데이터타입 변환
3.3 제약조건(Constraint) 설정
참고 문헌