관계형 데이터 모델링 노트
정규화(Normalization)와 데이터 통합화(Generalization)는 모델링의 꽃이다. 데이터의 본질을 파악하여 분해하는 첫 번째 단계가 정규화며, 분해된 데이터를 묶는 마지막 단계가 통합화다. 통합하기 위해서는 우선 개별 데이터의 성격이 명확해야 한다. 모델링의 처음과 끝이 정규화와 통합화다.
 
정규형(Normal Form)을 산(山)의 정상에 비유할 수 있다. 산의 정상에 오르기 위해서는 많은 노력이 필요하듯이, 완전한 정규형 모델을 구축하려면 많은 노력이 든다. 데이터를 이해하는 과정은 쉽지 않은 과정이다. 반면 비정규화는 정상에서 내려오는 과정이다. 비정규화는 정규화에 비해 수월하게 수행할 수 있다. 이미 데이터를 완전히 이해한 상태에서 비정규화를 수행하므로 하산하는 것과 같이 많은 노력이 들지 않는다.
 
정규화(Normalization)를 정확히 수행할 수 있고, 데이터를 통합(Generalization)할 수 있다면 좋은 모델을 만들 수 있다.
ORACLE SQL 실전튜닝 기본해법
일반적으로 책이란 눈으로 읽고, 머리로 이해하면 끝이라고 생각한다. 하지만 이런 생각 때문에 많은 문제가 발생한다. 왜냐하면 막상 튜닝 프로젝트에 사람을 투입하려고 하면, 적당한 사람이 없기 때문이다.

튜닝 책을 읽은 사람은 많은데, 튜닝 경험이 없거나 짧은 사람이 많다는 뜻이다. 튜닝 컨설턴트는 전문가이다. 튜닝 경험이 없는 사람을 명함만 파서 전문가라고 할 수는 없는 노릇이다.

이 책의 목적은 당신을 튜닝 경험자로 만드는 것이다. 따라서 머리로만 이해하는 다른 책들과는 달리, SQL 튜닝을 몸으로 경험하게 구성되어 되어있다.만일 튜닝 프로젝트 경험이 없는 당신이 한달 뒤에 튜닝 프로젝트에 투입된다면 가능한 빨리 이 책으로 경험을 시작해야 한다. 왜냐하면 장인에게 실력이란 경험 혹은 경력이기 때문이다.
관계형 데이터 모델링
이 책은 저자가 실무에서 모델링을 수행하면서 얻은 이론이나 노하우를 기반으로 쓰였다. 실무 경험을 토대로 한 모델링 기법과 노하우는 저자 나름의 확고한 이론적 뒷받침이 돼 있다.

관계형 이론을 기반으로 썼지만 현실적인 면에서도 접근했으므로 모델링 전략서의 역할을 할 수 있으리라 기대한다. 전반적인 책의 내용을 습득하고 지식을 확장하면 데이터 전략가가 될 수 있을 것이다.

책 내용이 이론과 현실 사이에서 갈팡질팡하기도 하지만 저자는 이론을 중요하게 생각하는 사람이다. 독자들도 이론 없이 지은 50층짜리 아파트에서 살고 싶지는 않을 것이다.

이 책에서 이론 이외에 강조하는 것은 실전 모델링이다. 현실을 외면한 이론이 되지 않도록 하는 것이 이 책을 쓰는 목적이다. 실전적인 전략가가 돼야 한다.
THE LOGICAL OPTIMIZER
Logical Optimizer는 성능 향상의 목적으로 SQL을 재작성(변경)합니다. 하지만 옵티마이져가 완벽하지 못하므로 많은 경우에 성능저하를 일으키게 됩니다.

옵티마이져가 SQL을 직접 변경 함으로써 SQL의 성능에 미치는 영향은 지대하지만 전세계적으로 이것을 전반적으로 다룬 서적이 없다는 점과 Logical Optimizer의 한계로 인해 발생하는 성능 문제를 해결하기 위해 본서가 출간되었습니다.

아래와 같은 경험이 있는 분들에게 추천 합니다.
- 조인 방법과 조인 순서가 올바르지 못하다.
- 인덱스를 사용하지 않는다.
- 힌트를 사용하였지만 의도대로 되지 않는다.
- 실행계획의 모습이 이상하다.
- 성능이 저하되는 원인을 찾기 힘들다.

이러한 모든 의문점 뒤엔 Logical Optimizer라는 비밀의 벽이 있습니다. 그 벽을 넘는 순간 위에서 언급된 문제들을 해결할 수 있는 능력을 갖추게 됨은 물론이고 SQL을 보는 눈이 달라질 것입니다. 마치 SF 영화 <매트릭스>의 위대한 예언자인 Oracle의 눈처럼. (본문 내용 중에서)

1