메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

한빛랩스 - 지식에 가능성을 머지하다 / 강의 콘텐츠 무료로 수강하시고 피드백을 남겨주세요. ▶︎

소문난 명강의 : 김상형의 SQL 정복

Oracle, MSSQL, MariaDB 기반 실습환경

한빛미디어

집필서

절판

  • 저자 : 김상형
  • 출간 : 2021-05-01
  • 페이지 : 708 쪽
  • ISBN : 9791162244241
  • 물류코드 :10424
  • 초급 초중급 중급 중고급 고급
4.8점 (45명)
좋아요 : 15

DBMS에 제약 없이 SQL을 활용한다!

핵심 원리를 알려주는 SQL 바이블 

 

DBMS 제품이나 개발툴이 아닌 SQL 언어 그 자체를 배우는 바이블 도서다. 특정 DBMS에 종속적인 사용법보다는 표준화된 데이터 관리 문법인 SQL에 집중하였다. 모든 데이터베이스 개발툴이 SQL을 지원하므로 언어의 문법만 마스터하면 툴은 얼마든지 익숙하게 다룰 수 있기 때문이다. 

 

먼저 SQL의 개념을 익히고 큰 틀을 잡은 후에는 Oracle, MSSQL, MariaDB를 비교하며 SQL의 원리와 특징을 정석대로 익힐 수 있도록 구성했다. 또한 100여 개의 실습 문제를 직접 해결해보고 풀이를 확인하면서 최적의 시간 내에 SQL을 정복할 수 있다!

 

 

추천사

 

데이터베이스의 구조와 개념 설명에 충실한 입문서이며, 순서대로 읽고 실습하면서 스스로 데이터 관리의 원리를 익힐 수 있는 친절한 자습서입니다.

_ 이승우 Jness 기술고문

 

오라클, SQL Server, MariaDB를 동시에 다루며 세부 문법을 상세히 비교함으로써 모든 DBMS를 아우르는 호환성 높은 표준 쿼리 작성법을 알려줍니다.

_ 오광섭 DaulSoft 교육사업팀장

 

데이터 관리의 탄탄한 기초를 쌓아주며, 여러 종류의 DBMS를 바꿔가며 활용하는 실무 개발자를 위한 훌륭한 문법 레퍼런스입니다.

_ 권성직 GTONE 솔루션 사업부 CTO

 

 

상세이미지_소문난명강의_김상형의 SQL_700px.jpg

김상형 저자

김상형

항상 새로운 것을 찾아 탐구하는 것을 낙으로 여기는 프리랜서 개발자이며 연구한 것을 정리하고 전파하는 것을 인생의 소명으로 여기는 저자이자 강사다. 한메소프트, 다울소프트, 삼성 갤럭시S 개발팀을 거쳐 현재는 하이닉스에서 반도체 생산 자동화 팀원으로 근무하고 있다. 개발자 저변 확대와 소통을 위한 SoEn 커뮤니티를 운영 중이다.

 

저서 : 『윈도우즈 API 정복』(한빛미디어, 2006), 『안드로이드 프로그래밍 정복』(한빛미디어, 2016), 『닷넷 정복』(소엔, 2019), 『자바 정복』(소엔, 2019) 외 30여 권

 

 

1장. 데이터베이스

1.1 DBMS

1.2 SQL

1.3 DB의 구조

 

2장. 오라클

2.1 학습 환경 설치

2.2 쿼리

2.3 쿼리 실습


3장. SQL Server와 MariaDB

 3.1 데이터베이스 전문가

3.2 SQL Server

3.3 MariaDB

 

4장. SELECT

4.1 데이터 읽기

4.2 조건문

4.3 정렬

 

5장. 데이터 집계

5.1 집계 함수

5.2 그룹핑

 

6장. 데이터 관리

6.1 삽입

6.2 삭제

6.3 갱신

 

7장. 제약

7.1 제약

7.2 기본키

7.3 시퀀스

 

8장. 모델링

8.1 모델링

8.2 정규화

8.3 참조 무결성

8.4 쇼핑몰 모델링

 

9장. 서브쿼리

9.1 서브쿼리

9.2 서브쿼리 연산자

9.3 인라인 뷰

9.4 테이블 조합

9.5 테이블 병합

 

10장. 조인

10.1 조인

10.2 조인의 조건

10.3 조인 실습

10.4 조인 고급

 

11장. 함수

11.1 스칼라 함수

11.2 문자열 함수

11.3 데이터 타입

11.4 날짜와 시간

 

12장. 뷰

12.1 뷰

12.2 임시 테이블

12.3 CTE

 

13장. 분석과 통계

13.1 소계

13.2 순위

13.3 통계

13.4 피봇

 

14장. 테이블 관리

14.1 테이블 수정

14.2 필드 수정

 

15장. 제어문

15.1 변수

15.2 제어문

15.3 SQL Server의 제어문 

 

16장. 프로시저

16.1 저장 프로시저

16.2 인수

16.3 함수

16.4 SQL Server의 프로시저

 

17장. 커서

17.1 커서

17.2 SQL Server의 커서

17.3 동적 쿼리

 

18장. 트리거

18.1 트리거

18.2 트리거와 무결성

18.3 트리거 고급

18.4 SQL Server의 트리거

 

19장. 트랜잭션

19.1 트랜잭션

19.2 트랜잭션 모드

19.3 락

 

부록

__DBeaver

__MariaDB SQL

__SQL 구문

 

연습문제 해설

이 책의 특징

  • 3가지 DBMS 기반 실습 환경: Oracle, MSSQL, MariaDB 기반 실습 환경을 모두 체험할 수 있습니다.  
  • 30가지 실습 예제 제공: 30가지 다양한 실무형 실습 예제를 통해 현장감을 익힙니다. 
  • 100여 개 연습문제 제공: 100여 개의 연습문제/해설을 제공하여 학습 내용을 독자 스스로 확인 가능하도록 구성했습니다. 

기획자를 비롯한 비개발자인 경우에도 SQL을 알아두면 많은 도움을 받을 수 있다. 기획에 필요한 데이터를 직접 조회하여 요청하고 기다리는 시간 소요를 줄일 수 있고, 쿼리를 보고 이 데이터가 어떤 과정을 통해 나온 것인지 이해할 수 있기 때문이다. 다만 SQL을 배울 때 가장 어려운 것은 DBMS 제품을 선택하는 것이다. 회사마다 사용하는 DBMS가 다르고 두 개 이상을 쓰는 경우도 있기 때문인데, 이는 SQL이라는 언어를 공통적으로 사용한다 하더라도, DBMS에 따라 지원되는 기능이나 문법이 일부 다르기 때문이다.

 

책 소문난 명강의 : 김상형의 SQL 정복(이하 김상형의 SQL 정복)은 이러한 DBMS의 선택에서 벗어나도록 돕는다. 표준화된 데이터 관리 문법을 사용하여 배운 SQL을 Oracle은 물론 MSSQL, MariaDB 기반에서 사용할 수 있도록 한다. 쉽게 말해 DBMS에 종속되지 않은 SQL 언어 그 자체를 배울 수 있어 회사에서 어느 DBMS를 사용하더라도 SQL을 활용할 수 있는 것이 이 책의 강점이라 할 수 있다. DBMS툴에 따라 지원하는 기능과 그렇지 않은 기능들이 있는데, 김상형의 SQL 정복을 쓴 저자는 SQL 언어만 안다면 툴은 얼마든지 다룰 수 있다고 이야기한다.

 

책은 기능 단위로 명확하게 구성되어 있어 초심자는 물론 중급자들도 자신이 필요한 내용만 바로바로 확인해서 활용할 수 있다. 총 19개의 장으로 구성되어 있는데, 앞 3개의 장은 데이터베이스와 DBMS, 학습 환경 설정으로 할애하였고, 나머지 16개 장은 SQL의 핵심 기능 단위로 원리와 간단한 실습 항목을 제공한다.

 

이전에 데이터 조회 용도로 SQL을 배웠었는데, 그때도 실습을 하면서 SQL에 보다 쉽고 빠르게 익숙해질 수 있었다. 이 책 역시 설명을 읽는 것 외에도 실습을 요구하는데, 책 중간 중간에 있는 간단하지만 핵심을 이해할 수 있는 연습문제와 실습예제로 기능을 이해하고 습득하는데 큰 도움을 준다.

 

이 책의 다른 강점은 기능단위로 명확하고 이해하기 쉽게 정리되어 있다는 점이다. 물론 앞선 내용들을 이해해야 뒤에 기능들을 활용할 수 있겠지만, 자신이 필요한 내용이 있다면 해당 부분만 보더라도 SQL문법과 개념에 대해 파악하기 어렵지 않다. 이해하기 쉽다는 것은 단순히 SQL 언어만 가르치는 것이 아니고, 각 문법이 어떻게 사용되어야 하고, 왜 필요한지, 어떻게 활용할 수 있는지 이미지와 도표를 이용해 깔끔하게 설명해내는 덕분이다.

 

대부분의 프로그래밍 책이 그렇듯 김상형의 SQL 정복도 책이 무척이나 두껍다. 그래도 개중에는 덜 두꺼운 편에 속한다. 담고 있는 내용은 적은 편이 아니지만 저자가 학습자의 상황에 맞게 깔끔하고, 명확하게 설명을 해주는 터라 SQL에 익숙해지고 싶은 사람이라면 이 책이 큰 도움이 되리라 생각한다.

 

오라클 , MYSQL , MariaDB 모든 프로그램으로 배워볼수가 있습니다.

30가지 실습예제 제공입니다. 실무형 실습예제로 현장감을 키울수 있으며

100여개의 연습문제를 통하여 난이도별 문제풀이를 통한 SQL레벌업이 됩니다.

이교재를 통하여 하루에 한챕터씩 공부를 하고 있는데 확실히 깊이가 있는 책이라서

적극추천합니다. 예제는 한빛미디어 사이트에 있어서 링크를 걸어두었습니다.

보통 오류가 나거나 했을 때 비교해서 공부하면 좋습니다. 그렇기 때문에 SQL을 처음 공부하신는

분들이라면 적극 추천합니다.

김상형의 SQL 정복

김상형 지음

 

 

이렇게 말하면 너무 상투적일까? “지금까지 이런 책은 없었다.” 세 달 전에 리뷰했던 SQL 책도 너무 좋았지만 이번 책은 더 좋다. 소프트웨어 개발자 20년을 되짚어 자신 있게 추천할만 하다. 대학 시절 데이터베이스 과목을 들으며 너무 답답했다. 도대체 뭘 배우는 지 알 수 없었다. 취업한 이후에도 DB에 대해 잘 알지도 못하고 select 쿼리를 날려야 했다. 서점에 나온 책들은 다 거기서 거기였고 최근까지도 별반 다르지 않았다. DB를 접하고 쿼리를 짜야하는 초보 개발자 그 시절의 나에게 꼭 이 책을 보라고 권하겠다.

 

먼저 기초적인 설명이 잘 되어 있다. 그래서 책 두께가 두꺼워지는 단점이 있다. 이 책의 유일한 단점이다. 무거웠다. 그렇다고 캐캐묵은 이론으로 도배하지 않고, 이해에 필요한 설명을 했다. 예시도 잘 되어 있다.

SQL 작성법만 얘기하는게 아니라 DB를 접근하는 과정들도 모두 망라했다. 분석, 모델링도 제시되어 있다. 오라클, MSSQL, MySQL 3가지 DB를 모두 비교했다. 요즘 이렇게 비교설명하는 게 대세인가보다.

함수, 프로시져, , 커서, 트리거를 포함해 거의 모든 SQL 관련된 내용이 담겨있다. 말 그대로 이 한권으로 끝낼 수 있다.

현장에서 맞닥뜨릴 수 있는 상황도 사례전파를 하고 있다. 저자가 얼마나 많은 경력이 있는지는 알 수 없지만 도움이 된다.

 

 

다른 리뷰어들의 의견도 별반 다르지 않을 것이다. 앞으로의 개발서적은 이렇게 만들어져야 한다.

 

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

 

sql정복.jpg

 

 

 

 

 

 

111.jpg

 

 

 

DBA가 아니더라도 개발자라면 기본적인 SQL문을 알아두면 좋다. 이 책을 통해서 기본적인 SQL 문법과 개념을 알아가는 것만으로도 큰 도움이 될 것이다. 좋은 내용들이 쉽게 쓰여져 있다.

소문난 명강의 시리즈 답게 저자분이 심상치 않다. 이름을 어디서 들어본거 같다는 생각에 기억을 더듬어보니... 예전에 종종 들렀던 유명한 Winapi 사이트를 운영하시던 바로 그 분이었다. 역시는 역시다.

 

기본적인 개념부터 설명해주고 그림으로도 이해를 돕고 있다. 예전부터 글을 쓰시면서 정보를 전달하던 분이라 그런지 더욱 이해가 잘되도록 설명하는 것 같다.

 

 

문법적인 내용도 잘 정리되어 있고 결과물도 바로바로 보여주고 있어서 실습없이도 개념을 익히고 문법 동작을 이해하는데 편하다. 필요한 문법을 보면서 익히기에 최적이다.

DBA라면 열심히 정독하면 좋겠고 개발자가 업무중에 SQL을 좀 쓸 일이 있다면 가벼운 마음으로 훑어보기 좋은 책이다. 좀 두껍긴 하지만 필요한 부분에 집중하여 읽어간다면 핵심만 빠르게 챙겨갈 수 있을 것 같다.

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

	학습 환경

SQL을 공부하기 위해서는 DBMS를 설치해야합니다. 오라클, SQL Server, MariaDB 등 다양한 DBMS를 설치하는 방법들에 대해 설명해줘서 사람마다 자신이 원하는 학습환경에 대한 튜토리얼이 제공된다는 점이 좋았습니다. 그리고 간단하게 오라클, SQL Server, MariaDB에 대해 상황에 따라 어떤 환경이 선호되는지 설명이 되어 있습니다. 오라클은 상업용이다보니, 무료 버전도 덩치가 크고 복잡하다는 점과 입문자에게는 MariaDB처럼 가볍고 공개용 DBMS를 추천한다고 명시되어 있어서 배우는 입장에서 실습 환경에 대한 고민이 있는데 이런 부분을 언급해준 점이 좋았습니다.

새롭게 알게된 점은 SQL에 따라 문법 차이가 있어서 변수명을 지정할때 언더바(_) 사용을 지양해야한다는 것입니다. 이런 기본적인 유의사항을 알려주는 점이 앞부분에서 좋았던 점이었습니다.

  

전체적인 내용 

전체적으로 실습 기반으로 설명이 되어있습니다. 표준 SQL 문법을 기반으로 설명하기 떄문에 범용적인 설명이 좋았습니다. 

집계함수, 삽입/삭제/갱신, 제약, 조인까지 세세히 문법을 다루고 실습해볼 수 있기 떄문에 SQL 입문자가 배우기에 좋은 책이라고 생각합니다. 그리고 간단하게 쇼핑몰 데이터를 바탕으로 서브쿼리와 조인을 활용해볼 수 있는 모델링 실습이 있어서 어떤 상황에서 조인문을 어떻게 써야지 성능 측면에서 좋을지를 살펴볼 수 있어 좋았습니다. 

출처: https://vg-rlo.tistory.com/295 [vg-rlo:티스토리]

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다"

		
책을 처음 받았을 때 엄청난 두께에 압도되었지만 책 초반부의 툴 세팅하는 부분이랑 연습문제(+풀이) 제외하면 그렇게 겁을 먹지 않아도 될 것 같습니다. 이 책의 장점은 실습 환경으로 오라클, mssql 그리고 maria를 전부 다루며 각각의 환경에 대한 풍부한 연습문제를 제공하는 것에 있는 것 같습니다. 제가 속한 근무환경에서도 여러 종류의 DBMS를 바꿔가며 사용하고 있는데 이러한 환경에서 근무하고 계시는 분들에게는 적합할 것 같습니다. 그리고 각각의 세부 문법들을 비교 설명해 주기 때문에 좀 더 이해하기 쉬웠습니다. 단순히 DB에 대한 이론적인 내용이 아닌 실제 실행환경에 유용한 툴에 대한 팁들(경고창,커밋/롤백)도 같이 다루기 때문에 바로 실무에 적용할 수 있는 점도 좋았습니다.

 

각각의 툴 사용법 정리

 

요즘 특히 트랜잭션에 대한 내용이 점점 중요해지는 것 같은데 마침 이 책을 리뷰하면서 그 부분을 읽었고 책의 내용 중에서 락과 트랜잭션 부분이 가장 좋았던 거 같습니다. 

1) READ COMMITED : 커밋된 읽기만을 허용하며 SELECT 문을 실행할 때 공유락을 건다.(중략)

2) REPETEABLE READ : 읽기를 마치더라도 공유락을 푸지 않으며 트랜잭션이 완전히 종료될 때까지 락을 유지한다.(중략)

3) SERIALIZABLE : 가장 높은 수준의 격리 수준이다. 데이터를 읽는 동안 다른 트랜잭션이 이 데이터를 읽지도 쓰지도 못할 뿐만 아니라 새로운 레코드를 추가하는 것도 허용하지 않는다.(중략)

어려운 개념임에도 이런 식으로 이론적인 설명을 쉽게 잘 풀어놔서 초보자가 읽어도 이해하기 쉽지 않을까 생각합니다.

 

락 부분중 일부

 

예전 중고등학교 때 풀던, 설명 잘 된 수학 개념서 같이 group by, having에 대해서 배웠으면 그에 대한 연습문제 -> 이런 식이기  때문에 DB초보자들에게는 정말 좋은 책일것 같습니다. sql 연습하기에도 제격인 것 같습니다. 대학교에서 공부는 데이터베이스 이론서나 real mysql처럼 엄청나고 방대한 내용의 책이 부담스럽다면 이 책을 추천드립니다.

 "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

# 이 책은 데이터베이스를 처음 공부하려는 사람들에게 꼭 추천하고 싶다. 물론 나처럼 숭덩숭덩 이름만 공부한, 구멍난 지식을 가진 사람들에게도 추천한다.

1. 처음 공부하는 사람들에게 추천한 가장 첫번째 이유는 우선 보통 이 책을 공부하려는 사람들은 컴퓨터공학, 컴퓨터 언어를 배우던 사람들일 확률이 높다. 데이터베이스라는 새로운 개념을 이전에 배웠던 컴퓨터 언어와 비교하며 어떤 특성을 가지고 있는지, 어떻게 활용하기 위해 어떤 점을 공부해야하는 것인지 설명해주어 처음 공부할 때 개념을 잘 쌓아올릴 수 있다. 

2. 두번째 이유는 공부를 하기 위한 책을 몇권 읽어봤다면 느낄 수 있겠지만 정말 설명이 잘 되어있다. 흔한 말이지만 읽으면서 '이 저자는 강의를 많이, 잘, 재밌게하(시)는 사람이겠다'라고 느끼는 것은 흔하지 않다. 이 책은 흔하지 않다. 공부하는 사람이 책을 읽어가면서 생길만한 의문들을 잘 알고 해결해주며 이끌어준다. 또한 공부하기 위한 책임에도 지루하지 않다. 그래서 공부하는 것이 지겹지 않다. 별 것 아닌 것 같지만 정말 중요한 부분이다. 머리에 꾸역꾸역 넣어야하는 지식들만 나열되다보면 완독하기 어려운게 당연하다. 앞에서 말했듯 이 책을 쓴 저자가 만일 강의를 한다면 그 강의를 들어보고 싶을 정도로 책이 지루하지 않고, 이해가 잘 되게 진행된다. (그리고 실제로 베테랑이신 것 같다.)

3. 또 다른 장점은 여러 DBMS를 모두 실습할 수 있다. 물론 주가 되는 DBMS가 있고 다른 DBMS들은 차이점을 비교해주는 정도이긴하지만 그래도 한 회사에서도 다양한 DBMS를 사용하는 지금, 한 책으로 여러 DBMS를 공부할 수 있는 것은 시간으로나, 돈으로나 경제적이다. (다만 특정 DBMS에 대해 깊게 공부하고 싶다면 해당 DBMS를 심화적으로 알려주는 책이 추가적으로 필요할 것이다.)

 

# 총평

데이터베이스와 SQL에 대한 지식이 많이 부족할 때 읽으면 최적인 책이다. 특히 앞에서 이 책이 어떻게 진행될 것이고 어떻게 공부하면 좋을지 안내하기 때문에 읽는 사람의 취향대로 참고해서 읽으면 문제없이 'SQL 정복' 완독과 함께 SQL을 정복할 수 있다. 특히 데이터베이스, SQL은 어떤 결과물을 만들어내면서 공부할 수 없기 때문에 책을 읽는 시간이 지루할 수 있는데 이 책은 완독으로 가는 여정이 지루하지 않다. 주 실습으로는 오라클을 다루지만 SQL server와 MariaDB에 대한 비교도 조금은 첨가되어있기 떄문에 여러 DBMS를 맛보고 싶을 때 김상형의 SQL이 좋은 선택이 될 것이다.  무엇보다 설명이 잘 되어 있고, 공부하는 사람이 책을 읽어가면서 가질 의문들을 미리 캐치하고 해결해주는 점이 공부하는 사람으로서 가장 마음에 든다. 간만에 만나서 반가운 책이었다. 


"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

이번 달은 김상형의 SQL 정복이라는 DB 관련 서적을 받아 읽게 되었습니다.


최근 회사에서 차세대 프로젝트에 투입되면서 기존의 레거시 코드를 계속 보면서 분석하는 과정을 겪고 있는데, 데이터에 관련된 모든 코드는 C와 Oracle로 이루어져 있어서 도움이 될 것 같아 선택하였습니다.


먼저 저는 Oracle이란 친구에게 굉장한 반감을 가지고 있습니다. 과거에 처음 접한 DBMS가 Oracle이어서 숙달시키는데 굉장히 오랜 시간과 많은 노력을 했던 것으로 기억합니다.


특히 프로젝트를 진행했을 때 ORM을 사용하지 않고 모든 쿼리를 직접 작성했었는데 페이징 처리할 때 정말... 'rownum'이라는 가상 칼럼에게 괴롭힘을 당했습니다ㅎㅎ


이후에는 사용하기 쉽고, 오버헤드가 적다는 장점때문에 MySQL을 사용하였고, JPA를 사용하게 되면서 직접 쿼리를 짜는 일은 드물었습니다.


그렇게 평생 만나지 않을거라고 생각했는데... 회사에서 딱 마주쳐 버렸습니다ㅠ


아무래도 기존까지 많이 사용되어왔고 대용량 데이터를 다루기에 좋다 보니 규모 있는 프로젝트에 참여한다면 필연적으로 만나게 될 운명인 것 같습니다.


그래서 이 책은 앞으로 프로젝트를 진행해 나감에 있어서 저에게 도움을 줄 책이라고 생각합니다.


일단 약 700쪽이나 되는 방대한 양이고, 기존에 DB책을 공부한 경험이 있어 중복되는 내용이 많아 가볍게 훑는 느낌으로 책을 읽었습니다.



김상형의 SQL 정복

 

저자명이 표지에 있는 책은 오랜만에 보는 것 같습니다ㅎㅎ 그만큼 본인의 실력과 지식에 자신이 있다고 느껴져 저는 더 신뢰성이 생기는 편입니다.


저자분의 이력을 보니 다양한 회사에 다니시다가 현재는 하이닉스에 근무중이시라고 합니다. 갓 하이닉스.. 


목차1


책의 구성은 위 사진과 같이 기본적인 것부터 시작해 점점 깊게 들어가는 흐름입니다. 이 책은 Oracle뿐만 아니라 MSSQL, MariaDB에 대해서도 서술이 되어있기 때문에 1석 3조의 효과도 얻을 수 있겠네요


목차2


또 목차를 보면 세세한 부분까지도 실습이 준비되어 있는 것을 볼 수 있습니다.


DB 실습은 따라하기까지 많은 시간이 소요되는 것을 알기 때문에 저는 따라 하지 않았습니다. 테이블 만들고, 데이터 넣고, 수정하고 등등 굉장히 번거로운 작업을 해야 하기에 실습을 좋아하는 저도 기피하는 분야입니다ㅎㅎ..


이번에 저는 Oracle에 관한 정보, 문법 등만 보고 넘어가지만 처음 DB를 접하고 책을 정복하고 싶은 분에게는 추천드립니다!!

 

 

 "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."


 

 

SE-919C730D-B261-4AD3-A853-4EF5D96A1E8B.jpg

 

 

인트로


이 책의 목차는 아래와 같다. 목차만 봐도 좋을 정도로 중요하다고 생각하는 부분이 다 담겨있다.         

책이 두껍기 때문에 굳이 한 번에 전부 다 보지 않아도 일단 관심 있는 부분부터 천천히 봐도 좋을 것 같다.


목차



01장 데이터베이스

02장 오라클

03장 SQLServer와 MariaDB

04장 SELECT

05장 데이터 집계

06장 데이터관리

07장 제약

08장 모델링

09장 서브 쿼리

10장 조인

11장 함수

12장 뷰

13장 분석과 통계

14장 테이블 관리

15장 제어문

16장 프러시저

17장 커서

18장 트리거

19장 트랜잭션


리뷰


IT 서비스에서 데이터는 매우 중요하며, 데이터들은 데이터베이스를 통해 저장하고, 관리한다.

RDBMS 이외에도 NoSQL, Redis, ES 등 여러 가지 용도의 저장소가 있지만,

용도가 다를 뿐 RDBMS를 대체하는 것은 아니라고 생각한다.


그만큼 RDBMS는 중요한데, 이 책에서는 특정 RDBMS가 아닌 RDBMS 자체의 개념과, 사용법을 저자의 경험을 통해 다루고 있다.

SQL은 적당히 아는 것만으로는 여러 가지 케이스에 대응하기 어렵다고 생각한다.

또한 성능에 영향을 많이 주는 부분이기 때문에 적당히 타협을 볼 수 없는 부분이라 생각한다.


DB를 잘 다루기 위해서는 특정 DB의 문법이 아니라

DB 자체에 대해서 깊은 지식은 물론, 응용력과 노하우, 경험도 많아야 하며, 이런 것을 토대로 자신만의 철학이 명확해야 한다.

이 책을 통해서 저자의 경험과 철학 그리고, 데이터베이스를 다루는 데 있어서 배경지식에 대해서 알아볼 수 있었다.

SQL 자체의 문법적인 부분은 이미 실무에서도 충분히 고뇌하며 사용하고 있기도 하고,

다양하게 작성해 본 경험이 있기에 이러한 부분을 주의 깊게 보진 않았다.


대신, 저자의 경험과 철학을 곁들인 설명을 자세히 읽는 것에 집중하며 책에서 다루고자 하는 전반적인 내용을 파악하려 노력했다.

생각하는 관점에서 어렵게 느껴질지도 모르는 부분에 대해 쉽게 설명을 해주는 부분이 많아서 잘 읽혔다.


개인적으로 DBMS는 한번 설계해놓으면 나중에 변경하기 어려우며, 문제가 발생할 여지도 많다.

또한 애플리케이션 개발 시 DB 테이블 설계 자체가 인터페이스가 되기도 하며, 잘 설계한 DB 덕분에 애플리케이션 개발이 쉬워진다.

그만큼 DB는 설계 단계부터, SQL 작성, 관리 측면까지 정말 모든 부분이 중요하다고 생각한다.


따라서 DB를 설계하고 관리하는 것은 DB를 확실히 이해하고 자신만의 철학을 갖는 게 굉장히 중요한 부분이라고 생각하는데 사실 이러한 부분은 하루아침에 되는 것이 아니라 경험을 통해 성장해야 하는 부분이다.

이 책을 읽으면서 내가 직접 경험해 보지 못한 부분, 혹은 부족한 부분에 대해 간접적으로 저자의 경험을 엿볼 수 있었다.

이 책은 DBMS를 다루는 것에 대한 노하우가 부족하거나, 경험이 부족한 사람에게 치트키가 될 수 있을 거라 생각한다.

자신이 DBMS에 대해 경험이 부족하다면 한 번쯤 읽어보는 것을 추천한다.

 

 

sql1.jpg

 

sql2.jpg

 

sql3.jpg

 

sql4.jpg

 

sql5.jpg

데이터가, 정보가 돈이되는 시대입니다. 분석을 위한 방법으로 또는 도구로 파이썬과 R등 프로그래밍 언어를 많이 배우게 됩니다.

하지만 데이터를 무작정 다룰 수는 없습니다. 데이터 분석의 시작은 분석대상인 데이터를 준비하고 가공하는 것입니다.

이것이 SQL을 배워야하는 이유이고 많은 SQL서적들이 나오는 이유일 것입니다.

 

김상형의 SQL정복 이라는 책이 새로 나왔습니다.

 

SQL 실습도구로 오라클, SQL server를 같이 다룹니다. 비교를 위해 Maria DB도 같이 사용합니다.

 

책을 따라가며 실습하는 모든 쿼리문들이 실려있습니다. 하지만 긴 쿼리문을 치다보면 오타가 나기도 합니다. 그런 시행착오를 겪지 않게하기 위해 모든 쿼리문을 텍스트 형태로 제공합니다.

 

각 장의 끝에는 배웠던 내용을 확인해보는 연습문제가 수록되어있습니다.

 

SQL을 배우려면 이 책으로 시작하는 것도 좋은 방법입니다. 책의 제목 그대로 SQL 정복 을 위해 이책을 추천합니다.

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

# 1. 표지

 

 

Pasted image 20220529130745.png

 

 

# 2. 책 정보

 

### A. 분류

 

- IT 모바일

- OS/데이터베이스

- MySQL

- Oracle

- mssql

- 컴퓨터 공학

- 데이터베이스 일반

 

 

### B. 책소개

 

**DBMS에 제약 없이 SQL을 활용한다!  

핵심 원리를 알려주는 SQL 바이블**  

  

DBMS 제품이나 개발툴이 아닌 SQL 언어 그 자체를 배우는 바이블 도서다. 특정 DBMS에 종속적인 사용법보다는 표준화된 데이터 관리 문법인 SQL에 집중하였다. 모든 데이터베이스 개발툴이 SQL을 지원하므로 언어의 문법만 마스터하면 툴은 얼마든지 익숙하게 다룰 수 있기 때문이다. 먼저 SQL의 개념을 익히고 큰 틀을 잡은 후에는 Oracle, MSSQL, MariaDB를 비교하며 SQL의 원리와 특징을 정석대로 익힐 수 있도록 구성했다. 또한 100여 개의 실습 문제를 직접 해결해보고 풀이를 확인하면서 최적의 시간 내에 SQL을 정복할 수 있다!

 

### 3. 저자 소개

 

##### a. 이름

 

- 김상형

 

##### b. 히스토리

 

항상 새로운 것을 찾아 탐구하는 것을 낙으로 여기는 프리랜서 개발자이며 연구한 것을 정리하고 전파하는 것을 인생의 소명으로 여기는 저자이자 강사다. 한메소프트, 다울소프트, 삼성 갤럭시S 개발팀을 거쳐 현재는 하이닉스에서 반도체 생산 자동화 팀원으로 근무하고 있다. 개발자 저변 확대와 소통을 위한 SoEn 커뮤니티를 운영 중이다.

 

저서 : 『윈도우즈 API 정복』(한빛미디어, 2006), 『안드로이드 프로그래밍 정복』(한빛미디어, 2016), 『닷넷 정복』(소엔, 2019), 『자바 정복』(소엔, 2019) 외 30여 권

 

# 3. 책에 대한 느낌

 

최근 취업을 하면서 SQL에 대한 깊은 지식이 필요하다고 자주 느꼈다. 물론 기본적은 SQL을 사용하는 것에는 문제가 없었지만, View, Transaction 같은 부분들이 많이 궁금했다. 또한 회사에서는 MySQL을 주로 사용하는데 이전에 Oracle로 공부해서인지 문법적으로 미묘하게 다른 부분들에 대해서도 비교하면서 공부해보고 싶었다.

 

이 책을 통해 이런 내 고민들을 해결할 수 있을 것이라 생각하여 리뷰 도서로 신청하였다. 700p라는 엄청난 분량을 다 읽기 위해 출퇴근 시간과 주말에도 공부를 하면서 시간을 보냈다. 물론 많은 지식을을 얻었다.

 

특히, 시중에 다른 책들에서는 보지 못했던 Temporary Table과 CTE에 대한 설명, Transaction에서도 isolation level과 lock에 대한 설명이 정말 유익했다.

 

그러나 내가 궁금해했던 MySQL과 Oracle을 비교하면서 설명하는 부분은 미흡했다고 생각한다. 어떤 장에서는 정말 자세하게 sub part를 나눠서 설명을 하는 반면, 어떤 장에서는 Oracle만 설명하고 넘어간다. 대표적으로 Transaction 부분이 그랬다. Oracle은 `BEGIN TRANSCTION;`이라면 MySQL은 `BEGIN;`으로 transaction이 시작 된다. 그러나 별도의 설명도 없이 Oracle만 설명하고 넘어가는 점은 매우 아쉽다.

 

그 외에 책을 읽다가 갑자기 궁금한 점에 대해 바로 실습할 수 있도록 DDL문과 DML문을 모두 작성해둔 파일이 존재한다는 점은 궁금증을 해소하기 위한 시간을 많이 단축시켜주었다.

 

 

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

 

20220522-213636-1461-LR84-2.jpg

 

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

데이터베이스에 관련된 책은 많다. 대학 강의 서적 처럼 모델링 같은 데이터베이스 이론에 집중된 책 부터 현업에 종사하는 DBA를 위해 DBMS를 매우 딥하게 알려주는 책 까지 데이터베이스에 관한 책은 많이 있다. 그리고 입문자를 위해 DBMS을 배제하고 SQL 문법만 소개하는 쉬운 책도 있다. 그러나 현장에서 근무하는 '초보 개발자'를 위해 '적당히 두루두루' 다루는 책은 없었다. 현장에서는 어떤 DBMS를 사용하게 될 지 모르는데 하나만 잘 알아서는 또 다시 시행착오를 겪어야 한다.

이 책이 다른 데이터베이스 서적과 차별화된 부분이 있다면 주로 사용되는 DBMS인 Oracle, MariaDB (MySQL), MS-SQL 세가지의 SQL문법을 모두 소개한다는 점이다. 각 DBMS의 기초적인 SQL 사용법은 비슷하다. '초보 개발자' 라고 강조하는 것은 바로 SQL을 배워야 하면서도 여러 DBMS를 사용해야 하는 현업의 초짜들을 배려하는 책이라는 점이다. 예를들어 MariaDB로 SQL을 배워서 취직 했는데 현장에서 Oracle을 사용하고 있다면 조회 결과물 페이징 처리만 해도 Oracle과 문법 차이가 생긴다. 그러면 우리는 검색을 해야 하고 내용 검증을 하고 또 다시 습득을 해야한다. 이 책으로 우리는 불필요한 시간과 에너지 소모를 아낄 수 있다.

내용으 진행은 주로 Oracle을 통해 주요 SQL 문법에 대한 실습이 이뤄지고 차이가 있을 때 나머지 두 DBMS에서의 상황별 대처 방법을 소개한다. 그러면서도 책 내용에 여러 DBMS를 포함하고 있어 흥미롭게 읽어볼만한 내용도 있다. 그러면서도 모델링, 트랜잭션 같은 데이터베이스 개념도 빠지지 않고 나온다. 내용도 데이터베이스 이론수준에서 가벼운정도가 아니라 예제를 제공해 직접 실습 하면서 빠르게 이해할 수 있도록 소개한다. 저자도 이점을 강조하면서 왠만하면 작성하여 실행 해보는 것을 직접 언급한다.

조회, 정렬, 그룹핑, 삽입, 삭제, 갱신, 제약 같은 기본적인 내용부터 서브쿼리, 인라인뷰, 뷰, 임시테이블의 적절한 사용법까지 아우른다. 함수, SP, 트리거, 트랜잭션에 대한 내용으로 가면 이 책의 진가가 진하게 드러난다. 요즘 서점 매대에 걸려있는 데이터베이스 책 중에 내장 함수를 소개하는 부분에서 대놓고 DBMS간 함수 비교를 하는 책은 없었다.

독자 대상이 '개발자'에게 초점이 맞춰져 있다는 점에서도 좋은 책이라고 생각한다. 책머리부터 개발자를 언급하며 개발자 관점에서 데이터베이스를 다루는 방법을 소개하니 SQL을 모르는 '초보' 이자 '개발자' 라면 이 책을 한번 보는것을 강력하게 추천한다.

추천하는 이유

  1. 사전 처럼 꽂아놓고 궁금한점이 있을때 마다 찾아 보기 좋다.
  2. 단순 이론 설명만 있는 것이 아니라 실습을 위한 시나리오와 데이터가 존재한다. 그리고 권장한다.
  3. DBMS 별 차이점과 대체 방법에 대해서 한 눈에 보기 쉽게 비교한다.

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

그 동안 SQL을 계속 사용해 왔으니까, 이 번 책은 좀 쉽게 읽을 수 있겠다 싶었는데,

역시 어렵네요.

그 동안 update 없이 관습적으로 사용하고 있던 것들에 대해서 다시 정리하는 좋은 시간이 된 것 같습니다.

특히, Oracle, SQL Server, Maria DB 3종류의 RDB를 가지고 비교해가면서 정리한 것은

다양한 RDB를 가지고 요즘 개발환경에 더 적합했던 것 같습니다.

개인적으로는 제 로컬에는 PostgreSQL이 설치되어 있어서, 이걸로 비교하면서 예제를 해봤는데요.

만약, 다음 판이 나온다면 PostgreSQL도 포함되면 더 좋겠습니다.

책은 전반적으로 난이도가 높지 않습니다.

DBMS의 역사부터 시작해서 학습 환경 설치도 친절하게 되어 있구요.

직접 치는게 더 좋겠지만, SQL문도 모두 제공되고 있어서, 따라가기는 좋았습니다.

아쉬운 점은 제목을 봤을때 당연히 SQL튜닝, 인덱스도 다룰꺼라고 예상했는데, 이 부분이 없는 거였습니다만,

모델링까지해서 DBMS 전분야를 넓게 살펴 볼 수 있다는 점에서 충분히 도움이 되는 책이었습니다.



이 책은 오라클이나 SQL Server같은 DBMS 제품이나 개발툴이 아닌 SQL언어 그 자체를 중심적으로 다룬다. 특정 DBMS에 종속적인 사용법보다는 표준화된 데이터 관리 문법인 SQL에 집중되어있다.

요즘 SQL에서 중요한 것은 문법이 아니라 개념인데 데이터를 저장하는 구조와 조회하는 원리를 알아야 안정적이고 효율적인 쿼리를 작성할 수있다. 그래서 표면적인 문법보다는 내부적인 개념 위주로 설명하고 실습을 통해 스스로 원리를 터특하는 데 집중되어있는 이 책이야말로 개념서에 가깝고 입문하기 좋고 실무하는 사람도 기본서로 보면서 참조하기 정말 좋은 책이다.

완전 초보가 보기에도 좋지만 글이 많기 때문에 왕초보가 보기에는 흥미가 안잡힐거 같지만 살짝 찍먹해본 초보자가 기초개념부터 잘 잡기에는 이만한 책도 없을 것 같다. 문법을 처음부터 잘 밟아가며 효율적인 방법도 설명해 주기 때문에 중급자들도 많은 도움이 될 것 같다.

초보자중심으로 일관적인 입문자 눈높이설명으로 입문자들이 개념서로 보기에 딱 좋고, 개념을 제시하고 문제를 제출하여 따라할 수 있고, 난이도별 문제풀이를 통해 레벨업이 가능하게 되어있다.

개념서로 무척 추천하는 책이다.

 

 

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."



SQL 을 실무에서 많이 쓰이는데 실질적으로 DB 구조 부터 시작해 제대로 알고 시작하지 못하는 경우가 많다.

바로 내가 그런 케이스였는데, 해당 책을 기반으로 DB에 대한 기초부터 다시 제대로 시작하고자 해당 책을 신청하여 리뷰를 진행하게 되었다.

 

실무에서 많이 겪는 어려움들이 존재하는데 해당 교재에도 그러한 어려움들을 해결할 수 있도록 잘 설명되어 있었다.

 

SQL 및 DB의 교재로 해당 책을 삼고 공부하고 실무를 이어나갈 계획이다.

 

목차는 총 19장으로 구성되어 있다.

 

1. 데이터베이스

2. 오라클

3. SQL SERVER와 MARIA DB

4. SELECT

5. 데이터 집계

6. 데이터 관리

7. 제약

8. 모델링

9. 서브쿼리

10. 조인

11. 함수

12. 뷰

13. 분석과 통계

14. 테이블 관리

15. 제어문

16. 프로시저

17. 커서

18. 트리거

19. 트랜잭션

 

부록 - DBeaver 설치 및 MARIA DB 연결 등

 

으로 구성되어 있다.

 

나는 데이터 분석가로 업무를 하고 있어 13번을 위주로 보고 싶었지만, 요근래 느낀 부분은 생각보다 분석가가 DB 구조나 DB에 관련된 많은 사항들을 알고 있어야 한다고 생각했다. 그렇기에 1장 부터 천천히 읽어 나가기 시작했다.

 

1장에서는 DB의 기초적인 정보들이 적혀있었다. 데이터 타입, 테이블 구조, DB 구조 등 다양한 설명들이 존재했고, 2장 오라클에서는 처음에는 오라클 설치부터 시작해 아주 간단한 테이블 생성, 조회 쿼리 등 데이터를 직접 조회하고 테이블을 생성하는 기초적인 부분이 기재되어 있었다.

 

3장은 SQL SERVER를 설치하고 셋팅하는 과정이 담겨져 있었다. 그리고 추가적으로 MARIA DB를 설치하는데 해당 도서에서는 에디터는 HEIDI SQL을 사용하였다. 현재는 DBeaver라는 에디터를 사용하고 있고 이전 회사에서는 heidisql을 사용해봤기에 조금 반가운 에디터였다. 

 

4장 부터는 기본적인 쿼리에 관련된 내용이 나오기 시작했다. 1장 부터 3장은 기초적인 부분과 셋팅 위주의 내용들이라면 4장 부터가 쿼리 등 실무에서 데이터를 조회하거나 조작하는 것을 중점적으로 내용들이 시작되었다. 중간 중간에 퀴즈형식으로 어떤 조건으로 데이터를 뽑으려면 쿼리를 어떻게 작성해야하는지 보여주는 부분이 있는데, 쿼리를 실제로 작성해보지 않은 초보자들에게 좋은 교육 포인트가 될 것 같다.

 

5장은 집계함수로 GROUP BY를 위주로 설명이 진행되었다. GROUP BY의 기본적인 방법과 예제들로 구성이 되어 있었고 기초적인 부분이 많아 초보자가 보기 좋은 예시들이 많았다. 

 

6장은 데이터 관리로 삽입 / 삭제 / 수정(갱신) 으로 구성되어 있다. 아는 사람은 알겠지만 INSERT / DELETE / UPDATE 로 설명이 이어질 것이라고 알 수 있다. 커밋(COMMIT)을 할때 오류 발생 케이스들도 중간 중간에 설명되어 있어서 좋았습니다.

 

7장 부터 저는 개인적으로 제가 약하고 잘 모르는 부분이라고 생각했습니다. 매번 테이블 생성하고 데이터 관리 및 조작만 진행해 왔기에 제약이라는 말 자체가 생소했었습니다. 물론 정보처리기사를 준비하며 제약성, 정규화 등 공부를 하긴 했지만 실질적으로 사용을 해본적도 없고 깊게 공부하지 못했기에 이번 기회를 통해 공부를 해보고자 합니다.

제약에서는 정보처리기사에서 가장 많이 보였던 무결성에 대해서 이야기를 시작하고 있습니다. 

 

무결성을 검증하기 위한 작업과 PK, 외래키 등 키 값 선정하는 조건과 방법 등이 설명되어 있고 마지막으로는 시퀀스에 대한 설명이 진행되어 있다.

 

8장은 모델링으로 전체 DB설계를 구축하는 것을 모델링이라고 보면 될것 같다. 해당 파트에서는 예전에 배웠던 제 1정규화, 제 2정규화 등과 참조무결성과 같은 단어들이 나오며 DB 설계하는 작업과 테이블끼리의 관계 파악 등 다양한 관계들을 파악하여 서로간의 문제가 발생하지 않도록 설계하는 것이 모델링이라고 표현하고 있다.

 

9장은 서브쿼리로 평소에 내가 사용하고 있던 서브쿼리는 인라인뷰라고 지칭되어 있었고 WHERE 절에 참조되는 쿼리가 서브쿼리로 지칭되는 것을 알 수 있었다. 그리고 UNION과 같은 테이블 병합을 설명하는 내용이었다.

 

10장은 조인으로 개인적으로 가장 많은 실수가 일어나는 부분이 조인이었다. 조인의 조건들과 조인의 종류들을 각각 설명해주고 해당 파트는 내가 말했던 것 처럼 실수가 많이 일어나기 쉬운 부분이여서인지, 실습 부분이 따로 존재하는 것을 볼 수 있었다.

 

11장은 함수에 관련된 내용이다. 날짜와 관련된 함수, 문자열을 추출하는 함수 등 SQL에는 다양한 함수들이 존재한다. 심지어 평균치를 뽑는 AVG도 하나의 함수라고 보면 이해가 빠를 것이다. 각 데이터 타입에 맞게 알맞은 함수를 사용해야하며 전체적인 함수를 소개해주는 부분이었다.

 

12장은 뷰인데, 이전 직장에서는 뷰테이블을 굉장히 빈번하게 사용하였다. 뷰 테이블을 생성하는 방법과 실제로 어떻게 사용하는지 예시를 보여주는 내용들이 있으며 CTE(Common Table Expressions)라고 되어있어서 처음엔 생소하였지만 결국 쿼리에서 WITH 절을 사용하여 메모리에 올려둔 가상 테이블을 지칭하는 단어였다. 물론 쿼리를 돌릴 때 WITH 절을 포함하면 당연히 퍼포먼스적으로 좋지는 않겠지만, DB의 메모리를 생각하며 테이블을 생성할지 쿼리에서 WITH 절을 사용할지 잘 고려하며 진행해야 한다.

 

13장은 분석가들의 꽃이자 제일 많이 사용되는 함수들이 존재하는 목차이다. 바로 분석과 통계이다. 처음에는 어떤 함수들이 존재하는 지 몰라 하드코딩으로 사용했던 LAG와 LEAD 함수를 볼 수 있었다. 그리고 실질적으로 가장 많이 쓰이는 함수가 RANK와 ROW_NUMBER 였다. 데이터 분석가들은 해당 챕터를 중점적으로 꼭 꼼꼼하게 보기를 추천한다.

 

14장 부터 19 장 까지는 분석가들은 사용하기 쉽지 않지만, 사용할 수도 있는 것들이 존재한다. DB 업무를 하시는 분들은 종종 사용하는 것을 본적이 있다. 우선 프로시저 부터 트랜잭션 까지 처음엔 어떤 개념인지도 몰랐지만 해당 도서로 인해 개념도 알게되며 어떻게 사용하는지까지 알게되었다. 실무에서 프로시저안에 커서를 넣어 사용하는 케이스들을 종종 본적이 있어 이번 도서를 통해 해당 케이스가 어떠한 원리로 이루어지는 지 파악할 수 있어 좋았습니다.

 

 

SQL과 DB 업무를 진행하는 모두에게 해당 도서는 필독서로 추천드리고 싶다. 추가로 데이터 분석가들에게도 꼭 SQL 책을 권하고 싶다. 생각보다 쿼리도 많이쓰고 테이블 구조를 파악하지 못하면 실수를 하는 사례가 많아진다.

※ 한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

이 도서는 오라클, MSSQL, MariaDB를 직접 실습과 함께 개념을 공부해볼 수 있는 책이다.

첫 장은 데이터베이스와 관련된 기초 개념을 다룬다.

아직 데이터베이스를 공부해보지 않은 분들은 이 내용을 통해서 관련 지식을 쌓는 것이 중요하다고 본다.

SQL을 능숙하게 다루는 것도 중요하지만 기초 지식도 있어야 제대로된 사용을 할 수 있기 때문이다.

이 책은 앞서 말했듯이 실습을 겸할 수 있도록 구성되어 있다.

실습과 함께 공부하고자 한다면 2장과 3장에서 다루는 DBMS를 설치하여 실습 환경을 구성하도록 한다.

4장부터는 본격적으로 SQL 구문의 개념과 사용법을 다룬다.

각 장의 마지막은 연습문제를 제공하기 때문에 직접 쿼리를 작성해보는 것을 추천한다.

출판사에서 제공하는 실습 쿼리를 복사/붙여넣기하여 결과를 확인해볼 수 있지만 직접 작성하는 것이 더 많은 도움이 되기 때문에 직접 작성해보면 좋을 것 같다.

나의 경우에도 직접 작성하면서 실습을 하였다.​

 

후반부에서는 고급 내용을 다룬다.

나의 경우는 실무에서 많이 사용했던 부분이어서 후반부 내용을 중점적으로 보았다.

알고 있었던 내용이었어도 이번 기회를 통해 다시한번 정리해볼 수 있어서 개인적으로 많은 도움이 되었다.

개인적으로 생각하기에 이 책의 가장 큰 장점은 각 챕터별로 너무 짧지도 길지도 않은 구성이 아닐까 싶다.

그리고 연습문제를 제공하기 때문에 직접 실습을 하면서 공부한 내용을 리마인드해 볼 수 있다는 점이다.

딱딱하지도 않으면서 오라클과 MSSQL, MariaDB의 SQL 구문 작성법과 개념을 익힐 수 있어 개인적으로 좋았다.

DB 공부를 해보고 싶은 분이나 고급 내용을 공부해보고 싶은 분, 아직 사용해보지 않은 DBMS를 공부해보고 싶은 분들 모두에게 추천한다.

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

이 책을 읽게 된 이유

 

이번 책은 Oracle 기준으로 작성된 책입니다. Oracle DB는 특히 대기업에서 자주 사용되는 SQL이죠. 그래서 더 궁금했습니다. 매번 MySQL, PostgreSQL만 다뤄보던 저에게는 생소한 SQL이었거든요. 또한, MSSQL, MariaDB와의 차이점도 같이 설명해주니 다른 SQL도 입문하기에 좋다고 생각했습니다. 

 

Oracle DB는 대부분 대기업에서 사용하는 데이터베이스입니다. 그래서 그런지는 잘 모르겠지만, 이 책은 쿼리만을 설명하는 것이 아니라 UI가 이루어진 실습환경을 사용하여 SQL을 실습할 수 있습니다. 또한, Oracle, MSSQL, MariaDB의 3가지 실습환경을 구축해보면서 다양한 종류의 SQL을 경험해볼 수 있었습니다. DB 종류 중 하나만 다루는 것도 매우 어렵다고 생각하는데 이 책은 3가지를 모두 다뤄보면서 그 차이점까지 기술되어 있습니다. 이런 부분에서 저는 도움을 많이 받았습니다.

 

대상 독자

 

SQL을 정석으로 공부해보시고 싶은 분 또는 다양한 종류의 SQL을 경험해보시고 싶으신 분께 추천드립니다. 또한, 대기업에서만 주로 사용되는 Oracle DB에 대해 궁금하셨던 분 그리고 사용해보시고 싶은 분들께 추천드립니다. 

 

 

김상형의 SQL 정복

어떤 언어나 기술을 공부 할때 

난 여러 가지 책과 포스팅을 모두 찾아 서로 비교해 가면서 공부를 한다.

그리고 시간이 지나면 똑같은 방법으로 이전에 공부했던 책이 아닌 다른 책으로 비슷하게 또 다시 흝어 본다.

이번에 DB에 대해 다시 공부할 필요를 느끼고 있었는데

때마침 한빛미디어에서 '김상형의 SQL정복'을 리뷰할 책으로 보내 주었다.

정말 타이밍도 기가 막히다는 생각이 든다.

그리고 운이 매우 좋았다.

 

이 책의 주 타겟은 아마도 개발 공부를 막 시작했거나

좀더 나은 개발자가 되기 위해 더 많이 공부를 하고 싶어 하는 초보 개발자들일 것이다.

그렇다면 매우 적절한 책을 선택하지 않았나 싶다.

 

책의 표지에도 써있는 것처럼

이 책에서는 책을 쓰는 시점을 기준으로 3가지 메이저 DB를 이해하기 쉽게 비교해 준다.

기준은 Oracle DB를 기준으로 하고 있지만

사용하는 SQL 문법은 표준 문법을 사용하고 있으며

똑같은 기능을 하더라도 지역 방언처럼 각각의 언어마다 특징적으로 사용 할 수 있는 명령어를 잘 설명해 주고 있다.

사실 이러한 부분이 실제 업무를 하는 입장에서는 더욱더 도움이 되지 않나 싶다.

 

또한 모든 문법은 하나하나 단계를 밟아가며 

같은 결과를 보여주더라도 어떤 상황에서 어떤 명령어가 효율적인지를 잘 설명해 주고 있다.

따라서 초급개발자나 개발 공부를 하고 있다면 책의 절반 까지만 잘 공부해도 당장 일하는데 어려움이 없을 것인다.

 

하지만 중급 이상의 개발자라면

이 책의 후반부에 대해 공부를 해야 할 것이다.

책 제목 처럼  SQL을 정복하기 위해서는 기본적으로 알아야 할 개념들이 후반부에 잘 정리되어 있기 때문이다.

 

 

 

 

 

 

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

 

2021-06-20-23-53-06.png

 

한빛미디어 책 리뷰어에 선정되어 다섯번째 받게 된 책이다.

실제로 SQL 책을 여러권 떼 왔던 나는 또 이번엔 어떤 SQL 책일까 싶어 신청하게 되었고 해당 책을 읽게 되었다.

나는 단순히 정보를 늘어놓은 것이 아닌 충분한 설명과 왜일까? 라는 개념원리를 설명하는 책을 좋아한다.
그리고 중요한 포인트가 딱 보이는 UI/UX라고 해야할까? 색의 조합이나 문단 사이의 공백 등을 중요시 여기는데 해당 책은 모든 조건을 충족했다.

특히나 SQL은 명령어 그 자체이다 보니 '이 명령어를 쓰면 이 결과가 나옵니다.' 등의 사전같은 책이 굉장히 많다.
또 책들은 펼쳐보면 어찌나 그렇게 공부하기 싫게 글들만 따닥따닥 있는지..ㅋㅋㅋㅋ
(정말 유명한 '불친절한 SQL'.. 왜 불친절하다고 했는지 정말 알 수 있었다..)

'솔직히 SQL 책이 거기서 거기지..'라고 생각했던 내 편견을 깨부숴 준 책이다.
독자에게 최대한 쉽게 정보를 전달하려고 하는 책이었다. 어떻게 풀어써야 이해하기 쉬울까 라는 부분을 굉장히 고민해서 낸 책처럼 보였다.
솔직히 데이터베이스에 대한 지식이 부족한 초보들에게 정말 강추할 수 있을 것 같다.

책의 레파토리는 이렇다.
처음에는 어떤 실습을 진행할 것이라고 말해주며, 해당 명령어는 어떤 명령어인지에 대한 설명을 덧붙인다. 그러면서 이 실습을 통해서 얻는 부분은 어떤 부분이다. 라고 말해주며 차근차근 실습을 진행한다. 실습을 진행하고 난 결과를 차근차근 설명해주며 해당 부분을 통해 어떤 부분을 얻었으며, 어떻게 응용할 것인지에 대한 얘기로 마무리된다. 그러면서 연습문제가 중간중간 끼어있는데 '응용해보세요.'가 끝이 아닌 직접 응용할 수 있는 기회를 던져준다.

사실은 SQL책이 하나의 사전처럼 되어있는 것도 이해는 간다. 기능이 필요할 때마다 해당 페이지만 잠깐 살짝 참고하고 다시 책을 닫고 하는 부분이 SQL 특성상 많기 때문이다.
하지만 그런 부분 때문에 SQL이 실무로 들어가야만 겪을수 있는, 초보 개발자에게는 먼 분야가 되지 않았을까 싶다.

하지만 이 책은 사전과는 다르다. DB와 SQL이 멀게 느껴졌다면 이 책을 통해 재미있게 배워 나갈 수 있을 것 같다.
책이 조금 두껍다고 느낄 수 있지만, 책이 쉽게 술술 읽히도록 집필하였기 때문에 절대 큰 문제가 되지 않는다.

데이터 베이스의 기본기를 꽉꽉 다져준다. 사전같던 DB 책들과는 이제 안녕!

별점 : ⭐️⭐️⭐️⭐️⭐️

한줄평 : 데이터베이스의 기본기를 꽉 잡아보고 싶을때 술술 읽으면 좋을 책

이런분께 추천 :

  1. SQL을 사용하고 있지만 실무 지식만 있고 개념원리를 따로 공부해보지 못한 분.
  2. 사전같은 데이터베이스 관련 책들로 인해 따분함을 느껴 데이터베이스를 멀리 한 분.
  3. 데이터베이스 책을 찾고 있는 초보 개발자.

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.


 

[책 링크]

소문난 명강의 : 김상형의 SQL 정복

데이터베이스를 다루는 책이 많이 나와있다. 내가 갖고 있는 책 중에는 오라클, MongoDB, MySQL 등 특정 DBMS에 맞춘 것이나, 모델링 기법, 데이터베이스의 구조 등을 배울 수 있는 데이터베이스의 이론적이고 약간 추상적인 그런 책들도 있다. 그런데 이 책이 독특했던 점은 바로 한 책에서 Oracle, MSSQL, MariaDB 이 세 DBMS를 한 책에 동시에 담았다는 것이다.

데이터베이스가 무엇인지에 대한 개괄적 설명, DBMS의 역사와 현재 추세 등 소개를 먼저 시작하는데 교과서적인 내용 뿐만 아니라 구조에 대한 시각적 설명, 실습을 위한 설치파일 다운로드와 설치 과정까지 빠짐 없이 다루었다. 그런데 여기에 세가지 DBMS를 한꺼번에 배운다라... 또 해당 DBMS에 제격인 클라이언트 프로그램까지 잘 설명하였다.

초반부 설명에도 나와있지만 입문자들은 혼란스러울 수도 있기 때문에 처음에는 오라클 위주로 익히고 지나가라고 한다. 또한 저자가 사용한 SQL 문들이 책에 빠짐 없이 잘 수록되어 있고 너무 기계적인 수준으로 작성해야 하는 길고 반복적인 쿼리문은 저자가 제공하는 기술 지원 페이지에서 .sql 파일로 다운로드가 가능하도록 되어있다고 한다. 그러나 짧고 간단한 SQL문은 직접 손으로 쳐보는 것을 추천하고 있다. 커뮤니케이션으로서의 언어도 그렇지만 컴퓨터 언어 또한 교과서로 10년, 20년 공부한다고 해도 직접 입 밖으로 꺼낸다든지, 손으로 익힌다든지의 과정이 없다면 절대 유창하고 자연스러울 수 없다. 결국엔 Output의 문제가 중요하다는 것이다. 어쨋든 교재의 저자도 권하는 것이니 길고 반복적인 SQL은 복사, 붙여넣기를 이용하되 처음 배우는 입장이라면 더더욱 손으로 직접 SQL문을 따라해보고 그 DBMS에서 나오는 결과까지 바로 눈으로 확인하는 방법이 좋다고 생각한다.

일단 저자가 이 세가지 DB를 다루는 이유에 대해서 SQL을 공부하는데에 들어가는 중복투자를 덜기 위해서라고 한다. 각각의 DBMS의 SQL 문법을 각자 따로따로 배운다고 해보자. DB별로 같은 내용을 SQL 문법과 제품이 다르다는 이유로 반복하여 공부해야 한다. 효율을 생각한다면 공통적인 부분은 한번에 배우고 차이에 대해서만 좀 더 배우자는 것이다. 게다가 Oracle, MSSQL, MariaDB를 선택한 것은 좋은 선택인 것 같다. SQL 문법이 이질적으로 달라지는 DB이기 때문이다. 다만 아쉬운 점은 오라클과 내부 구조는 많이 다르지만 어느정도 오라클과 비슷한 SQL문을 가진 MariaDB(MySQL) 보다는 차라리 PostgreSQL을 선택했으면 어땠을까란 생각을 해본다. 오픈소스라는 점이 MariaDB와 닮았고 MariaDB(MySQL)에 밀리지 않는 점유율을 갖고 있기 때문이다. 그리고 오라클과 비교해서 약간 SQL문에서도 거리가 꽤 있기 때문이다.

이 책은 약 700페이지 가량의 분량으로 가볍지는 않은 양을 커버하고 있는데 그 이유는 입문자와 중급자까지 모두 포괄하려고 했기 때문일 것이다. 설명을 보면 SQL문 실행 후 결과를 바로 실제 SQL 쿼리 툴로부터 나온 것으로 볼 수 있으며, 이런 것까지 과연 설명할 필요가 있을까란 걱정이 들 정도로 세세하고 자세하게 내용을 이해시키려고 한 흔적이 보이기 때문이다. 그래서 입문자 독자들에게는 처음부터 천천히 읽어나가되 어느정도 SQL을 실무에서 써본 경험이 있는 사람은 내 개인적으로도 어렵고 이해는 했더라도 계속계속 지속적으로 리마인드를 해주어야 하는 제8장 모델링 부분부터다. 이 8장부터 본격적으로 DB 설계 때문에 머리를 아프게 하는 '정규화'!!! 가 시작하기 때문이다. 게다가 바로 참조 무결성으로까지 이어진다. 또 조인, 함수, 뷰라는 엄청난 산을 넘어 '데이터웨어하우징' 작업에 반드시 필요한 소계(ROLLUP, CUBE 등), 통계, 피봇 등이 나온다. 그뒤로 이어지는 프로시저, 커서, 트리거 부분까지 가게 되면 SQL이 결코 만만한 언어가 아님을 알게 될 것이다. 그래서 입문자를 벗어난 독자들은 앞은 일단 지나가고 8장부터 끝장까지 공부하는 것을 추천하는 것이다. 일종의 '선택과 집중'의 전술이랄까

그냥 DBMS 설치만 알려주고 쿼리를 SQLPLUS나, 커맨드창과 같은 불편한 UI에서 할 것을 권하거나 아예 클라이언트 도구들이 많으니 자신이 원하는 것을 쓰라며 바로 지나쳐버리는 무책임한 책도 많은데 이 책은 세개의 DB를 다루고 있음에도 각 DB에 맞는 최적의 툴을 알려주고 설치 방법까지 친절하게 알려준다.

워낙 내용이 방대하다보니 입문자는 그 분량에 압도되기 쉬울 것 같은데 끈기를 갖고 읽다보면 데이터베이스에 대한 막연한 두려움, 공포를 갖지 않아도 될 것이다. 요즘 대학교에서는 교수들이 10년 전에 찍었던 강의 영상을 재탕해서 올린다는데 그런 학생들에 대한 존중은 1도 없는 강의보다 오히려 풍부하고 보다 실무에 가깝게 포함시킨 예제로 공부하는게 백배 더 낫고 가성비적으로도 좋다.

나는 배우고 배우고도 조인 부분은 아직도 어렵다. 이번을 계기로 여러번 재독하여 데이터베이스에 대한 깊은 이해라는 선물이 주어졌으면 좋겠다.

산업 혁명의 중심이 되어가는 사회에서 여러 사람의 의해 공유되어 사용될 목적으로 통합해 관리하는 데이터의 집합들이 많이 존재하고 있는데요. 이로 인해 데이터베이스를 구축하고 활용하기 위해 사용하는 언어는 바로 SQL입니다. SQL 통해 도구에 상관없이 데이터를 자유롭게 조회할 수 있으며, 일관된 방법으로 관리할 수 있습니다.

 

이번에 소개할 소문난 명강의 : 김상형의 SQL 정복은 오라클이나 SQL Server 같은 DBMS 제품이나 개발툴이 아닌 SQL 언어 그 자체를 중점적으로 다룹니다. 특정 DBMS에 종속적인 사용법보다는 표준화된 데이터 관리 문법인 SQL에 집중된 내용을 담고 있습니다.

 

먼저 저서의 소개 전에 소문난 명강의 시리즈에 대해서 간략하게 알려드리면 단기간에 실무 능력을 갖추는 데 도움을 주는 시리즈입니다. 유튜브, 블로그, 학원, 대학 등에서 이미 검증된 강의 본연의 장점을 살려 저서에 담고 있는데요. 눈높이에 맞는 설명으로 빠르게 개발 능력을 키우려는 입문자와 다양한 경험을 쌓으려는 기존 개발자에게 유용한 시리즈형 저서입니다.

 

소문나 명강의 시리즈 중에서 김상형의 SQL 정복은 SQL의 대용량의 복잡한 데이터를 조작하고 관리하고 표준 스크립트 언어에 대한 내용을 알려주는데요. 응용 프로그램, 웹 시스템 통합 등 다양한 분야에서 활용되고 있어 데이터베이스에 관심 있는 분들에게 큰 도움을 드릴 수 있습니다.

 

SQL 명령어나 구문이 필요할 때 바로 검색해서 쓸 수 있는 만큼 쉽게 접근할 수 있는 세상이 되었습니다. 중요한 것은 문법이 아니라 개념입니다. 데이터를 저장하는 구조와 조회하는 원리를 알아야 안정적이고 효율적인 쿼리 작성할 수 있는데요. 김상형의 SQL 정복은 표면적인 문법보다는 내부적인 개념 위주로 설명하고 실습을 통해 스스로 원리를 터득하는 데 집중합니다.

 

모든 데이터베이스 개발툴이 SQL을 지원하므로 언어의 문법만 마스터하면 툴은 얼마든지 익숙하게 다룰 수 있는데요. 또한 중간 틈틈이 연습문제까지 있어서 풀어보고 추후 뒤쪽에 제공된 설명과 해답으로 문제를 끝까지 해결할 수 있습니다.

 

SQL은 응용 예가 무궁무진해 단기간에 숙달하기는 어려운 언어로 알려져 있는데요. 부단한 연습과 수많은 시행착오를 거쳐 생생한 실무 경험을 쌓아야 하는 노력이 필요한 언어입니다. 그러한 독자들의 고민을 잘 알기엔 김상형의 SQL 정복은 1장에서는 DBMS의 역사와 SQL의 역사 등 철학에 대해 이해할 수 있는 시간이 됩니다.

2~3장에선 오라클, SQL ServerDB, MariaDB에서는 설치와 소개 등으로 이루어지면 4장부터 SELECT, 데이터 집계, 데이터관리, 제약, 모델링, 서브 쿼리, 조인 등 현재는 크게 많이 사용하지 않는 뷰, 프로시저, 커서, 트리거 등에 대해서 다루고 있는데요. 또한, 100여 개의 실습 문제를 직접 해결해보고 풀이를 확인하면서 최적의 시간 내의 SQL을 정복을 이루어 줍니다.

 

SQL 실습 도구로 오라클, SQL Server를 같이 다루며 비교를 위해 MariaDB도 사용하는데요. 3가지 DBMS를 동시에 다루다 보니 초보자에게는 앞부분이 조금 혼란스러울 수 있습니다. 어렵다고 생각하신 독자분들을 위해 꿀팁이 있습니다. 처음 실습할 때는 주 실습툴인 오라클로 시작하고 나머지 DBMS와 관련된 내용은 일단 건너뛰는 것도 좋다고 설명이 되어 있습니다. 저자가 가장 먼저 공부에 집중해야 하는 점은 SQL의 개념을 익히고 큰 틀을 잡은 후에는 3가지 DBMS를 같이 비교해 가며 SQL의 철학과 정석을 익히는 법입니다.

 

SQL 실습 주에 작성할 쿼리문은 본문에 모두 수록되어 저서의 두께가 장난이 아닌데요. 그래서 가장 추천하는 방법은 직접 입력해 보고 수정해 가며 실습하는 것입니다. 하지만 독자 지원 페이지가 있어서 본문의 모든 쿼리문을 모아 텍스트 파일로 받을 수 있습니다.

 

김상형의 SQL 정복은 저자가 온라인 강의 사이트 SoEn에 공개한 프로그래밍 강의 시리즈에 시작되었습니다. SoEn (Software Engineering)은 프로그래밍 언어, 운영체제의 API, 각종 라이브러리와 개발툴 등 소프트웨어 개발에 관련된 이론을 연구하는 사이트인데요. 실습에 필요한 파일과 추가 강좌, 정오표 등과 미처 싣지 못한 팁과 최신 SQL 관련 소식은 지속해서 제공되니 김상형의 SQL 정복 완독 이후에도 추가 강좌를 통해 고급 기법을 익히시는 것도 추천해 드립니다.

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

Oracle, MSSQL, MariaDB 기반 실습환경

김상형 지음

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

6월,

나는 리뷰어다 활동의 5번째 리뷰.

 

개발자에게 SQL이란 불가분의 관계인 것 같다.

전통적으로 SQL은 RDBMS에서 다뤄져 왔고, SQL은 대용량의 복잡한 데이터를 조작하고 관리하는 표준 스크립트 언어이다.

 

적어도 BackEnd 개발자라면 DB를 컨트롤하기 위해서 SQL문을 보거나 작성해 보았을 것이다.

 

하지만 SQL이라는 것이 기본적인 문법을 익히고 나면 , 그 후에는 직접 개발하면서 맞춰가거나, 소속된 회사의 코딩 스타일을 따라가기 마련인 것 같아 좀 더 공부에 소홀해지는 것 같다.(굉장히 개인적인 입장입니다!!)

 

그.래.서.

이번 리뷰 신청도 SQL 관련 문서를 하게 되었다.

 

이 책은 특정 기업의 DBMS 제품이나 개발툴이 아닌 SQL 언어 그 자체를 중점적으로 다루고 있다. 표준화된 SQL에 집중하고 있는 만큼 각 기업별 DB나 개발툴은 금방 익숙해질 수 있다.

라고 저자는 이야기 하지만 사실 SQL이라는 것이 쉬운 것이 아니다. 연습도 많이 해봐야 하고 실전에서도 많은 시행착오를 겪어야 한다.

 

SQL에 집중한 본 책의 목차를 보자

1장 데이터베이스

2장 오라클

3장 SQL Server와 MariaDB

4장 SELECT

5장 데이터 집계

6장 데이터 관리

7장 제약

8장 모델링

9장 서브쿼리

10장 조인

11장 함수

12장 뷰

13장 분석과 통계

14장 테이블 관리

15장 제어문

16장 프로시저

17장 커서

18장 트리거

19장 트랜잭션

부록

 

으로 구성되어 있다.

여타 SQL 도서들과 목차는 크게 다르지 않다.

사실 실무에서는 10장 조인까지만 잘 사용할 줄 알아도 개발에 큰 어려움이 없다고 생각한다.

그 뒤에 것들은 백엔드 개발자보다 DBA 분들이 알면 더 좋을? 필요한? 챕터라고 본인은 생각하지만 개발 쪽에 커리어를 쌓아가면서 불필요한 것들은 없다.

하나라도 더 알면 개발의 선택지가 더 늘어나는 것이기 때문에 공부해서 나쁠 것은 없다. 결국 성능 이슈로 귀결되니까...

 

책의 분량은 무려 700 페이지에 달하는데, 아무래도 오라클, MSSQL, MariaDB를 같이 다루기 때문에 분량이 조금 더 늘어난 느낌은 있다. 하지만 독자가 필요한 부분만 확인하면서 공부하면 진도는 더 빨리 나갈 것이다.

 

이 책은 모태 사이트에서 출발을 했다. 소프트웨어 공학 연구소에서 실습에 필요한 파일과 추가 강좌, 정오표 등을 제공하고 있으니 꼭 확인하도록 하자.

http://www.soen.kr/book/sql

 

SoEn:소프트웨어 공학 연구소

 

www.soen.kr

SQL은 기본을 잘 잡아놓으면 결국 실무에서 활용 및 응용하는 단계에서 빛을 발한다.

"김상형의 SQL 정복" 을 통해서 SQL을 정복하고, 데이터베이스 동작에 대한 이해를 더 키우는 개발자가 되도록 하자.

SoEn, API 정복으로 유명한 김상형 님의 SQL 정복이

출간되어 읽고 싶던 차에 나는 리뷰어다 활동에 SQL 정복 책이 있어서 신청하게 되었습니다.

WINAPI 책을 잘 읽었던 터라 재밌게 읽었습니다.

DBMS의 종류 부터 설치까지 자세하게 다루고 있고,

개념을 아주 자세하게 설명해 주고 실습 코드로 넘어가는 방식으로 구성되어 있습니다.. 그리고 장 마지막에 연습문제가 있어서 그 장에 배운 중요한 것들을 한 번 더 집어주니 머리에 더 많이 남을 수밖에 없었고. 연습문제 해답은 맨 마지막 페이지에 한 번에 다 정리가 되어 있으니 잘 모르는 것들을 해답을 보면 될 듯합니다.

 

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

 

-한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.-

 

"김상형의 SQL 정복" !

책 제목을 보자마자 떠올랐다!

 

'윈도우즈 API정복', '혼자 연구하는 C/C++', '안드로이드 프로그래밍 정복' 등

내가 대학생일때부터 사회생활하는데까지 함께한 여러 도서들을 집필한 저자!

 

하여 책의 표지를 처음 보자마자 매우 흥미롭고 호기심어리게 살펴보았다.

나는 SQL과 데이터베이스에 약한 모습을 갖고 있는데 이 얼마나 시의적절한가.

 

저자의 다수의 집필 경험이 반영되어서인지 책을 읽는동안 매우 편하게 읽을 수 있었다.

너무 딱딱하지도 않았으며 또 그렇다고 유치하지도 않았다.

 

적절한 진행과 예제를 곁들인 설명으로 차분히 익혀나갈수 있다.

SQL은 어떤식으로든 피해나갈수 없다.

언젠가 한번은 마주치게 되기에 학습은 필수이다.

그때가 왔을때 부랴부랴 준비하기 보다는 미리 이 책으로 준비하기를 바란다.

 

IMG_0338.jpg

 

IMG_0339.jpg

 

" 한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성한 서평입니다 "

 

전산 시스템을 운영하는 실무자라면 DBA의 중요성을 잘 알고있지요.

혹은 본인이 직접 DBA 역할을 하거나, 만들어진 DBMS에 대한 SQL쿼리문들을 활용한 데이터 조회, 수정, 삭제 작업 등의 운영업무를 실시하거나, 개발하는 프로그램에 SQL 쿼리를 통한 DBMS 접속 및 DB작업 코드를 삽입하기도 합니다.

전산 시스템 구축, 운영, 유지보수 업무를 할 때 시스템의 데이터를 관리하는 SQL 쿼리문은 거의 필수적이라 할 수 있습니다.

 

 

 

 

"김상형의 SQL 정복"이라는 책은 IT업계에서 필수 지식이라고 할 수 있는 SQL을 다루고 있는데, 단순히 쿼리만을 설명하는 것이 아니라, 실습환경을 구축해서 SQL의 원리와 특성을 실습을 통하여 이해할 수 있도록 돕습니다.

또, 실습환경도 대개 다른 DBMS 관련 책들은 Oracle이면 Oracle 하나만, MSSQL 이면 MSSQL 하나만 딱 지정해서 설명하고 있는 반면, 이 책은 Oracle, MSSQL, MariaDB의 3가지 실습환경을 직접 프로그램 설치부터 DBMS 구축, SQL 명령어 입력을 통한 DBMS 작업까지 각각 환경을 다 설명하고 있습니다.

 

1장에서는 DBMS의 역사, 종류와 SQL 소개, DB 구조를 다루고 있습니다. 2장에서는 오라클 DBMS 학습환경을 설치하고 쿼리를 간단하게 실습합니다. 3장에서는 SQL Server와 Maria DB 학습환경을 설치하고 쿼리를 간단하게 실습합니다.

4장은 SELECT문, 5장은 집계와 그룹핑 함수, 6장은 INSERT, DELETE, UPDATE문, 7장은 제약조건과 기본키, 시퀀스, 8장은 모델링과 정규화, 참조무결성, 쇼핑몰 관리프로그램 예시에 대한 모델링, 9장은 서브쿼리, 10장은 조인, 11장은 각종 함수, 12장은 뷰, 13장은 순위, 통계, 피봇, 14장은 ALTER, 필드수정, 15장은 제어문(변수, 제어문 등), 16장은 프로시저, 17장은 커서, 18장은 트리거, 19장은 트랜잭션을 다루고 있습니다.

 

난이도별로 단원마다 연습문제를 삽입하여 총 100여 개의 연습문제를 제공하며, 맨 뒷장에 해설까지 제공하고 있어 스스로 SQL 쿼리에 대한 학습을 하고 학습 내용을 체화할 수 있도록 효율적인 학습을 돕고 있습니다.

설명도 자세하고 이해를 돕는 그림이나 표도 많이 첨부되어 있어 원리를 이해하기 좋습니다.

 

그런 의미에서 "김상형의 SQL 정복" 이라는 이 책은 컴퓨터공학을 전공하는 대학생들이 꼭 읽었으면 하는 IT 필독서 중 하나라고 감히 말씀드리고 싶습니다.

 

실무를 하다보면 기본적인 SQL 쿼리 작업이 필요한 경우가 있는데, 이 책은 실무 투입 전에 기본을 익히고 실무에서는 하나의 레퍼런스 책으로 참고할 수 있는 좋은 책인 것 같아 꼭 추천하고 싶습니다.

소문난 명강의: 김상형의 SQL 정복

표지

우선 표지가 깔끔하면서 이쁜 보라톤을 띠고 있어 이뻤습니다.

개인적으로 그동안 봐온 SQL 도서 중 가장 마음에 들었습니다.

 

설명 방식

기본적으로 설명을 할 때 그림 또는 표로 기본적인 설명이 첨부되어 있어 DB를 처음 공부하시는 분들도 無에서 상상하는 것이 아닌, 그림을 통해 이해를 하는데 큰 도움이 될 것 같았습니다.

 

설명 방식2

또한 어떠한 것을 내용을 설명을 할 때에, 좌측의 사진과 같이 예시를 들어 설명을 하여 입문자도 쉽게 이해할 수 있을 듯합니다. 암기해야 할 만한 기능(마치 int, long, float, dobule 같은)의 경우 우측 사진과 같이 한 번에 볼 수 있도록 되어있어, SQL을 작성할 때 에도 "아 여기서는 %이었나?", "특정 문자를 제외해서 찾으려면 뭐였지"라는 상황에서 책을 펼쳐 한번에 찾을 수 있을 듯하네요.

 

DB에 따른 설명 (좌측 각 DB 프로그램에 따른 GUI 설명)

또한 DB의 종류(Oracle, MS SQL, MySQL, MariaDB 등...) 마다 기본 틀은 유사하지만 다른 기능들이 존재하는데, 그러한 다른 부분들 역시 짚어주고 있어 자신이 배워야 하는 또는 본인 회사에서 다른 DB를 쓰고 있다 하더라도 일부 내용들은 환경에 맞추어 설명을 해주고 있습니다.

 

호환성 체크

이런 식으로 Oracle에서는 지원하지만 필수이고 SQL Server에서는 무방하지만, MariaDB에서는 아직 미지원이라는 설명을 덧붙이고 있기에, 본인의 환경에 따라 "어 책에서는 되는데 왜 안되지?"라는 상황을 줄일 수 있습니다.

 

유머코드

중간중간 과하지 않은 유머 코드를 넣어주고 있어 보면서 웃기도 하였습니다. 좌측의 사진 같은 경우 다음 페이지가 매력적인 웃음 포인트였는데 사진이 과하게 들어갈 듯싶어 뺐습니다. 궁금하신 분은 직접 읽어보세요 (호호...)

 

본인의 경험담

추가적으로 유머 코드와 함께 경험담도 포함이 되어있습니다. 저자분께서 개발 경험을 풀이하여 넣으셨는데, 의외로 재미있는 부분도 있고 현실적으로 이렇게도 할 수 있겠구나 라는 부분들이 있었습니다.

 

연습 문제들

또한 각 설명 중간 및 끝날 부분쯤 연습 문제들이 많이 적혀있는데, 풀어보는 재미도 있으며 본인이 정말 이해했는지 풀어보면서 본인의 지식으로 많드는 데에도 큰 도움을 주고 있습니다.

 

연습문제 해답

사실 연습문제는 많은 개발 서적에도 나와있지만, 이 책에서는 해답도 포함이 되어있어 좋았습니다. 다른 도서들의 경우 해답이 나와있기도 하지만 대부분 없어서 이렇게 하는 게 맞는지 또는 풀지 못하는 문제들이 있었는데, 본 도서에는 사소하면서도 핵심 요소라 생각이 되는 해답이 포함이 되어있어 매우 만족스러웠습니다.

 


마지막으로 평가를 해보도록 하겠습니다.

 

[ 장점 ]

1. 그림과 테이블 그리고 예시를 들어가며 설명하고 있어 쉽게 이해할 수 있습니다.

2. 연습문제에 추가로 해답도 들어있어 본인 풀이가 맞는지를 알 수 있습니다.

3. 기본적인 DB 설계 및 구현에 있어 본 도서 한 권이면 충분합니다.

 

[ 단점 ]

1. 예시 프로젝트를 만드는 과정이 있었다면 좋았을 텐데 연습문제만 있어 아쉬웠습니다.

2. 자세한 설명이 나와있어 좋았지만, 내용이 너무 방대하여 의욕이 떨어지기도 하였습니다.

 

사실 장점이자 단점이 많은 설명과 내용이 담겨있어 좋았지만, 그것이 단점으로 되어 많은 분량이 되었습니다.

프로젝트를 통해 이러한 부분 구현을 위해 이러한 기능을 사용한다라는 식으로 재미있게 풀어나갔으면 좋았을 것 같은데 그 부분이 아쉬웠습니다.

 

다만 본인이 정말 SQL에 대해 흥미가 있으시고 제대로 공부해보고 싶다하시면 추천드립니다.

 

감사합니다.

unnamed2.jpg

 

책을 받았을때 처음 무게에 놀랐습니다.

 

그리고 오라클 뿐만이 아니라 mssql과 마리아디비도 포함되어있어서 하나의 디비에 국한되지 않고 다 어우르려는 책이다고 느꼈습니다.

 

물론 여러 sql, db책들을 봐왔지만 아주 세심한 설명으로 기본을 복습하는데도 참 좋았습니다.

 

그리고 it전문서적이라하면 설명도 설명이지만 좋은 예제가 있는것도 참 중요한거지만

 

여러가지 예제를 통하여 이 쿼리, 이 명령문은 이렇게 적재적소하게 사용하게끔 설명된게 너무 마음에 들었습니다.

 

다른 책들같은 경우 이건 이렇게 씁니다하고 끝이 나서 막상 혼자 쿼리를 짜려했을떄 책을 보더라도 응용하기 참 쉽지않았지만

 

이 책같은 경우는 광범위하면서도 구체적인 설명으로 응용에 도움을 주는 느낌이 강하게 들었습니다.

 

sql 관련시험을 준비하거나 sql 응용하는법을 다지고 싶은 분들에게는 적극 추천하는 바입니다.  

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

RDBMS를 처음 다루는 사람이라면 매우 유용한 책

 

 

한빛미디어 나는 리뷰어다 이벤트에 이 책을 신청한 이유는 RDBMS를 복습하기 위해서 선택하였다. 최근에 몽고DB와 같은 NoSQL기반 데이터베이스를 다루기 위하여 기존의 SQL을 어떻게 사용했는지에 대해서 명확하게 파악하고 NoSQL로 넘어가기 위하여 기존의 것을 다시 익힌다는 것을 목표로 이 책을 신청하게 되었다.

 

 

아시다시피 RDBMS는 지금 이 시간에도 매우 많은 곳에서 매우 다양한 용도로 활용되고 있으며, 특히 금융계에서는 아무리 NoSQL이 대중화 되었더라고 SQL, RDBMS를 안정성 측면에서 절대로 포기할 수 없을 것이다. RDBMS가 갖는 높은 안정성과 정합성을 생각한다면 향후 절대로 대체될 수 없을 것이라고 생각한다.

 

 

이 책은 SQL을 정석처럼 배우고 싶은 사람에게 매우 권장되는 책이다. RDBMS를 전혀 모르고, SQL도 전혀 모르는 사람이 돌다리처럼 한 계단씩 밟아 나가며 배우기에 아주 적절하다. 특히 삽입된 삽화와 코드가 매우 많아 이해하기에 무리가 없을 것이다.

 

 

기본적으로 RDBMS가 동작하는 방식, SQL의 기본적인 작성법들을 알려주게 되고, 이를 직접 다양한 종류의 RDBMS(Oracle, MariaDB, MySql)을 직접 설치하고, 각각의 RDBMS가 대표적으로 자주 사용하는 문법에 대해서 친절하게 알려준다.

 

 

질의 자체도 실제로 쓰일만한 주제를 이용하여 예제를 작성한 점이 마음에 들었다. 간혹 너무 뜬 구름 잡는 질의가 많은 시중의 책들에서 발견될 수 있는데 책 자체가 현업에서 많이 SQL을 작성해보신 분이라는 것을 알 수 있는 것이 많은 예제들이 실제로 사용할 수 있는 질의들이 상당히 많았다.

 

 

RDBMS의 꽃은 모델링과 조인이다. 이것이 없다면 RDBMS라고 부를 수 없다. 사실 모델링이라는 것이 대학교 학부과정에 속해 있는 것인데 이렇게 SQL을 알려주는 책에서 소소하게 들어있는 것이 RDBMS의 의의 자체를 알려준다고 볼 수 있다.

 

 

물론 모델링은 어렵다. 학부과정에서 한 과목으로 다뤄질 정도로 모델링에 대한 이해가 굉장히 높아야지만 SQL이 제대로 나올 수 있을 뿐더러 효율적인 질의문을 던질 수 있게 된다. 모델링 부분이 실제로 많은 비중을 차지하는 것은 아니지만 "RDBMS를 다룬다면 적어도 이 정도는 알아야 한다"라는 느낌으로 모델링에 대해서 알려준다.

 

 

모델링이라는 개념이 실제로 어렵기 때문에 실제로 유용하게 쓰일 수 있는 예제를 통하여 설명하게 된다.

 

 

모델링을 했다면 이제 이를 조인해서 가져올 수 있어야 한다. 조인이 특정 상황에서 쓰이는 것이 아니기 때문에 조인에 대한 개념, 조인에 대한 설명이 많은 것도 마음에 들었다.

 

 

사실 이제 뒷부분 부터는 그렇게 사용할 일 이 그렇게 많지는 않다. 실제로 RDBMS를 JDBC와 같은 드라이버로 직접 연결하고 쓰는 시대는 이미 지났기 때문에, 위와 같은 트리거를 쓰는 것 자체는 오히려 데이터베이스의 정합성을 잃어버리기 개인적으로는 쉽다고 생각한다. 하지만 엄연히 RDBMS가 제공하는 기능이기 때문에, 이러한 기능이 있다 정도만 알면 될 것 같다.

 

 

이 책에는 알려준 개념에 대해서 정확히 이해했는지 문제를 통해 검증할 수 있다. 이 책은 RDBMS, SQL에 대해서 복습하고 싶거나, RDBMS를 처음 접하여 돌다리 두드리듯이 정석처럼 밟아보고 싶은 사람에게 매우 추천한다.

 

이 책은 한빛미디어로부터 제공받아 작성되었습니다.

이쯤되면 나랑 SQL과 뭔 연관이 있나 생각이 든다.
3월인가 4월인가 러닝 SQL이라는 책을 학습한 적이 있었는데..
처음 이 책을 봤을 때의 느낌은 생각보다 두껍다라는 느낌을 먼저 받게 되었다.
왜냐하면 전 작인 러닝 SQL은 굉장히 얇얐기 때문이다.(내가 리뷰하했던 책)

백엔드를 공부하면서 SQL의 중요성은 백번을 말해도 아깝지가 않는다고 생각한다. 하지만 SQL의 가장 큰 특징 중 하나가 간결함에 있다.
근데 우리는 이 간결함에 속아 SQL공부를 소홀히 하고 있다.  분명히 나는 SQL잘 알고 있다고 생각하고 있는데 이상하게도 INSERT를 해야 할때마다 INSERT가 어떻게 작성이 되어지는지 검색하고 있다. 업친데 덮친격으로 ORM이라는 기술때문에 SQL에 대한 공부가 점점더 소홀 해진다는 느낌을 받았다. 물론 ORM이라는 기술 때문에 SQL작성이 굉장히 편리해진것은 사실이지만,
이대로 괜찮을까? 더 이상 SQL를 공부하지 않아도 상관없는 걸까? ORM기술이 가진 치명적인 약점은 복잡한 SQL구문은 만드는것이 어렵다는 점이다. 그렇다는건 ORM이 아닌 직접 SQL을 사용하는 방법밖에 없는데... ORM의 편리함에 취해 SQL 공부에 소홀히하는 나로써는 어려운 구문은 작성하기 쉽지가 않았다. ORM이 SQL을 조금더 편리하게 작성해서 개발에 집중할 수 있게 한것이지
ORM을 이용하면 SQL을 자유자제로 사용할 수 있다는 것은 절대 아니다.
그렇기 때문에 ORM을 사용한다고 해서 SQL공부를 소홀히 하면 안된다. 오히려 SQL공부를 더 열심히 해야 한다고 생각한다. 그래야 ORM을 100% 아니 300%이상으로 사용할 수 있지 않을까?

그러니 SQL을 이번 기회에 재대로 학습해보자.

목차를 살펴보자.
책의 구성이 생각보다 알차다는 느낌을 받았다.
  1장 데이터베이스
  2장 오라클
  3장 SQL Server와 MariaDB
  4장 SELECT
  5장 데이터 집계
(생략)
 15장 제어문
 16장 프로시저
 17장 커서
 18장 트리거
 19장 트랜잭션 

이 책의 가장 큰 특이한 점은 오라클과 SQL Server, MariaDB가 한 책에 존재한다는 사실을 알 수 있다.
보통은 한 권에 한 DB만 다루는 것이 일반적이다.
하지만 이 책같은 경우는 그렇지 않았다. 하나의 DB를 다루는 것이 아니라 3개의 DB를 모조리 한권에 책에 담겨 있는 모습을 확인 할 수 있다.
그러면 이런 의문이 들것이다.
하나도 설명하기가 쉽지 않는데 3개를 어떻게 설명하지?라는 의문이 들것이다.
또, 나는 MariaDB를 사용하고 싶은데 SQL Server도 공부해야 하는 걸까? 라는 의문도 들 수  있다.

후자 같은 경우는 본인이 적절하게 판단하면 되는 문제이니 넘어가구
전자 같은 경우는 책을 보면 이해할 수 있다. 
애초에 SQL이라는건 다른 프로그래밍 언어와 달리(SQL이 프로그래밍 언어라는 이야기는 아닙니다.)
표준이라는것이 존재한다. 
이 책은 전반적으로 SQL표준을 기준으로 설명하고 있구
위 3개의 DB를 설명하는 이유는 이 3개가 어떤 특징을 가지고 있는지 알기 위함이다. 
즉, 4장 SELECT절 부터는 2장,3장에서 설명하고 있는 DB의 영향이 그리 크지 않는다는 것을 알 수 있다.
그러니까 이렇게 설명해도 큰 무리가 없다는 뜻이다.

또, 이 책같은 경우 중간준간에 연습문제가 존재해서 내가 여기에 얼만큼 이해하고 있는지 알 수 있다.
목차를 보면 별표표시로 난이도가 보이는데 이것이 굉장히 도움이 되지 않을까?
물론, 난이도 표시는 작가분의 의견이지 절대적인 수치는 절대 아니다. 하지만 난이도가 표시되었으니 그 문제
얼마나 각오를 해야하는지 생각할 수 있다고 생각한다. 

책을 읽으면서 놀라웠던 사실은 CREATE도 SELECT와 같이 사용할 수 있다는 점이다.
나는 SQL을 공부하면서 처음알았다.
간략하게 설명하면 CREATE와 SELECT를 사용하게 되면 기존에 사용했던 DB를 복사하는 효과를 발생한다.
책에는 SQL을 공부하면서 꿀팁같은 내용들이 다수 포함되어 있다.

KakaoTalk_20210523_220220826.jpg

SQL 문법에 대해서 정말 기본기를 배울 수 있는 책인 것 같다. 

SQL의 고급적인 부분 보다는 SQL의 기초와 어느 RDB를 가져다 줘도 부담없이 사용할 수 있도록

MariaDB, Oracle, MSSQL 을 통해서 설명한다. 책을 읽을땐 가독성도 굉장히 중요하게 보는 편인데 책의 구성도 중간중간 챕터별로 연습문제를 통해서 공부한 내용을 다시한번 상기시키는 것도 좋았다. 또한 책이 생각보다 두꺼워서 약간 부담이 될 수 있지만 필요한 부분만 볼수 있도록 정리도 잘 되어있고, 칼라풀하기 때문에 보는데 큰 문제는 없었다. 

그리고 책 도입부분이 SQL 설치보단 SQL이 무엇인지 DB는 왜 필요한지, 이에따른 다양한 DB들이 왜 생겨났는지 등 DB가 탄생한 배경 및 사상등을 다시한번 정리할 수 있어서 좋았다. 

이 책은 SQL을 빠르게 학습하고 중~상 레벨로 가기위한 기반을 다질 책으로 추천한다.

 

[주요 내용]

-3가지 DBMS 기반 실습 환경: Oracle, MSSQL, MariaDB 기반 실습 환경을 모두 체험할 수 있습니다.

-30가지 실습 예제 제공: 30가지 다양한 실무형 실습 예제를 통해 현장감을 익힙니다.

-100여 개 연습문제 제공: 100여 개의 연습문제/해설을 제공하여 학습 내용을 독자 스스로 확인 가능하도록 구성했습니다.


[서평]

이 책은 SQL 언어를 정말 정복 하기 위한 최단 루트로 현업 주니어 개발자들이 꼭 한번 읽어 봐야 할 책입니다. SQL 기본을 빨리 익히고 데이터베이스 쿼리 작성, 관리 작업 수행, 보고서 및 통계 생성을 할수 있게 도와주는 SQL 입문 가이드 입니다. 각 장에서 다양한 예제와 연습문제로 주요 SQL 개념과 기술을 학습하고 실습 합니다. 그리고 현업에서 가장 많이 사용하는 Oracle, SQL server, MariaDB를 실습 하면서 특정 데이터베이스에 종속적인 사용법이 아닌 표준화된 데이터 관리 문법인 SQL에 집중 하여 어떤 데이터베이스라도 사용할수 있게 구성되어 있습니다.


 개념 설명은 쉽게 하기 위해서 도해를 많이 활용 해서 시각적으로 한눈에 이해할 수 있게 잘 표현 하고 있습니다.



챕터 중간 중간에 마지막에 SQL 핵심만 간추린 필수 연습문제로 제대로 이해했는지 자가 점검을 할수 있습니다. 연습 문제의 별표로 난이도를 확인할 수 있습니다.연습문제 답안은 책의 뒷부분에 연습문제 해설 풀이 과정이 상세 하게 설명 되어 있습니다.



 이책이 다른 데이터베이스와 차별이 된다고 할수 있는부분이 8장의 모델링 부분입니다. 이부분이 저는 가장 데이터베이스 책중에서 가장 중요하다고 생각을 합니다. 디비를 제작 할때 처음에 어떻게 해야 하는지 기획-분석-설계-구현-테스트-수정 과정이 상세하게 잘 설명 하고 있습니다.


 개념 설명과 문법이 깔끔 하게 정리 되어 있고, 다양한 예시로 응용력을 기를수 있습니다.



 그리고 책에 다 싣지 못한 부분은 족자지원 홈페이지로 실습에 필요한 SQL 정복 추가 강좌와 팁 모음 정오표, SQL관련 최신 소식 등을 제공 하고 있습니다.


데이터베이스를 처음 입문 하거나, 좀더 고급 기능에 대해서 배우고 싶고 단기간에 다양한 경험과 DBMS를 능숙하게 배우고 싶다면 김상형의 SQL 정복을 정독 해보시는 것을 추천 합니다.

 

 "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

한빛미디어에서 <나는 리뷰어다>를 통해 책을 지원받아 작성한 리뷰입니다.

 

 

어떤 새로운 개념 혹은 (프로그래밍) 언어을 공부한다고 할 때에 제일 중요하다고 생각하는 것은 공부하려고 하는 것의 철학 혹은 역사를 아는 것이 중요하다고 생각한다. 시중에 파는 많은 책들은 책에서 설명하는 것에 대한 설치 방법부터 시작하는 경우가 많다. (절대 이런 류의 책이 잘못되었다는 뜻은 아니니 오해 없길 바랍니다.) 하지만, 이번에 읽은 '김상형의 SQL 정복'은 설치 방법이 아닌, SQL의 개념과 필요, 역사에 대한 설명부터 시작해서 너무 좋았다. 또, 별생각 없이 읽어나가다가 챕터 마지막에 있는 연습문제의 등장으로 인해 해당 챕터에서 공부한 개념들에 대해 다시한번 복습할 수 있게 해준다.

 

그 후 2-3장에 걸쳐 오라클, SQL Server, MariaDB을 모두 다루는데, 이 부분 또한 다양한 것들을 익히고 그 차이에 대해 알 수 있어 좋았다. 여기에서 한가지 아쉬운 점이라면 실습 환경 설치에 대한 설명이 윈도우만 있다는 점이다. 맥 환경을 사용하고 있기 때문에, 눈치껏 따라갔다. 그 이후에는 SELECT를 시작으로 하여 표준 SQL 문법의 실습이 친절하게 작성되어 있다. 책을 읽어나가는 동안 곳곳에 숨겨진 저자님의 노하우와 친절한 설명이 정말 좋았다. 참 좋았는데, 글로 설명하자니 참 어렵다... 예전에 인강에서 SELECT에 대해 배울 때에는 1-2시간 정도로 짤막하게 배웠던 것 같은데, 해당 도서에 적힌 SELECT에 대한 내용들을 꼼꼼하게 읽어나가니 1-2시간 이상의 시간이 걸리던 것도 신기했다. SQL은 아주 잘 알진 못하지만, 적어도 이 책을 제대로만 공부하면 SQL에 대해 깊게 이해하고 더 나아갈 수 있다는 확신이 들었다. 

김상혁의 SQL 정복

김상형의 SQL 정복은 난이도가 초중급으로 되어 있습니다.

그 중에서도 SQL 입문자분들께 정말 추천드립니다 !

Oracle, MSSQL, MariaDB 기반 환경으로 실습을 함께 따라하시면 다양한 SQL을 접해보실 수 있을 것으로 생각됩니다.

 

지루할 수 있는 데이터베이스 이론에서는 중간중간 그림이 나와 크게 지루함을 느끼지 못했습니다.

 

설명만 보는 것보다 직접 문제를 풀어보며 SQL을 익힐 수 있었고, 

다양한 문제가 수록되어 있어 많은 유형의 문제를 풀어볼 수 있었습니다.

쿼리문은 별도로 보라색 상자에 담겨 있어 한 눈에 알아볼 수 있는 장점이 있었습니다.

책의 중간중간 Oracle, MSSQL, MariaDB의 차이점이 수록되어 있어 참고할 수 있었습니다.

 

뒷장으로 갈수록 고급쿼리에 대해 읽힐 수 있었고 필요한 부분만 보는 것도 큰 도움이 될 것으로 보입니다.

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

다운로드 (1).png

 

 

소문난 명강의 김상형의 SQL 정복 이란 책은 일반 적인 SQL 책 만큼 두껍다. 대신에 Oracel, MSSQL, MariaDB기반으로 실습 환경이 주어지고 이에 맞춘 사용법도 설명을 같이 하는 책이었다. 책의 전반적인 내용은 초심자가 보기에는 가장 좋은 책으로 생각된다. 예제도 굉장히 많으며 각 DBMS 별로 주의 사항도 같이 설명해 주고있다. 책의 전반이 그렇듯 연습문제를 풀어 학습한 내용을 복습하기에도 좋았다. MySQL에서 MariaDB로 오픈소스 프로젝트 운영체제들이 MariaDB로 채택을 하고 있는 추세를 잘 맞춘 실습 환경에서의 설명인 것도 굉장히 좋은 선택지 인것 같다. 이 책의 가장 마음에 들었던 것은 보통 쿼리문을 예제로 책에 넣어두는데 보통은 초심자들은 오타를 일으킬 확률이 굉장히 높은데 완벽하지는 않지만 문자열이나, 숫자 같은 경우에는 색을 달리하여 학습자가 쉽게 이 문법은 조금 다르구나 조심해야겠구나 라는 것을 알수 있었다. 전반적으로 컬러를 더 사용하여 코드의 색을 다양하게 넣어 정의를 한다면 학습자가 더욱이 쉽게 문법을 이해할수있을것 같다는 아쉬움이 조금 남지만 이만큼만 해도 굉장히 좋다. 쿼리를 설명하는 부분에 있어서도 쿼리 문 옆에 큰 글자로 설명을 해주어서 학습자가 이해하기도 굉장히 쉬웠고 초심자가 넓은 개념으로 이해하기에는 이책만한게 없는 것 같다.


 "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

SQL 레벨업 : DB 성능 최적화를 위한 SQL 실전 가이드

- SQL 문법 -

 

1.jpg

 

 

 

안녕하세요. 율리시스SS입니다.

오늘 소개시켜드릴 도서는 김상형의 SQL 정복이라는 책입니다.

난이도는 하~중 정도로 SQL을 입문하시는 분들 혹은 SI 프로젝트 한두번 해보신 분들께 추천드립니다. 

개인적으로도 아직 주니어 개발자이지만 공부했어도 잘 사용하지 않아서 몰랐던 문법도 쉽게 배웠던 책입니다. 전체적으로 쉽게 알려준다는 점이 포인트라는 책이겠네요.

▣ 소문난 명강의 : 김상형의 SQL 정복

 

이미지 1.png

 

 

| 소문난 명강의 : 김상형의 SQL 정복 도서는 처음 DB를 입문하시거나 한번 정독하면서 읽어보고 싶으신 분들께 추천드리는 도서입니다.

첫장에는 데이터베이스에대한 이론적인 설명부터 시작합니다. 기본적으로 오라클 DB를 사용하며 마리아DB에 대해 알려주기도 합니다.

it도서를 읽으면서 느낀점은 어떻게 하면 쉽게 독자분들이 이해가 갈 수 있게 집필할 수 있을까 라는 생각이 많이 듭니다.

생각을 많이 하고 집필하셨다는 생각이 많이 들었던 책입니다.

이미지 2.png

 

 

| 중간중간 연습문제가 있습니다.개인적으로는 이론과 설명이 있는것도 좋지만 연습문제도 중간중간 있는 도서를 좀 더 좋아합니다.

프로젝트를 하면서 다양한 방법으로 데이터를 뽑아내야 하는데 점점 다양한 케이스들을 접해보는것도 좋은것 같습니다.

다양한 문제를 풀어서 실력을 쌓는것도 좋을것 같네요. 개인적으로 매 챕터마다 문제가 있는건 좋았습니다.

 

이미지 3.png

 

 

| 도서도 설명이 잘 되어 있지만 사진처럼 코드 포인트에 보라색으로 숫자라던가 컬럼명, 숫자등에 포인트색상이 들어가 있습니다.

개인적으로 이런 세세한 부분도 굉장히 책을 쉽게 보기 좋다고 생각되는 부분이였습니다.

SQL 코드를 짤 때에는 실무에서는 코드가 굉장히 길어집니다. 여러 테이블을 JOIN하면서 데이터를 뽑아내는데요.

쿼리가 진다고 해서 한줄 쿼리를 짜는것 보다 SELET, FROM, WHERE 기본적인 단어마다 한줄 내림을 하는게 보기에는 좋습니다.

 

책에서는 이렇게 하면 두꺼워지기 때문에 한줄을 많이 사용하는것 같은데 쿼리 작성은 취향이지만 한번에 보고 쉽게 유추할 수 있는 쿼리가 보기 좋은 쿼리라고

생각됩니다.

 

 

이미지 4.png

 

| 매 챕터마다 왜 해당 챕터를 배우는지 설명이 잘 되어 있습니다. 또한 점점 배우다 보면 난이도가 점점 높아지는데 그림과 함께 설명이 잘 되어 있어서 전체적으로

이해되지 않는 부분은 그리 없을것이라고 생각됩니다.

 

이미지 5.png

 

| 이 책 한권으로 여러분들이 중급 이상의 개발자가 되기에는 문제가 없을것으로 생각됩니다. 실무를 하면서 다양한 문제에 대한 케이스를 접해보면서 실력을 쌓는게 더 좋을것 같은데요. 이론적인 부분은 이 책 하나로 문제가 없지만 심화과정에 대한 문제 및 미니 프로젝트도 하나 정도 있었으면 더 좋을것 같았는데 아쉬웠습니다.

아무래도 책이 지금도 내용이 방대한데 더욱더 커져서 의욕을 떨어트릴 수 있겠네요.

여러분이 데이터베이스를 처음부터 전체적으로 제대로 잡고 싶다. 이해가 부족했던 부분에 대해서 짚고 넘어가고 싶으면 괜찮았던 도서입니다.

한빛미디어 <나는 리뷰어다> 활동을 위해 제공받아 작성하였지만

제공 측의 간섭 없이 필자가 느낀 점 그대로 작성하였습니다.

작성일 : 2021년 06월 18일

최종 수정일 : 2021년 06월 18일

* 오류 수정은 블로그에서만 합니다.

* 블로그 : http://blog.naver.com/adg0609

CopyRightⓒ.2021.율리시스SS.All Rights Reserved

Oracle을 시작으로 MariaDB, SQL Server 까지 다루고 있어서 책 하나로 DBMS를 꼼꼼하게 다루어 주는 책입니다. 

비교를 통해서 SQL문법을 잘 다루고 있고, 샘플 SQL이 포함되어 있어서 바로바로 실행할 수 있고, 동작을 빠르게 알 수 있게 되어 있습니다. SELECT, 데이터 관리부터 제약과 모델링까지 다루고 있어서 DBMS의 기초부터 차근차근 할 수 있습니다. 예전에 SQL을 배우고 사실 잘 사용할 일이 없어서 다시 한번 해볼가 하는 생각으로 봤는데.. 너무 잘 되어 있어서 예전에 배웠던 기억이 새록새록 나네요..

 

이렇게 쉽게 배웠다면 DB를 싫어하지는 않았을텐데.. 참.. 

SQL 초보자라면 정독하면서 보면 어느새 SQL DB에 대해서 기본기를 쌓을 수 있다고 생각합니다. 이 책을 시작으로  소문난 명강의 시리즈를 찾아서 사 봐야겠다는 생각이 들었습니다. 

진짜 괜찮은 책이네요..

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다. 

 최근 쿼리를 잘 다루면 업무 범위를 더 확장할 수 있을 기회가 찾아오는 중이라 SQL이나 데이터 관련 책들을 주로 보게 된다.

이전에 리뷰했던 Learning SQL은 외국 저자의 책을 번역한 것이었고, 이번에 본 김상형의 SQL 정복은, 책 제목에서부터 알 수 있듯 한국 사람이 쓴 책이다.

책은 700페이지가 넘고, 총 19챕터에 부록까지 수록되어있어 대학교 전공 교재 느낌의 두께와 무게를 자랑한다.

이 책을 6월 초에 수령했고, 나름 속도를 내서 본다고 했는데 퇴근후에 시간을 내서 읽다 보니 완독은 아직 하지 못했다.

분명 한국말로 적혀있음에도 이전에 읽었던 Learning SQL에 비해 속도가 더디고, 읽었던 문장을 여러번 다시 읽어야 하는 이유는 매끄럽지 못한 문장과 편집 때문으로 보인다. 또는 나의 이해력이 부족하거나... 아무래도 맨 마지막이 정답인 것 같다.

조사가 제대로 매치되어있지 않거나, 되 와 돼 를 혼동하여 적거나, 문장 연결이 매끄럽지 못한 부분이 조금 아쉽다.

특히 서브쿼리와 Union이 나오기 시작하면서부터는 읽은 문단을 다시 읽고 또 읽고 또 읽어도 쉽사리 넘어가지지 못하는데, 여기서부터 조금씩 복잡해지기 때문인 것 같다.

그러나 이 책은 대부분 나와 같은 문과생이 읽지는 않을 것이고, SQL 초급자가 볼 만한 책도 아니어서 편집의 구멍에 나처럼 괴로워할 만한 사람들이 보지는 않을 것 같다. 그래서 편집에 시간을 덜 투자했을 것이라 생각한다.

 

 또한 초반에 SQL 설치하는 과정이 번거로워 katacoda의 MySQL을 활용하다보니 실습 쿼리 일부가 적용이 되지 않아 건너뛰거나, 다른 구문으로 대체해서 진행해야 하는 경우도 있었다. SQL 책들의 가장 큰 맹점이 실습 환경을 만들다 진이 다 빠지는 경우인데, 몇십줄에 다다르는 테이블 생성 구문을 일일이 타이핑하거나, 그마저도 중간에 쉼표를 마침표로 찍어 에러가 리턴되거나 하는 경험을 심심치 않게 할 수 있었어서 다시 한 번 실습 환경의 중요성을 깨닫게 된 책이다.

 

 그럼에도 챕터만 봤을 때 오 이건 꼭 봐야해!! 라는 챕터들이 꽤 있어서 이번달 내 완독을 목표로 책을 손에서 놓지는 않을 예정이다.

데이터베이스의 자료들을 활용하고 새로운 의미있는 정보를 만들기 위한 과정인 SQL....

데이터 베이스와 인간과의 대화도구인 SQL의 문법을 개념부터 예제까지...

예제중심의 다른 책들과 달리

개념에 충실해서 처음 접하는 분들께 추천한다.

단, 앞부분에 오라클, MS SQL, 마리아DB까지 설치에 대해 나와있지만, 자기 컴퓨터 환경에 따라 셋중 한가지만 선택해서 보고, 추후 나머지도 보면 좋을 듯하다.

물론 중간중간 세개의 차이에 대해 나와있으므로 미리 걱정안해도됨.,

친절한 설명이 잘 되어 있다.

SQL, DB, DBMS 이런 용어들은 실무에서 듣긴 하지만 현재 내가 하는 개발 업무에서는 큰 필요가 없는 상태이다.

정보처리기사 시험 준비할때 많이 봤던 친구들이다.

그때는 그래도 대략적으로 느낌이 왔었는데 사용을 안하고 안보다 보니 가물가물해졌다.

김상형의 SQL 정복

김상형의 SQL 정복 소개

책 제목이 너무 정직하다.

김상형의 SQL 정복

본인의 이름을 걸고 SQL 정복 딱 두 단어로 책을 표현했다.

책을 받고 두께를 확인 한 순간!!

이건 SQL의 정석이라고 생각이 들었다.(수학의 정석처럼...)

페이지수는 700페이지 이상이다.

또, 중간에 연습문제라는게 있어 혼자 생각하고 정리할 시간을 준다. 연습문제가 있으니 더더욱 수학의 정석 느낌이 강하게 들었다.

SQL에 A-Z까지 모든걸 설명해준다.

초보자들은 처음부터 찬찬히 살펴보면서 보면 되고,

경험있는 사람들은 필요한 부분만 보면 딱 좋을것 같다.

 

김상형의 SQL 정복 목차

1장. 데이터베이스

1.1 DBMS
1.2 SQL
1.3 DB의 구조

2장. 오라클

2.1 학습 환경 설치
2.2 쿼리
2.3 쿼리 실습

3장. SQL Server와 MariaDB

3.1 데이터베이스 전문가
3.2 SQL Server
3.3 MariaDB

4장. SELECT

4.1 데이터 읽기
4.2 조건문
4.3 정렬

5장. 데이터 집계

5.1 집계 함수
5.2 그룹핑

6장. 데이터 관리

6.1 삽입
6.2 삭제
6.3 갱신

7장. 제약

7.1 제약
7.2 기본키
7.3 시퀀스

8장. 모델링

8.1 모델링
8.2 정규화
8.3 참조 무결성
8.4 쇼핑몰 모델링

9장. 서브쿼리

9.1 서브쿼리
9.2 서브쿼리 연산자
9.3 인라인 뷰
9.4 테이블 조합
9.5 테이블 병합

10장. 조인

10.1 조인
10.2 조인의 조건
10.3 조인 실습
10.4 조인 고급

11장. 함수

11.1 스칼라 함수
11.2 문자열 함수
11.3 데이터 타입
11.4 날짜와 시간

12장. 뷰

12.1 뷰
12.2 임시 테이블
12.3 CTE

13장. 분석과 통계

13.1 소계
13.2 순위
13.3 통계
13.4 피봇

14장. 테이블 관리

14.1 테이블 수정
14.2 필드 수정

15장. 제어문

15.1 변수
15.2 제어문
15.3 SQL Server의 제어문

16장. 프로시저

16.1 저장 프로시저
16.2 인수
16.3 함수
16.4 SQL Server의 프로시저

17장. 커서

17.1 커서
17.2 SQL Server의 커서
17.3 동적 쿼리

18장. 트리거

18.1 트리거
18.2 트리거와 무결성
18.3 트리거 고급
18.4 SQL Server의 트리거

19장. 트랜잭션

19.1 트랜잭션
19.2 트랜잭션 모드
19.3 락

부록
__DBeaver
__MariaDB SQL
__SQL 구문

연습문제 해설

김상형의 SQL 정복 후기

이 책 하나면 다른 SQL 책을 보지 않아도 된다. 정말 상세하고 자세하고 꼼꼼하게 설명해준다.

단지 아쉬운 점은 윈도우 환경에서만 설명이 있다.

다행히 집에 데스크탑이 윈도우 환경이라서 책 보는데 큰 무리는 없었지만, 만약 맥을 사용하는 사람이라면 구글링하면서 설치하는것부터 사용하는것 까지 스스로 해결해야되는 불편함이 있다.

 

한빛미디어에서 <나는 리뷰어다>를 통해 책을 지원받아 작성한 리뷰입니다.

김상형의 SQL 정복


소문난 명강의 시리즈 중 Oracle, MSSQL, MariaDB 기반 실습환경 SQL을 정복하게 도와주는 책이다. DBMS에 제약 없이 SQL을 활용하고 핵심 원리를 알려주는 SQL 바이블이라 할 수 있다. 

 

KakaoTalk_20210617_210535020.jpg

 

KakaoTalk_20210617_210535231.jpg

 

KakaoTalk_20210617_210535489.jpg

 

KakaoTalk_20210617_210536191.jpg

 


 

저자는 이 책을 만들며 SQL 언어 그 자체를 배우며 특정 DBMS에 종속적인 사용법보다는 표준화된 데이터 관리 문법인 SQL에 집중하였고 모든 데이터베이스 개발툴이 SQL을 지원하므로 언어의 문법만 마스터하면 툴은 얼마든지 익숙하게 다룰 수 있다는 이유였다. 


책의 구성은 먼저 SQL의 개념을 익히고 큰 틀을 잡은 후에는 Oracle, MSSQL, MariaDB를 비교하며 SQL의 원리와 특징을 정석대로 익힐 수 있는 흐름으로 이어진다. 특히 Oracle, MSSQL, MariaDB 3가지 DBMS 기반 실습 환경을 모두 체험할 수 있고 30가지 실습 예제를 제공하여 현장감을 익힐 수 있다. 여기에 100여 개의 실습 문제를 직접 해결해보고 풀이를 확인하면서 최적의 시간 내에 SQL을 정복할 수 있는 방식이 돋보였다. 


4차 산업혁명의 중심에는 데이터베이스가 있고 데이터베이스 기술의 핵심은 SQL이다. SQL은 대용량의 복잡한 데이터를 조작하고 관리하는 표준 스크립트 언어이며 응용 프로그램, 웹, 시스템 통합 등 다양한 분야에서 광범위하게 활약하고 있다. 


실습에 필요한 파일과 추가 강좌, 정오표 등과 미처 싣지 못한 팁과 최신 SQL관련 소식도 저자의 강의 사이트에서 제공해준다는 점이 이 책의 장점이기도 하다. 


시종일관 입문자 눈높이로 설명한다는거에 감탄했고 개념을 제시하면서도 완벽한 따라하기를 구현했고 저자의 실무 경험과 인사이트도 공유하는 책이었다. 


 

 

[회전]1.jpg

 

 

김상형 저자님을 처음 알게된건 윈도우즈 API 정복이라는 책을 통해서였습니다. 

워낙 책이 유명하기도 했었고, 잘 쓰여져서 전자공학과나 컴퓨터 공학과를 다니던 친구들은

한 번을 봤을법한 책이었습니다.

 

이번엔 SQL정복이라는 책을 집필하셔서 기대감을 가지고 책을 피게 되었습니다. 

우선 시중에 많이 나와있는 책들이 오라클 12c 버전까지인데, 19.3버전으로 실습 환경으로 

되어 있습니다.

 

많은 현업에서 이제 오라클 19버전을 사용하기 때문에 최신 레퍼런스 책이 아닐까 생각이 듭니다. 

 

목차는 아래와 같이 19장으로 되어 있습니다. 그만큼 책 페이지 수도 700페이지 가량 됩니다.

오라클, SQL Server와 MariaDB, 데이터 집계/관리, 제약, 모델링, 서브쿼리, 조인,

함수, 뷰, 분석과 통계, 테이블 관리, 제어문, 프로시저, 커서, 트리거, 트랜잭션 등... 

많은 내용을 담고 있습니다.

2.jpg

 

 

 

처음 DB를 사용하면서 공부를 하고자 하면 많은 것을 배울 수 있는 책입니다.

책 곳곳에 나와있는 연습문제를 통해서 배운 내용을 연습 해 볼 수 있고, 해답도 가장 마지막 부분에

나와있는데, 정확히 세보진 않았지만 대략 80문제 이상은 됐던것 같습니다.

 

그렇다고 어렵거나 복잡한 쿼리문을 작성하는 문제가 아니기 때문에 연습하기엔 딱 좋았습니다.

 

DB를 처음 접하거나 단순하게 CRUD만 하셨던 분들이 책을 찾는다 하시면 추천 드립니다.

책 내용은 검증된 저자이시기에 이해하기 쉽게 잘 쓰여진 좋은 SQL 책입니다. 

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

그동안 사용했던 SQL 쿼리라고는 SAS 또는 Sequel pro가 전부였어서 Hive 쿼리는 살짝 새로웠다.

거의 똑같지만 디테일은 또 다르더라.

살짝 피곤함이 느껴지긴 했지만 또 배워가는 재미가 있다.

그렇게 Google 하고 사이좋게 지내던 와중에 새로운 친구가 생겼다.

 

바로 한빛 미디어에서 6월에 보내준 나의 새로운 소울메이트, "김상형의 SQL 정복"이다.

일단 제목부터 너무나 든든했다.

SQLD를 땄어도 실무가 크게 수월해졌다거나 스키 타고 상급자 코스를 질주하듯이 시원시원한 작업이 되진 않았다.

확실히 이론으로 이런 기능이 있다고 백날 외워봤자 실무에서는 말짱 도루묵이었다.

상상치도 못한 오류들과 상황이 일어나기 때문이다.

하여튼 이렇게 막막하고 믿을 거라고는 구글밖에 없는 처참한 상황에서 아주 든든한 지원군이 생겼다.

약 700페이지 분량으로 전공 책이 생각나는 비주얼이다.

이 책이 가장 마음에 들었던 이유 중에 하나는 목차가 굉장히 잘 구성되어 있다는 점이다.

나 같은 경우는 SQL 쿼리의 기초보다는 데이터 집계나 함수, 서브 쿼리 같은 조금 심화된 내용 쪽에서 확인해야 할 내용이 있다.

그래서 목차에서 내가 지금 쿼리문으로 뽑아내고 싶은 기능을 찾아서 아주 쏠쏠하게 잘 써먹고 있다.

그리고 특히 어깨너머로 주워들은 기능들을 찾기 좋다.

예를 들어서 데이터 집계할 때 그룹핑 기능을 이용하고 싶은데 having 절을 어떻게 써야 할지 완벽하게는 모르겠다 싶을 때, 목차를 펴고 5장 데이터 집계에서 5-2 그룹핑에서 Having 내용이 있는 155페이지로 찾아가면 된다.

보통 내가 봤던 SQL 쿼리 책에서는 목차에 그룹핑, 삽입, 제약 이런 식으로 한글로 적혀있고 Having처럼 특정 절이 적혀있지 않았다.

그래서 Having을 알고 있긴 한데 Having이 어떤 기능인지 모를 때는 책을 한 장 한 장 넘기면서 Having을 찾아야 했다.

그러다가 페이지 넘기다 보면 그룹핑에서 Having을 만나게 되고 그제서야 아 Having이 그룹핑 기능이 있는 값이구나 하고 깨달을 수 있었다.

키워드로 정리된 목차가 굉장히 편리했고 지금까지의 작업에서는 이 책이 웬만한 나의 궁금증을 다 해소해 주었다.

 

그래서 요즘 진짜 옆구리에 끼고 살고 있는 책이다.

SQL에 대해 깊이 있게 공부해보고 싶다면 이 책을 정독으로 읽어보기를 매우 권장한다

 

그외 가볍게 문법만 훑어보기 위해 시전용도로 사용해도 좋으며 문법은 아는데 조금더 응용된 사용법이나 노하우가 필요한 경우에도

 

SampleSQL과 응용된 사용법에 대한 내용을 읽어보고 궁금증을 해결할 수 있을 것이다

 

SQL 전문가인 저자가 심혈을 기울여 출간한 서적인 만큼 저자의 노하우가 잘 녹아들어 있어 공부를 하거나 업무를 함에 있어 매우 도움이 될만한 서적이다

 

데이터가 매우 중요한 세상에서 RDBMS의 SQL을 다루는 능력은 매우 중요시 되고 있다

 

이 책을 통해 SQL을 마스터하고 나의 능력을 한단계 업그레이드 해보자

김상형? 많이 들어본 이름이다. 바로 '윈도우즈 API 정복'과 '안드로이드 프로그래밍 정복'의 저자이다. 다른 저서로는 닷넷 정복, 자바 정복이 있으며, 이 서적 'SQL 정복'도 그의 '정복' 시리즈중 하나이다.

SoEn(소프트웨어 공학 연구소. http://soen.kr)을 운영하면서 어느 한 주제를 깊이 있게 파헤치고 자신만의 노하우를 최대한 쉽게 많이 이들과 공유하려고 노력한다. 이 서적또한 저자의 SoEn에 공개한 프로그래밍 강의 시리즈이며, 한빛미디어의 '소문난 명강의'시리즈로 출간하게 되었다.

SQL이 기본 Query는 쉽게 배워 쓸 수 있으나 복잡한 데이터를 다루게 되면, 그 복잡한 데이터 만큼이나 난해하고 사용하기 쉽지 않다.

저자는 어느 한 DMBS에 종속되지 않도록 하기 위해서 오라클, SQL Server, MariaDB의 미세한 사용상의 차이점도 알려주며, SQL 언어 자체를 다루고 있다. 저자가 이야기 했듯 인터넷 검색을 통해 쉽게 SQL 구문을 사용할 수 있으나 개념이 체계적으로 잡히지 않으면 복잡해지면 어찌 감당할 수 없게된다. 명령어 자체는 목차에서 쉽게 찾아 필요한 명령을 학습할 수 있으며, 중반부 이후에는 조인, 뷰, 분석, 통계 등 고수준의  내용 및 커서, 트리거의 사용도 상세히 다루고 있다.

초보자를 위해 DBeaver와 같은 통합 쿼리툴에도 지면을 할애 하였고, 중간중간 주어졌던 연습문제의 해답도 비교적 친절한(?) 설명과 함께 부록에 담아 두었다.

4차 산업 혁명, 점점더 거대한 데이터베이스(빅데이터)를 다루는데 있어 SQL의 기본기는 더욱 절실히 요구된다 생각한다. 다년간 탄탄히 쌓아온 저자의 명성과 실력을 이 책 'SQL 정복'을 통해 더욱 많은 이들에게 도움이 되길 바란다.

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

표지

1.인트로

최근에 DB를 구축하고, SQL을 쓸일이 많이 생겼었다. 나는 대학교때 DB 수업시간말고는 SQL을 배워 본적이 없고, 사실 그 내용도 까먹었던 지라 꽤나 오래 구글링을 하면서 겨우 했던 기억이 있다. 그래서 SQL을 리뷰하고, 다시 제대로 공부해볼 생각으로 책을 찾고 있었는데, 우연히 강의와 함께 볼 수 있는 이 책을 제공 받게 되어서 한번 완벽하게 박살을 내보는 생각으로 펼치게 되었다.

2.메인 내용

목차

목차는 엄청 상세하게 되어있다. 무려 19장에 걸친 내용으로, DB의 전반적인 부분을 모두 다룬다.

깊이도 얕은 것이 아니라, 꽤나 상세하게 설명과 함께 그림을 통해 이해하기 쉽게 되어있다.

설명, 코드, 중간중간 연습문제의 구성으로 되어있으며 혼자 공부하면서도 따라가기 괜찮은 난이도로 되어 있다.

3.나의 생각

솔직하게 꽤나 기대를 많이 하고 책을 펼쳤다. 꽤나 많은 목차에 한번 압도 되고, 책의 두께에 2번 압도 되었다. 최근 SQL의 필요성을 엄청 느꼈기 때문에 매일 2장씩 본다는 생각으로 빡세게 진도를 나갔다. 일단 처음 든 생각은 꽤나 설명이 잘되어 있다. 솔직히 글로 읽는 것은 인강을 듣는 것보다 집중도가 떨어진다고 생각했다. 그런데 이 책은 두께만큼 내용 및 설명이 상세 하게 되어있어서 너무 좋았다. 필요없는 부분들만 빼고 보니까 꽤나 읽을만했다. 가면 갈수록 많이 어려워졌지만, 한달이면 충분히 마스터 할만한 수준인 것 같다.

 

4.총평

SQL관련 강의나, 책은 처음이여서 다른 책과 비교는 못하겠지만, 이 책 1권이면 충분히 SQL의 전반적인 내용을 공부할 수 있다고 생각한다. MYSQL, MSSQL, ORACLE, MariaDB 등의 대부분 RDBMS를 다루니 좋았다. SQL을 어떻게 시작할지 막막한 당신 이 책으로 시작해보는 것은 어떨까?

 

PS. Yes24에서 이 책이 무료 특별판으로 PDF가 제공되어있으니 관심있으면 다운받아서 보는 것을 추천한다.

http://www.yes24.com/Product/Goods/101637633

 

 

김상형의 SQL 정복 : 소문난 명강의 (무료특별판)

DBMS에 제약 없이 SQL을 활용한다!핵심 원리를 알려주는 SQL 바이블 DBMS 제품이나 개발툴이 아닌 SQL 언어 그 자체를 배우는 바이블 도서다. 특정 DBMS에 종속적인 사용법보다는 표준화된 데이터 관리

www.yes24.com

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."



결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 상품명 :
소문난 명강의 : 김상형의 SQL 정복
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
소문난 명강의 : 김상형의 SQL 정복
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
소문난 명강의 : 김상형의 SQL 정복
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실

최근 본 상품1