역시 헤드퍼스트 시리즈는 정말이지 어려운 걸 아주 쉽게 설명해주는 재주가 있다. 제목대로 SQL쿼리에 대한 책이다. 물론 SQL을 설명하자니 정규화라든지 디비모델링에 대해서도 설명하고 있기는 하지만 대부분은 오로지 SQL쿼리에만 집중하고 있다.
헤드퍼스트 책을 처음 보면 초반에는시시하게 느껴질정도로 아주 기초적인 설명을 하고 있다. 이책도 마찬가지고 SELECT 조회 한번 날리는데 페이지를 몇페이지를 소비하는지 깜짝 놀랄 뿐이다. 여기서 너무 쉽다고 책을 접어버리면 나중에 후회한다. SQL에서 핵심적인 내용을 아주 기가막히게 설명해준다. 특히 설명하기 쉽지 않은 정규화나, 서브쿼리, 조인 같은거는 개념 정리하기에 정말 좋다.
실제 웹개발을 하면 쿼리는 사용하는 쿼리만 쓰게 되고 솔직히 create같은 경우는 잘 안쓰게 된다. 물론 이것저것 복잡해 지면 다 써야되기는 하지만 GUI툴을 많이 쓰고(물론 개발할때는 쿼리짜서 넣어야 하지만.. ㅎ) 처음 테이블 만들때도 ERWIN같은 툴을 이용해서 ERD만들어서 바로 DBMS로 쏴버리기 때문에 처음부터 create해서 제약조건 걸고 타입선언해주면서 하는 경우는 극히 드물다고 생각한다.
하지만 이해는 당연히 하고 있어야 한다. 쿼리를 좀 만져본 사람이라면 어렵다 할만한 내용은 그리 많지 않다고 생각하기에 수준이 중급까지는 안된다고 생각한다. 초급에서 초중급정도까지? 아니면 나처럼 쿼리를 좀 막 배운 사람이 쿼리의 기초를 복습(?) 또는 정리하는 면에서는 딱 좋은것 같다. 그리고 아주 쉽게 설명되어 있어서 쿼리를 처음 배울때도 적극 추천이다.
헤드퍼스트책이 그렇듯이 구성도 아주 잘 되어 있다. 일반적으로 SELECT설명하고 다른쿼리 설명하고 정규화 쭉~ 설명하고, 함수들 설명하고 그런 것이 아니라 어떤 문제를 해결하기 위한 점점 살붙혀나가기 식의 설명은 배우는 입장으로서는 이해하는데 큰 도움이 된다. 하나 배우고 거기서의 문제점 제기하고 또 설명하고 계속 꼬리에 꼬리를 무는... 이렇게 하면 기억도 많이 남게 되는것 같다. 정규화 같은 경우도 실무에서는 교과서처럼 하진 않으니까 그냥 감으로 하곤 했는데 이 책을 통해서 좀 확실히 이해를 할 수 있었다.
그리고 대부분의 쿼리는 ANSI기준으로 하고 있다. 따로 ANSI라는 말은 전혀 사용하고 있지 않고 MySQL에서 최적화 되어 있다고 하지만 DBMA마다 좀 다르기 때문에 MySQL을 중점으로 설명했을뿐 쿼리는 ANSI SQL에 초점이 맞춰있고 DBMS마다 확인해 봐야하는 상황이라거나 최적화 한다는 MySQL에서는 지원하지 않는 부분등에는 꼭 체크해주고 있기 때문에 사용하는 DBMS에 신경쓰지 않고 볼 수 있다. (개인적으로 T-SQL이나 이런거 다 필요없고 그냥 ANSI에만 집중하면 된다고 생각하기에...)
Comments