데이터베이스 수업도 듣고 선임자가 건네준 모델대로 구현해본 경험이 제법 있더라도, 막상 자신이 책임자가 되어 백지 위에 엔터티 박스와 관계선을 그려야 한다면 막막함이 앞을 가린다. 이전에 본 듯한 패턴을 흉내 내 그림을 그려보지만 수백, 수천의 엔터티 홍수 속에서 제대로 가고 있다는 확신이 서지 않는다.
저자는 이처럼 너무도 거대한 현업의 복잡함에 압도되어 길을 잃고 고생하는 후임들의 안타까운 모습에 직접 멘토가 되어주고자 이 책을 쓰기 시작했다. 내공이 깊어야 연공이 자유롭듯, 그 본질을 꿰고 있다면 어떤 업무가 주어지든 막힘없이 헤쳐나갈 수 있다. 짧은 호흡으로 경쾌하게 풀어낸 이야기들을 통해 따스한 온기가 묻어 있는 저자의 노하우를 내 것으로 만들자.
【대상독자】
Story 01 데이터 모델링은 일상 가까이 존재한다
초보 모델러의 막막함과 고민
자동차 동호회와 데이터 모델링
회원 명부에 녹아 있던 데이터 모델링의 숨은 원리
Story 02 데이터를 이해한다는 것
업무를 이해한다는 것과 업무 데이터를 이해한다는 것
상품 주문 데이터를 이해하는 올바른 시선
Story 03 데이터 저장 구조에 대한 고민을 시작하다
애플리케이션 화면과 RDB의 테이블은 다르다
설문 데이터 모델링, 데이터의 본질을 읽어 모델링하다
Story 04 데이터를 모델링한다는 것
디멘션 모델링, 데이터의 관점을 읽어 모델링한다
OLTP와 OLAP의 서로 다른 세계, 그리고 데이터 모델링의 목표
Story 05 범주화와 추상화, 엔터티의 본질
범주화에 대한 흥미로운 실험
대학의 학사관리 이해관계자를 통한 역할의 이해
범주화와 추상화
중간 정리: 데이터 모델링이란
Story 06 데이터 모델링은 2차원 표에 데이터를 어떻게 담는 것이 최선인지를 고민하는 과정이다
데이터 독립성과 데이터 모델링의 실질적 정의
개념 모델, 논리 모델, 물리 모델, 그리고 현실적인 논리 모델
데이터 모델링 마인드
Story 07 Back to the Basic, 정규화 이론
그럼에도 불구하고 정규화 이론
정규화의 의의
정규화와 관련된 성능 논쟁은 이제 그만
실무에서의 모델링 절차
Story 08 엔터티 정의가 가장 중요하다. 고백건대 엔터티 모델링은 어렵고 힘들다
엔터티는 집합과 닮았다
엔터티 정의, 철학이 필요한 시간
명확하게 정의된 집합으로 모델링을 시작하자
엔터티 모델링이 어려운 이유
Story 09 데이터에는 유형, 종속 관계, 계층구조가 존재한다. 이것이 힌트다
데이터의 유형
데이터의 종속성과 계층구조
최상위의 데이터, 마스터 데이터
Story 10 Account, 개체 그룹핑 모델링을 이해해야 한다
Account라는 마스터 데이터, 업무 행위의 논리적 주체를 알아야 한다
Account와 같은 상위 개체 집합이 누락된다면?
서비스, 청구를 통해 알아보는 업무 처리를 묶는 단위 개체의 중요성
개체를 묶는 방법
Story 11 엔터티 모델링의 어려움을 극복할 방법론, 전략이 있다
소프트웨어 개발에 대한 단상과 모델링 전략
분류와 서브타입
서브타입과 E-R 패턴
Story 12 데이터 집합의 분리, 확장, 통합은 공학을 넘어 예술에 가깝다
집합의 통합과 분리에 대한 기초적 이해
엔터티 통합과 테이블 통합
집합 형태의 최종 결정, 공학과 미학 사이
Story 13 데이터 표준화는 모델링의 과정이며 중요 요소다
표준화는 모델링과 별개의 영역이 아닌 속성 모델링 과정이다
데이터 표준화의 목표는 결국 이음동의어와 동음이의어를 관리하는 것
데이터 표준화와 모델링 환경
속성명 정의의 어려움과 표준 용어 구체화 수준에 대해
Story 14 관계선 긋기의 진정한 의미는 이것이다
ERD에서 관계선이 의미하는 것
잘못 표현된 관계와 문제들
관계의 유형에 대한 고찰, 모델링 툴의 한계와 현실적인 해법
코드와 관계, 그리고 참조무결성 제약
Story 15 데이터 모델의 확장성과 유연성을 생각하다
1정규화로 알아보는 데이터 구조 유연성의 개념과 본질
속성 유연성을 위한 메타 구조 모델
Story 16 정보시스템에서 코드란 무엇인가
나는 코드를 정확히 알고 있는 걸까
코드인 것과 코드가 아닌 것, 코드 속성과 식별자 속성
공통코드는 어떻게 만들어졌는가
공통코드로 설계와 개별코드로 설계
공통코드는 어떻게 관리해야 하나
코드 간 계층구조와 부분집합도 관리할 수 있을까
Story 17 식별자, 결코 만만한 대상이아니다
미묘한 식별자의 세계
당신이 알고 있던 것보다 넓고 깊은 주 식별자의 의미
관계와 식별자, 그리고 데이터에 대한 이해
식별자 상속을 고려한 식별/비식별 관계 선정의 기준
Story 18 RDBMS와 빅데이터 신기술은 상호 보완하며 조화를 이룰 것이다
데이터 모델링, 감 잡았어!
하둡, NoSQL, 몽고디비... 얘들은 다 뭐야?
관계형 데이터베이스 기술과 빅데이터 신기술