국내서로는 모델링 서적이 많지 않고, 실무에 적용하기 어려운 면이 많았다는 데서 이 책에 좋은 점수를 주고 싶은 책입니다. 요즘은 특히 객체 지향이 거의 모든 소프트웨어 개발분야의 화두로 떠오르고 있습니다. 이제는 프로그램 개발의 범위를 넘어 비지니스 모델링과 데이타베이스 모델링의 분야에까지 확대되고 있고, 그 선두엔 물론 UML이 있습니다. 데이타베이스 모델링은 XML과 더불어 객체지향 모델링이란 개념에 시각적으로, 개념적으로 가까운 것 같습니다. 그래서 이 책으로 어느 정도 감을 잡았으면 UML과 함께 더 깊은 모델링 이론을 소개해 놓은 책을 더 공부해 보시는 것도 좋으리라 생각됩니다.
일반적인 이론서를 보면 보통 졸음만 쏟아지기 일쑤였는데,
예제와 사례, 많은 도표를 통해 단계마다 어떠한 산출물을
뽑아야 하는지 방향을 제시해 주어서 참으로 좋았습니다.
책을 들여다 보면서 간단한 모델링툴 같은것(모델링도 하고, 각종 산출물 문서양식을
편하게 작성 뽑을수 있는)도 만들고 싶다는 욕구도 생기게 해주었고
책에서 소개한 ERWin을 아직 써보진 않았지만 기회가 된다면 한번 써보고
나만의 간단한 툴을 만들어보는것도 좋겠다 싶다는 생각이 듭니다.
아직 이제 막 데이타베이스 모델링 기초에 들어서는 단계에서 어떻게 공부해나가야
할지 알려준 이 책의 저자인 이춘식 씨께 감사드립니다.
"나는 프로그래머다"라는 책을 통해 처음 글을 접했었는데 앞으로도 계속 좋은글
부탁드리며 서평을 마칩니다.
p.s : 좀 자질구레한 오탈자같은게 많이 발견되어서 그냥 지나치지 않고 오탈자 등록
을 했는데, 오탈자가 고쳐저서 더 좋은 개정판이 나오길 바라는 마음에서 그랬습니다.
지금도 충분히 좋지만 더 좋은 책으로 무장되어서 나오길 바라겠습니다.
데이터베이스는 그자체만으로 분야가 다양한 학문입니다. 그래서, 한번에 모든 것을 다알기 힘들고, 또한 개발자나 DBA가 필수적으로 알아야 할 내용도 다릅니다.
이 책은 DB 설계 중 모델링에 대한 책입니다. 그리고, 시중에 나와 있는 책 중에서 이보다 괜찮은 책은 없는 것 같습니다. 그냥 테이블 만들고, 색인 지정하고..뭐 그런거 하는 게 데이터베이스에 대한 것 아닌가 하는 생각은 이 책을 공부하게 되면 잊혀질 것으로 생각합니다.
모든 애플리케이션 개발의 시작입니다. 업무 모델링을 하고, 이것을 기초로 논리적인 DB 설계를 하는 것은..DBA 뿐 아니라, DB를 이용하여 애플리케이션을 작성하는 개발자에게도 꼭 필요할 것으로 생각됩니다.
꼭 한번은 읽어볼만한 책입니다.
XML 리파지토리를 구현하는 프로젝트를 진행하면서 이책을 사서 봤습니다. 항상 느끼는 것 이지만, 개발자로서 데이터베이스를 모르면 이 바닥에서는 살아 남기 힘듭니다.
쿼리를 실행하는 정도가 아니라 어떻게 데이터베이스를 모델링하는냐가 더 중요하다는 점을 절실히 알게 해준 책이었습니다.
아쉬운 점이라면 데이터베이스를 전혀 모르는 초보자들이 보기에는 다소 무리가 있을것 같더군요.
말이 좀 어렵다. 용어 표현에 있어 차라리 영어를 그대로 사용하는 편이 낳을거 같다.
글구 오탈자도 좀 많은 것 같구~``
책 앞부분에 먼저 용어정의에 대해 할애를 했음 더 좋았을 거 같구.. 오탈자 신경도 좀 썼음.. 베스트가 됐을 거 같은데..
"데이터베이스 설계와 구축"이란 책은 본인의 경우 보기 드물게 내용을 안 보고 책제목만 가지고 예약주문한 책이다.
아니다 다를까, 평소 DB를 많이 다루면서도 잘 이해 안 되고 애매모호하게, 다들 그렇게 쓰니까라고 넘어가던 부분이 잘 정돈되는 기회가 생겼다.
예상보다 훨씬 많은 도움을 주는 책이다.
아쉬운 점은 실제 구체적인 사례 설명에 많은 분량을 할애하지 않았다는 점이다.
별: ★★★☆
"데이터 모델링부터 실컷 해보라! 지겨울 때쯤 물리설계를 배우라! 그 다음 직접 구축하고 변경하라! 그리고 튜닝하면서 테스트하라! 어느덧 전문가가 된 자신을 발견할 것이다."
『데이터베이스 설계와 구축』의 앞표지에 있는 글이다. 데이터베이스 시스템을 구축해야 하는 실무자들의 행동을 정확히 묘사하고 있다. 그러나 우리는 어떤가. IT 관련 기초지식으로 데이터베이스를 배우고 있지만 막상 작은 시스템 하나도 구축하지 못하고 있는 것이 현실이다. 바로 이 책이 그 해답을 제공하고 있다.
이 책은 IT SDLC(System Development Life Cycle) 단계에서 논리설계(Logical Modeling)와 이를 시스템에 반영하기 위한 물리설계(Physical Modeling) 및 개발자를 위한 SQL까지 상세히 소개한다. 특히 예시와 그에 필요한 도식을 통해 초보자도 쉽게 배우고 현장에서 곧바로 응용할 수 있도록 제작된 실무지침서라 할 수 있다.
또한 현장에서 겪은 수많은 시행착오를 개선하기 위한 방법을 소개하고 있으며 시스템 분석 및 구축시 실무적인 암묵적 지식을 명시적 지식으로 풀어낸 모델링과 데이터베이스에 관한 전문서라 할 수 있다.
통상 시스템 구축시에는 정보전략수립(ISP) 후 저장구조(storage structure) 측면의 모델링과 애플리케이션 개발에 필요한 프로세스 모델링을 병행해 진행하기 때문에 어느 것을 먼저 하고 어느 것을 나중에 할 것인지를 논의할 시간적 여유가 없다. 이러한 문제를 해결하기 위해 저자는 풍부한 현장 경험을 바탕으로 시스템 개발 절차에 따라 저장 측면(데이터베이스 관점)에서는 어떻게 효율적으로 공간을 활용할 수 있는지를 데이터와 프로세스 CRUD(Create, Read, Update, Delete) 매트릭스의 상관관계로 풀어 설명하고 있다. 또 데이터베이스 관리적 측면에서는 튜닝이나 물리설계 후 제대로 시스템이 작동되는지를 모니터링할 수 있는 여러 스크립트 등을 잘 설명해 주고 있다.
특히 각 단원마다 배운 내용을 실제 업무에서 수행하는 것처럼 문제를 내 독자가 직접 풀어볼 수 있게 한 워크숍 부분은 이 책의 백미로 꼽을 만하다. 이 코너는 실무경험이 없는 독자가 문제를 반복해 풀어봄으로써 어려운 데이터모델링이나 물리설계를 스스로 해낼 수 있도록 구성한 것이 장점이다.
또 마지막 부분에서는 데이터모델링에서 DBMS 구축까지 인터넷 도서 쇼핑몰 데이터베이스 시스템 구축 프로젝트를 하나의 장으로 할당해 책의 실용성과 효용가치를 극대화하고 있다.
한마디로 이 책은 데이터베이스 시스템 개발시 정형화하기 힘든 현장 경험을 이론적인 배경과 탄탄한 구성력으로 그 해법을 제시하고 있다고 할 수 있다. 현장 실무자나 이론 속에서 헤매고 있는 독자들에게는 단비와 같은 반가운 책이다.
- LG CNS 기술 연구부문 데이터아키텍처팀 남동수부장
필자는 SQL이란 단어를 98년 말경에 접했고, 군 복무를 하면서 실제적으로 SQL문과 오라클 데이터베이스를 공부할 기회를 가지게 되었다. 복무시 전산실에 있으면서 몇가지 통계정보를 DB에서 뽑을 필요때문에 약간 복잡한 SQL문도 조금씩 구현할 수 있게 되었고 얼마 없는 시간을 쪼개어 OCP자격증을 취득하고 오라클 자체에 대해서도 공부를 할 수 있었다.
실제 DB의 개념과 관리 방법을 알고나서는 데이터베이스에 대해서 어느정도 알고 있다고 생각하였으나, 최근에 모 업무시스템을 개발하면서는 그런 생각이 산산히 부숴지고 말았다.
테이블을 만드는 문장을 쓸 줄 안다는 것, 그리고 힌트를 사용하여 퍼포먼스향상을 얻을 줄 안다는 것과 실제 시스템을 개발한다는 것은 다른얘기였다. I/O에 대해서는
DB BLOCK SIZE가 O/S I/O BLOCK SIZE의 정수배여야 함을 알고, 익스텐트 크기가 DB BLOCK SIZE에 MULTI BLOCK I/O SIZE를 곱한 값의 배수여야 함을 안다는 것과 클라이언트가 요구하는 시스템이 어떤 것인지를 파악하고 그것을 RDBMS에 옮긴다는 것은 전혀 달랐다.
갑갑한 마음에 테이블 디자인을 위한 책을 찾으려 서점을 뒤져보았지만 수많은 수학식과 함수들과 마주해야했을 뿐, 무엇이 테이블이고 무엇이 ERD인지 말해주는 책은 드물었다.
그렇게 시간이 없는 이유로, 몇권 안되는 책을 빠른 시간내에 훑어보고 당장 테이블 디자인을 해야했고 그렇게 디자인된 시스템을 완성시켜가면서 초기에 DB DESIGN시에 고려하지 못한 부분 혹은 원천적으로 잘못 설계된 디자인때문에 프로그램자체의 성능은 떨어질 수 밖에 없었고 임시변통의 방법들도 등장하기 시작했다. 그리고 필자는 RDBMS가 무엇인지 알기전에 다시는 테이블 설계를 하지 않겠다고 결심했다.
그리고 얼마 뒤 한빛미디어에서 나온 "데이터베이스 설계와 구축"이란 책을 마주할 수 있었던것은 너무나 기쁜 일이었다. 책을 잠깐 훑어본 필자는 "바로 이거야"라는 감탄사를 내뱉었고, 지금은 책에 열심히 줄을 그으며 읽게 되었다.
이 책은 초보자를 위한 책이 아니다. 이 책은 전문가를 위한 책도 아니다. 전문가도 초보자도 아닌 어중간한 자리에 서서 자신이 무엇을 아는지 무엇을 모르는지도 모르는 사람을 위한 책이다. 테이블을 만드는 SQL을 쓸줄은 아는데, ORACLE상에서 FULL OUTER JOIN을 수행할줄은 아는데 정작 테이블을 만들라면 무엇을 해야할지 모르는 사람. 시스템을 가동시키고 나면 무엇인가를 체크해야하는 것은 아는데 그게 무엇인지를 말하라면 "글쎄요." 라는 말 밖에 할말이 없는 사람을 위한 책이다.
그러나 이 책이 단순히 빠른 개발을 위한 HOWTO만을 말하고 있는 책은 아니다. ENTITY가 ENTITY가 아닌가? 라고만 생각하고 있는 독자에게 엔티티를 분류시켜 주고, 엔티티에는 어떻게 명칭을 부여할 것인가에대해서는 잠시 접어두고 시간에 쫓겨 생각 나는대로 명명하는 독자에게 엔티티 명명 규칙에 대해서 생각할 시간을 주는 책이다.
초반부에 ERD의 기초지식으로 출발하여 DB 구축 준비, SQL, 튜닝, DB관리, 프로젝트 실습으로 이어지는 진행역시 잘 짜여진 구성이다.
다만, 이 책의 독자가 될 대부분의 사람들에게는 이미 익숙할 SQL문과 오라클 설치방법에 대해서 지면을 할애한 것이 불필요하다고 보이는 점이 옥의 티라고 생각된다.(만약 오라클 설치방법에 ORACLE 8i를 펜티엄 4에서 설치할때 마주치는 문제를 해결하는 방법에 대해서 다루었다면 전혀 불필요하지 않았을테지만..)
프로그래밍에 있어서 설계는 중요하다. 프로그래머중 100이면 100 이 말에는 이견이 없을것이다. 문제는 어떻게 설계하는가이다. 시간에 쫓겨야하는, 그리고 언제나 슈퍼맨이기를 요구받는 열악한 개발환경속에서도 좋은 RDBMS디자인을 하고 싶은 사람이라면 이책은 읽어볼만 하다.