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

한빛출판네트워크

러닝 SQL

데이터 생성, 검색, 조작까지 데이터 제대로 주무르기

한빛미디어

번역서

판매중

  • 저자 : 앨런 볼리외
  • 번역 : 류수미 , 송희정
  • 출간 : 2021-03-30
  • 페이지 : 456 쪽
  • ISBN : 9791162244074
  • 물류코드 :10407
초급 초중급 중급 중고급 고급
4.8점 (35명)
좋아요 : 2

SQL 언어를 마스터하기 위한 필독서

 

태어난 지 40년이 넘은 SQL의 쓰임새는 데이터 전성시대를 맞아 확장하고 있다. 이 책은 개발자가 SQL 기본을 빨리 익히고 데이터베이스 애플리케이션 작성, 관리 작업 수행, 보고서 생성을 할 수 있게 도와주는 SQL 입문 가이드이다. 각 장에서는 다양한 그림과 주석이 달린 예제로 주요 SQL 개념과 기술을 학습하고 실습한다. 특히 입문서에서는 잘 다루지 않는 비관계형 데이터베이스에서 데이터를 쿼리하는 방법까지 한 권에 담았다. 

 

 

추천사

 

데이터로 의미 있는 정보를 찾아내려는 수요가 점점 커지는 가운데 데이터를 다루는 힘을 기르는 SQL은 필수인 시대가 되었습니다.

『러닝 SQL』은 데이터를 잘 다룰 수 있도록 SQL을 이해하고 실제로 실습해보려는 입문자를 위한 책입니다. 또한 이 책에 포함된 예제를 통해 SQL 쿼리의 사용법을 상황에 맞게 단계적으로 이해할 수 있어, 실무자들에게도 훌륭한 가이드를 제공합니다.

저자가 의도한 것 이상으로 MySQL에 대한 다양한 실무 경험을 녹여낸 양질의 번역은 역자가 이 책에 쏟아부은 시간과 노고, 열정을 가늠하게 합니다. 이 책을 처음 접하는 독자 여러분에게도 이러한 경험과 노하우가 전해지길 바랍니다.

신혜원 VMware Tanzu 팀, CTO 앰배서더

 

쿼리의 기초부터 고급까지 모두 다루는 이 책은 개발자뿐만 아니라 SQL을 공부하고 싶은 모든 직군의 사람들에게 최고의 입문서 중 하나가 아닐까 합니다.

최근 가장 널리 쓰이는 DBMS 중 하나인 MySQL로 작성한 예제와 함께, 가장 최신 버전이면서 주로 쓰이게 될 MySQL 8.0에서 새로 소개된 CTE, 윈도우 기능을 이용한 쿼리들도 다룹니다. 따라서 MySQL/MariaDB를 이용하거나 앞으로 이용하려는 분들에게 큰 도움을 줄 수 있을 것입니다.

MySQL DBA로서 실무를 담당하면서 받는 다양한 문의의 답변이 대부분 이 책에 담겨 있습니다. 게다가 파티션을 비롯한 테이블 설계와 인덱스 전략 부분까지 다루므로 MySQL/MariaDB를 다루는 분들이라면 또 하나의 필독서가 될 것입니다.

조민 카카오뱅크 MySQL 팀

 

IT 실무 담당자라면 백문이 불여일타라는 말에 공감하실 겁니다. 이미 안다고 생각한 내용도 직접 실습했을 때 비로소 온전한 자기 지식이 된다는 뜻입니다. 이 책은 이러한 실습을 통해 지식을 익히려는 분들께 큰 도움이 될 것입니다.

클라우드 시대에 접어들면서 데이터베이스 소프트웨어 자체는 클라우드 서비스 프로바이더가 관리하게 되어 DB 관리보다는 DB 활용이 더욱 중요해지고 있습니다. 특히 정해진 리포트 이외의 숨겨진 숫자를 찾기 위해서 IT 실무자가 아닌 현업 실무자들에게도 SQL 활용 능력이 요구됩니다. 자신의 기술을 DB 관리에서 DB 활용으로 바꾸려는 IT 실무자 여러분과 새롭게 SQL을 배우려는 현업 실무자 모두에게 좋은 길잡이가 될 것입니다.

이범석 아마존(AWS) Cloud Support 팀

 

 

 

 

상세이미지_러닝 SQL_700.jpg

 

저자

앨런 볼리외

30여 년간 사용자 지정 데이터베이스를 설계하고 구축했다. 주로 금융 서비스 부문에서 대형 데이터베이스의 설계, 개발 및 성능 튜닝을 전문으로 하는 컨설팅 비즈니스를 수행한다. 여가 시간은 가족과 함께 시간을 보내거나, 밴드에서 드럼 또는 테너 우쿨렐레를 연주하기도 하며, 종종 아내와 하이킹을 하면서 멋진 경치를 볼 수 있는 점심 식사 장소를 물색한다. 코넬 대학교에서 공학 학사 학위를 받았다.

역자

류수미

LG CNS 금융사업부에서 은행, 보험, 증권사를 포함한 금융권의 차세대 시스템, 방카슈랑스 및 BPR 등 다양한 프로젝트를 수행했다. JavaEE 환경에서 개발 및 아키텍처를 만들고 검증하는 아키텍트로 근무했다. 현재 오라클 MySQL GBU에서 근무 중이다. 지금까지 많은 고객사의 MySQL POC, BMT를 지원했으며 MySQL 행사뿐만 아니라 다양한 오픈소스 행사에서 MySQL 관련 발표 및 강의를 진행했다. 페이스북의 한국 MySQL 사용자 그룹 운영진으로 활동하고 있다.

역자

송희정

대우정보시스템 벤처포트 전자상거래 사업부에서 자바 웹 개발자로 근무했다. 이후 기술연구소로 옮겨 기술전략팀을 거친 뒤에 전사 표준 프레임워크 개발, 보급 및 JavaEE 기술 컨설팅 프로젝트를 수행했다. 오라클에서 미들웨어 엔지니어로 활동하다가 2012년 이후 오라클 교육사업본부에서 교육 컨설턴트로서 기업체 대상의 전문가 양성 과정 개발과 DT 기술 역량 확보 및 내재화 관련 컨설팅을 했다.

CHAPTER 1 배경

1.1 데이터베이스 소개

1.2 SQL

1.3 MySQL

1.4 SQL의 변화

1.5 이후 내용 소개

 

CHAPTER 2 데이터베이스 생성과 데이터 추가

2.1 MySQL 데이터베이스 생성

2.2 mysql 명령줄 도구 사용 방법

2.3 MySQL 자료형

2.4 테이블 생성

2.5 테이블 수정

2.6 좋은 구문을 망치는 경우

2.7 샤키라 데이터베이스

 

CHAPTER 3 쿼리 입문

3.1 쿼리 역학

3.2 쿼리 절

3.3 Select 절

3.4 From 절

3.5 Where 절

3.6 Group by 절과 having 절

3.7 Order by 절

3.8 학습 점검

 

CHAPTER 4 필터링

4.1 조건 평가

4.2 조건 작성

4.3 조건 유형

4.4 Null

4.5 학습 점검

 

CHAPTER 5 다중 테이블 쿼리

5.1 조인

5.2 세 개 이상 테이블 조인

5.3 셀프 조인

5.4 학습 점검

 

CHAPTER 6 집합 연산자

6.1 집합 이론

6.2 집합 이론 실습

6.3. 집합 연산자

6.4 집합 연산 규칙

6.5 학습 점검

 

CHAPTER 7 데이터 생성, 조작과 변환

7.1 문자열 데이터 처리

7.2 숫자 데이터 처리

7.3 시간 데이터 처리

7.4 변환 함수

7.5 학습 점검

 

CHAPTER 8 그룹화와 집계

8.1 그룹화의 개념

8.2 집계 함수

8.3 그룹 생성

8.4 그룹 필터조건

8.5 학습 점검

 

CHAPTER 9 서브쿼리

9.1 서브쿼리

9.2 서브쿼리의 유형

9.3 비상관 서브쿼리

9.4 상관 서브쿼리

9.5 서브쿼리를 사용하는 경우

9.6 서브쿼리 요약 정리

9.7 학습 점검

 

CHAPTER 10 조인 심화

10.1 외부 조인

10.2 교차 조인

10.3 자연 조인

10.4 학습 점검

 

CHAPTER 11 조건식

11.1 조건식

11.2 case 표현식

11.3 case 표현식의 예

11.4 학습 점검

 

CHAPTER 12 트랜잭션

12.1 다중 사용자 데이터베이스

12.2 트랜잭션

12.3 학습 점검

 

CHAPTER 13 인덱스와 제약조건

13.1 인덱스

13.2 제약조건

13.3 학습 점검

 

CHAPTER 14 뷰

14.1 뷰

14.2 뷰를 사용하는 이유

14.3 갱신 가능한 뷰

14.4 학습 점검

 

CHAPTER 15 메타데이터

15.1 데이터에 관한 데이터

15.2 정보 스키마

15.3 메타데이터로 작업하기

15.4 학습 점검

 

CHAPTER 16 분석 함수

16.1 분석 함수의 개념

16.2 순위

16.3 리포팅 함수

16.4 학습 점검

 

CHAPTER 17 대용량 데이터베이스 작업

17.1 분할

17.2 군집화

17.3 샤딩

17.4 빅데이터

 

CHAPTER 18 SQL과 빅데이터

18.1 아파치 드릴 소개

18.2 드릴로 파일 쿼리하기

18.3 드릴로 MySQL 쿼리하기

18.4 드릴로 몽고DB 쿼리하기

18.5 다양한 데이터소스를 사용한 드릴

18.6 SQL의 미래

 

APPENDIX A 예제 데이터베이스의 ER 다이어그램

APPENDIX B 실습문제 해답

출판사 리뷰

 

지금 당장 SQL 실무를 배우고 싶은 입문자라면 바로 이 책입니다!

이 책은 SQL 입문에 그치지 않고 다양한 조인과 롤업 등 고급 기능까지 함께 다룹니다. SQL을 시작하는 분들뿐만 아니라 한 권으로 살펴보는 SQL 참고서를 원하는 분들께 좋은 지침서가 될 것입니다.

 

왜 SQL을 배워야 할까요?

이 책의 독자 여러분이 데이터 과학이나 비즈니스 인텔리전스 또는 데이터 분석의 관련 분야 종사자라면, 관계형 데이터베이스의 사용 여부와 상관없이 파이썬이나 R과 같은 다른 프로그래밍 언어 및 플랫폼과 더불어 SQL을 알아야 합니다. 데이터는 어디에나 존재하고 급격하게 증가하며, 이러한 데이터로부터 유의미한 정보를 찾아내고자 하는 수요가 점점 커지고 있기 때문입니다.

 

왜 이 책을 읽어야 할까요?

시중에 ‘초보자를 위한’ 도서는 많지만 대부분 겉핥기식으로 훑는 경향이 있습니다. 이 책은 SQL이 제공하는 모든 명령문을 순차적으로 자세히 설명합니다. 본인에게 필요한 내용이 무엇인지 이미 잘 알고 있다면 유용하게 사용할 수 있는 안내서입니다.

 

SQL의 배경부터 살펴본 뒤 기초 문법을 설명하고, 여러분을 더욱 돋보이게 해줄 고급 기능을 적절한 난도로 진행하며 알아봅니다. 또한 입문서에서는 거의 다루지 않는 비관계형 데이터베이스에서 데이터를 쿼리하는 방법을 보여주며 마무리합니다.

 

  • SQL 기본과 다양한 고급 기능을 빠르게 알아봅니다.
  • SQL 데이터 문을 사용하여 데이터를 생성, 조작, 검색합니다.
  • SQL 스키마 문을 사용하여 테이블, 인덱스, 제약 조건과 같은 데이터베이스 개체를 생성합니다.
  • 데이터셋이 쿼리와 어떻게 상호작용하는지 알아보고 서브쿼리의 중요성을 이해합니다.
  • SQL 내장 함수를 사용하여 데이터를 변환 및 조작하고, 데이터 문에 조건식을 사용합니다.

 

  •  

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

    이번 리뷰단 활동으로 제공된 책은 러닝 SQL 입니다.

    주로 MYSQL을 사용하는 저에겐 이번 책이 참으로 반가웠는데요.

    그 이유는 이 책이 MYSQL을 토대로 쓰여서에요.

    해당 서적은 SQL의 배경부터 기초적인 SQL 문 그리고 마지막으로 대용량 작업까지 총 망라하는 서적이었어요.

    보통 기초적인 부분을 배우고서 실무에서 사용하면서 찾아보고 겪어보면서 배워가는 경우가 많은데

    기초적인 부분과 기본저인 부분 그리고 약간의 심화과정까지 책 한권에 어렵지 않고 간단하게 가르쳐주는 책이었어요

    장수가 넘어가면서 아 예전엔 이 부분 잘 몰랐었는데, 아 이 부분은 이런 식으로 설명하면 더 좋네 하며 알고 있던 부분도 쉽게 정립해보는 기회가 되었어요

    개인적으로 어느정도 연차가 되고 쿼리를 이미 이리저리 잘 다루시는 분들보다 이제 쿼리를 짜기 시작하는 분들에게 정말 추천하기 좋은 책인거 같아요.

    내가 겪은 것보다 더 쉽고 빠르게 얻을 수 있도록 도와줄 수 있고 두껍지도 않고 난이도도 높지않아서 정말 추천하게 되는 책입니다.

  • 20210418_223431.jpg

     

    이 책은 IT 서적을 전문적으로 출판하는 미국의 출판사 오라일리 미디어에서 출판된 책을 번역한 번역서이다. 원서의 경우 7만 원으로 매우 가격이 높다. 번역까지 되어있는데 절반도 안 되는 좋은 가격이다. 알만한 분들은 아시겠지만 번역 개발서의 경우 재판이 잘되지 않기 때문에 출판이 된다면 망설이지 말고 구입하는 것이 좋다.

    이전 여러 번역서들을 보면 해당 분야의 전문가가 아니 비전문가들이 번역한 책들이 많아서 개발 용어를 이상하게 번역하여 말이 안 되는 경우가 많았다. 그래서 개발 번역서를 비선호 하기도 하였는데 이 책을 번역하신 분들은 해당 분야의 전문가이면서 이름만 들어도 알 수 있는 회사에서 일을 하시고 계신 분들이라 번역된 내용에 대한 걱정은 하지 않아도 될 것 같다.

    책의 내용은 굉장히 군더더기 없이 심플하다. 아메리칸 스타일이라서 그런지 모르겠지만. 비 개발자에서 개발자로 전직을 하는 사람들보다는 기존 개발자 중에서 SQL이 필요한 사람들이 보면 좋을 것 같다. 아 참고로 제목은 SQL이지만 MySQL 8.0기준으로 설명이 되어 있는 책이다. 개발자라면 MS-Sql, MySql 정도는 들어 보았을 것이다. 그리고 MS-Sql은 유료, MySql은 무료이다. 기본적인 문법 같은 경우에는 양쪽이 다 비슷하고 점점 표준화되어 가고 있기에 SQL을 처음 공부하는 데 있어서는 유료보단 무료 쪽이 좋을 것 같다.

    효율적인 것을 좋아하는 개발자의 성격에 맞게 불필요한 내용 없이 꼭 필요한 내용들만 깔끔하게 정리되어 있다. 다른 면으론 좀 불친절해 보일 수 있지만 저 시간이 없는데 요점만 말씀해 주실래요?라는 말을 자주 한다거나, 아메리칸 스타일의 개발서로 공부를 하고 싶은 사람들에게 추천한다.

    책의 내용은 기초부터 응용 요즘 많이 들어본 빅데이터 처리까지 SQL로 할 수 있는 웬만한 것들 것 다 들어있다고 보면 된다.

    그래서 처음부터 끝까지 한 번에 공부하면서 읽은 것도 좋지만, 사전처럼 옆에 두고 개발하면서 필요한 것들을 찾아가면서 보기에도 좋은 책이라고 생각한다.

     

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

  •  

      
    러닝 SQL
    저자
    앨런 볼리외 지음, 류수미 외
    출판
    한빛미디어
    발매
    2021.03.30.


    이 세상은 수많은 데이터들의 집합으로 이루어져 있습니다. 단편화된 데이터들을 뭔가 의미있는 정보로 이끌어 내기 위해서는 데이터를 가공해서 보여줄수 있는 것이 필요합니다. 


    웹개발자나 데이터 분석 및 데이터 관련 종사자라면 당연히 SQL이 필요합니다. 


    데이터는 어디에나 존재하고 급격하게 증가하며, 데이터에서 유의미한 정보를 찾아낼려고 하는 수요는 점점 커지고 있기 때문입니다.

     

     이번에 한빛미디어에서 [러닝SQL]라는 책을 출판하였습니다. 발매한지 한달도 안된 따끈따끈한 신작입니다. 

     [러닝 SQL]은 쿼리의 기초부터 고급까지 모두 다루고 있으며 이책은 개발자 뿐만 아니라 SQL을 공부하고 싶은 직군의 사람에겐 최고의 입문서가 될것입니다. 

    이 책은 총 18개 장과 2개 부록으로 구성되어 있습니다. 

     1장은 배경에서는 관계형 모델과 SQL의 등장을 비롯하여 데이터의 역사에 대해서 알아봅니다. 

    2장은 MYSQL 데이터베이스를 생성한뒤 이 책의 예제를 이용하여 테이블을 생성하고, 해당 테이블에 데이터를 채우는 방법을 보여줍니다. 


    3장에서는 Select 문은 소개하고 가장 일반적인 (select, from,where)을 보여줍니다. 

     4장은 필터링에 관한 내용으로서 select, update또는 delete 문을 사용할 수 있는 다양한 유형의 조건을 보여줍니다. 


    5장에서는 테이블 조인을 통해 쿼리가 여러 테이블을 활용하는 방법을 보여줍니다.  


    6장의 집한 연사자에서는 데이터셋을 소개하고 쿼리 내에서 상호작용하는 방법을 알려줍니다.  


    7장 데이터 생성 및 조작과 변환에서는 데이터 조작 또는 변환에 필요한 몇가지 내장 함수를 보여줍니다.  


    8장 그룹화와 집계편에서는 데이터를 집계하고 그룹화하는 과정에 대해서 설명합니다.  


    9장 서브쿼리를 소개하고 어디에서 어떻게 활용할 수 있는지 보여줍니다.  


    10장 조인 심화편에서는 다양한 유형의 데이터 조인에 대해서 알아봅니다.  


    11장 조건식에서는 select, insert, update, delete 문에 활용 할 우 있는 조건식(if-then-else)에 대해서 살펴봅니다.  


    12장 트랜잭션에 대해서 소개하고 사용하는 방법을 보여줍니다.  


    13장 인덱스의 종류와 제약조건에 대해서 살펴봅니다.  


    14장 데이터 복잡성으로부터 사용자를 보호하는 인터페이스를 구축하는 방법을 보여줍니다. 


    15장에서는 메타데이타라고 하는 이 정보의 저장 방법, 위치, 액세스 방법 및 이정보를 사용하여 유연한 시스템을 구축하는 방법을 설명합니다.  


    16장 분석함수에서는 보고 및 분석에 많이 쓰이는 순위와 소계, 기타 값 생성에 필요한 기능을 다룹니다.  


    17장 대용량 데이터베이스를 더 쉽게 관리하고 탐색할 수 있는 기법을 보여줍니다.  


    18장 SQL과 빅데이터편에서는 비 관계형 데이터 플랫폼에서 데이터를 검색 할 수 있도록 SQL변환을 알아봅니다. 


    부록 A 예제 데이터베이스의 ER 다이어 그램 


    이 책의 모든 예제에서 사용한 데이터베이스 스키마를 보여줍니다.  


    부록B 실습문제 해답 


    각 장 실습문제의 해답을 보여줍니다. 

     

    끝으로

     

     


    SQL 입문자에게는 아주 좋은 가이드가 될것입니다. 특히 데이터를 잘 다룰수 있도록 SQL에 대해서 이해하고 실제로 실습과 예제를 통하여 SQL의 사용법을 상황에 맞게 단계적으로 잘 이해 할 수 있어, 실무자에게 있어서도 훌륭한 가이드를 제공합니다.

     

     


    SQL공부를 어떻게 시작해야 할지 모르시겠다면 이 책이 훌륭한 가이드가 되어줄 것입니다.

     

     

  • SQL (structured query language)이란 데이터베이스를 사용할 때, 데이터베이스에 접근할 수 있는 데이터베이스 하부 언어를 말하는데요. 

     

    급격하게 변화하고 있는 IT 세상에서 SQL은 40년 이상의 역사를 자랑한 관계형 데이터베이스에서 데이터를 생성, 조작하고 검색한 언어입니다. 새로운 언어들이 탄생하고 사라지는 시점에서 40년 넘은 SQL의 데이터에 관련된 저서는 많이 있습니다.

     

    그중에 MySQL을 기준으로 SQL을 다루는 저서를 쉽게 찾기는 쉽지 않습니다. 그리고 대부분 SQL 도서가 주로 오라클 데이터베이스 또는 SQL 서버 기준으로 예제를 제공하는데요. 이번 러닝 SQL은 그런 점을 해소 시켜주는 점이 큰 장점입니다. 주요 개념들은 SQL 지침서라고 할 정도 탄탄하고 예제가 MySQL 데이터베이스 기반으로 제공되므로, 데이터베이스 지식을 가지고 있으면서 MySQL로 구현하는 방법에 도움을 받을 수 있습니다. 구성이 MySQL에서 사용하는 구문만 제공하는 게 아니라 해당 기능이 오라클 데이터베이스와 SQL 서버에서 어떻게 제공되는 지까지 함께 다룬다는 점이 이 저서의 큰 장정입니다.

     

    러닝 SQL은 입문 관련 지식을 넘어서 조인과 롤업 등의 고급 기능에 대한 개념과 예제들을 다양하게 담고 있습니다. 총 18개 장과 2개의 부록으로 구성되어 있습니다. 1장에서는 관계형 모델과 SQL의 등장 등 역사에 대한 내용을 간략하게 알아봅니다.

     

    본격적으로 개념을 공부하기 위해 2장 데이터베이스 생성과 데이터 추가인 MySQL 데이터베이스를 생성한 뒤 예제를 이용한 테이블 생성, 해당 테이블에 데이터 채우는 방법부터 쿼리 입문, 필터링, 데이터 검색, 조인, 그룹화 및 정렬 방법을 기본적인 이해 등 18장 SQL과 빅데이터에 관련된 비관계형 데이터 플랫폼에서 데이터를 검색할 수 있도록 SQL 변환에 대해 알아볼 수 있습니다.

     

    업무를 하다 보면 하나의 데이터베이스만 사용할 때도 있지만 프로젝트마다 다른 데이터베이스를 사용해야 할 때도 많은데 데이터베이스마다 다르게 제공되는 함수 등의 한 권으로 확인하고 비교해 볼 수 있는 점, 개념을 확실하게 이해할 수 있게 기본적인 개념 설명과 다양한 개념을 이용한 예제 파일이 있어서 그 개념을 확실하게 익히고 넘어 갈 수 있습니다. 살짝 첫 느낌은 전공서적 같은 느낌이 읽다보면 공부하는데 믿은직한 매력을 줍니다. 데이터 생성, 조작 및 검색까지 데이터 제대로 주무르기를 해보시길 추천합니다. 

     

    SQL 역시 책만 봐서는 이해하기 쉽지 않은 부분들이 많은 만큼, 이 책과 함께 비관계형 데이터베이스에서 데이터를 쿼리하는 방번까지 함께 담겨져 있는 러닝 SQL와 함께 오픈 소스를 제공되는 MySQL 데이터베이스를 활용해서 직접 SQL을 작성해봄으로써 여러분의 SQL 실력을 높일 수 있습니다.

     

  •  

    러닝SQL / 앨런 볼리외

    20210418_234304.jpg

     

    [책을 읽은 시점의 SQL 수준]

    저는 SQL을 강의로 배웠습니다. 책으로 SQL을 본 것은 처음이었고요. 현업에서 SQL을 사용한지는 이제 약 5개월 정도 되었고요. 어느 정도 원하는 데이터를 추출하는 데에는 무리가 없는 수준입니다.

     

    [이 책을 선택한 이유& 추천하는 이유]

    • 1에서 10까지의 문법책이 아니다.

    이제 막 시작하는 분들도 물론 예제를 따라하면서 배우는 데에 무리는 없습니다. 하지만 대부분의 프로그래밍 학습이 그러하듯이, 책으로 독파를 시작하는 것보다는 저처럼 강의를 먼저 한 번쯤 들어보시고, 해커랭크나 리트코드의 문제 정도는 풀어보시길 권합니다.

    문법 학습을 위한 문법책 보다는 전체적으로 기능을 훑고 디테일하게 놓친 부분을 잡고 싶어서 이 책을 선택했습니다. 빠지지 않게 모든 걸 담고 있으면서 처음부터 훑어내리기에 부담이 없는 책입니다.

    • 80%는 알지만 나머지 20%에서 깨달음을 얻고 싶었다.

    "select 절은 select 문의 첫 번째 절이지만 데이터베이스 서버가 판단하는 마지막 절 중 하나입니다. 최종 결과셋에 포함할 항목을 결정하려면 최종 결과셋에 포함될 수 있는 모든 열을 먼저 알아야 하기 때문입니다."

    신기하게도 아는 말이지만 이렇게 풀어서 들으면 이 지점에서 깨닫는 부분이 있거든요. 10문장 중에 아는 말이 80%라면 아깝게 느껴질 수도 있는데요. 오히려 거기서 얻는게 더 많습니다. 그러니 백지에서 시작하셨더라도 어느 정도 숙련이 된 뒤에 다시 읽어보시기를 추천합니다.

    괜히 이 책의 서두에서 "본인에게 필요한 내용이 무엇인지 이미 잘 알고 있다면 유용하게 사용할 수 있는 안내서입니다."라고 말하는 것이 아닙니다.

    • 다양한 데이터베이스를 비교한다.

    이 책은 MySQL을 기본으로 합니다. 저는 다른 책은 안 읽어봤는데 옮긴이의 설명을 보니 드문 경우라고 하더군요. 그런데 상당히 많은 부분 — 거의 매 문법 설명 끝에 오라클이나 SQL서버, 혹은 그 이전 버전과 어떻게 다른지 조금씩 설명을 덧붙이고 있습니다. 현업에 계신다면 느끼시겠지만 이게 은근 정말 유용합니다.

    • 비관계형 데이터베이스에 관한 설명 첨부

    "입문서에서는 거의 다루지 않는" 이 부분이 큰 포인트였습니다. 실제로 hivql을 사용하고 있기도 했거든요. 쿼리 작성 자체는 익숙하지만 SQL 자체에는 여전히 초보레벨이라서 하둡 관련된 전문서적은 너무 어렵고, 그런데 궁금하기는 하고. 그래서 입문서에 붙어있다는 점이 마음에 들었습니다.

    사실 자세한 설명이 있는 건 아닌데, 그게 이 책의 주제는 아니기 때문에 생각했던 입문서적에 붙은 설명 정도가 맞습니다. 다음은 이를 바탕으로 해서 어떤 쪽으로 깊게 파볼지 정해보려고 합니다.

    쿼리를 아무리 잘 짠다고 해도 한 번은 이런 문법책을 읽어야 한다고 생각합니다. 원리를 좀 더 명확하게 알고 짜는 쿼리와 그렇지 않은 쿼리는 확실히 다르니까요. 그게 결과적으로 변화가 없다고 하더라도요. (예를들어 3개 이상의 JOIN을 할 때 항상 순서가 신경쓰였는데, 상관없다고 합니다. 이 가벼운 마음을 어떻게 표현할지..) SQL을 한 번 학습하셨던 분들에게 이 책을 추천합니다.

     

    #러닝SQL #한빛미디어

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

     

  • 항상 오렐리 / 한빛미디어 도서는 포스가 있다.

    데이터 생성, 검색, 조작까지 데이터 제대로 주무르기

     

    앨런 볼리외 저 / 류수미, 송회정 역

     

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

     

     

    4월의 나는 리뷰어다 활동 책은 앨런 볼리외의 Learning SQL이다.

     

    개발자로 근무하면서 SQL 기본서들은 보았지만, 좀 더 깊은 내용의 책은 접해본 적이 없어서 이번 기회에 신청하게 되었고,

    한빛미디어는 다행스럽게도 내게 이 책을 배송해 주었다. (항상 감사합니다! 한빛미디어!!)

     

    언젠가부터 쿼리문을 작성하게 되면 예전에 작성했던 쿼리문을 보면서 조금씩 수정해 가면서 개발을 했다.

    매번 이러면 안 되는데 라고 생각하면서도 시간에 쫓기다 보니, 우선 원하는 결과물을 만들어 놓고 나중에 다시 봐야지~라고 생각은 했건만.

     

    사람이라는 게 직장인이라는 게 그게 참 쉽지가 않다.

    아무튼 SQL과 책에 대해서 보도록 하자.

     

    기본적으로 데이터베이스, 그리고 데이터를 다루는 것은 SQL이다.

    전통적으로 SQL은 RDBMS에서 데이터를 다뤄왔다. 최근 NoSQL이 빅데이터와 더불어 크게 성장하면서 데이터를 다루는 것에 대한 관심이 크게 높아졌고, 전형적인 개발자가 아니라 하더라도 데이터를 다루는 것에 대한 학습 수요는 점점 커지고 있는 상황이다.

     

    그리하여, 이번 리뷰에서 꼭 하고 싶었던 말은

     

    "개발자가 아니더라도 데이터를 본인의 입맛에 맞게 다루고 싶다면 공부하세요. SQL"

     

    이다. 단순히 SELECT문 한 번이라도 날려보면 데이터를 조작하고 싶은 흥미가 분명히 생길 거라고 확신한다.

     

    책의 구성을 좀 보자.

    옮긴이의 말을 보면 입문에 그치지 않고 고급 기능까지 다룬다고 한다.

    그렇다.

    시중의 책들, 특히 특정 데이터베이스를 다루는 법을 소개하는 책을 보면 입문 수준인 경우가 많고, 특히 MySQL을 좀 더 심도 있게 다루는 책은 많지 않다.

    (개인 의견입니다. 분명히 좋은 책들이 많이 있겠죠 ^^;)

     

    목차만 봐도 어느 정도 느낌이 온다. 총 18개 장으로 구성이 되어 있는데 9장까지는 보통의 책이 가지는 순서와 비슷하다 생각되지만,

     

    10장 조인 심화

    11장 조건식

    12장 트랜잭션

    13장 인덱스와 제약조건

     

    등등..

     

    기본 입문서에서는 깊게 다루지 않는 부분까지도 학습할 수 있고,

     

    17장 대용량 데이터베이스 작업

    18장 SQL과 빅데이터

     

    챕터에서는 대용량 데이터베이스를 어떻게 다루는지에 대한 부분도 있다.

    SQL의 기본부터 심화, 그리고 빅데이터에 대한 욕구까지도 다루고 있는 좋은 책이라는 이야기다.

     

     

    또한 책의 예제에 사용된 데이터 실습을 위해서,

     

    www.katacoda.com/mysql-db-sandbox/scenarios/mysql-sandbox

     

     

    MySQL Sandbox | mysql-db-sandbox | Katacoda

    Practice SQL queries on a MySQL server using the Sakila sample database

    www.katacoda.com

    의 시나리오도 제공하니, 본인의 로컬 컴퓨터에 MySQL을 설치하느라 끙끙대지 않아도 된다.

     

    초기 세팅 완료 후 캡쳐

    (macOS 기분의 캡처 화면입니다. 윈도우 OS는 조금 다를 수도 있을 것 같지만 아마 비슷할 것 같아요.)

     

    하지만 개인적인 의견으로는 자신의 컴퓨터에 MySQL 서버를 설치해보길 추천한다.

    (시간을 많이 뺏길 수도 있지만, 설치 과정도 공부에 분명히 도움이 된다고 생각해요.)

     

    mysql 클라이언트를 통하여 명령어도 치고, 영타 속도도 늘리고 직관적인 데이터 조작법을 러닝 SQL을 통하여 공부하자.

     

    그리고 중요한 부분은 아니지만, 페이지 내에 텍스트와 이미지의 배치가 가독성이 너무 좋다.

    어떤 책들은 책을 열자마자 숨이 막히기도 하는데 이런 류의 책들이 내게는 더 잘 읽히는 것 같다.

     

    그리고 매 챕터의 끝에 실습문제가 있으니 꼭 풀어보자. 개발이란게 맨날 책 본다고 늘지 않더라. 공부한 것을 활용하여 직접 개발해봐야 실력이 느는 것은 너무 당연한 말이다.

     

    아직 책을 다 보진 못했지만 이 책은 어떻게든 끝까지 볼 것이다.

     

    결론적으로!!

    내게 러닝 SQL이란,

     

    기본부터 잘 구성되어 있는 책이고, 생각 없이 컨씌컨븨 했던 지난날들의 반성과 왜 그렇게 했는지에 대한 이해를 제공해주는,

    본인의 개발자 인생에서 SQL을 다루는 자세에 대한 부분을 많이 바꿔 준 좋은 책이다.

     

    추천! SQL을 제대로 하고자 한다면 정말 추천하는 책입니다!!

  • > 진행에 앞서

    SQL 관련 책을 오랫만에 보게 된 것 같다.

    학부때 공부한 이후로, 쉬운 책을 몇 번 접하기는 했으나, 취직한 이후로는 안드로이드 개발자로 살아왔기에, 실제 실무에서는 크게 다룰 일이 없었기 때문일 듯 싶다.

    서버 개발자라면 많이 다뤘을 주제이지만, 안드로이드 개발자로서는 SQLite 정도가 전부였다.

    그래도 모를수는 없는 전산학의 기본중의 기본이기 때문에 알아야 하는 부분이기 때문에 관심은 항상 있었다.

     

    > 책에 대한 간단한 정보

    그러던 중 이 책을 접했다.

    SQL에 대해 어떤 내용이 적혀있는지는 알 수 없었지만, 두께도 적당했고, 완전 초보자를 위한 내용이 적혀있는 것으로 보이지 않는 목차가 눈에 띄었다.

     

    18개의 챕터로 되어있는 것을 보면서 드는 또 하나의 생각으로는 누군가에게 학습용으로 가르치고 배우기 좋다는 생각도 들었다. 물론 스터디 그룹도 해당된다.

     

     

     

    > 인상깊은 부분들

     

    눈에 띄는 부분들이 몇 군데 있었는데, 그 중 몇 개만 기록하자면 다음과 같았다.

    SQL 자체에 대해 생각보다 디테일한 정의를 말하고 있는 부분이다.

     

    비 절차적 언어라는 측면에서 SQL을 바라본 적은 없었다.

    하지만, 그런 관점에서 설명하고나니 뭔가 하나의 언어로서 대할 수 있도록 만들어 준 느낌이다.

     

     

    그리고, 조인과 같은 부분이 나오는건 어찌보면 당연하기 때문에 특별할 것은 없지만, 이에 대해 심화로 다룬 부분은 인상깊었다. 사실 조인은 그냥 하면 되지 않나 생각을 하고 넘어가기도 하지만, 닥쳐오는 상황은 여러 상황이 있을 수 있는데, 이에 대해 상황별로 적용할 수 있도록 다양한 조인에 대해 언급하고 있다.

     

     

    그리고, 학습에 대해 초점을 맞춘 책이니만큼, 학습 점검에 대한 부분이 각 챕터별로 할당되어 있었다.

    그래서 문제가 나오고, 해당되는 답이 책의 맨 뒤에 적혀있다.

    그래서 이런것들로 인해 한 번 더 생각하게 만들었다. 이런 부분이 중요하다고 생각한건 사실 책을 보면서 학습할 때에는 그런가보다... 혹은 당연하다는 것으로 생각할 수 있는데, 막상 그렇게 넘어갈 경우 제대로 내용을 파악하지 못했을 가능성이 높다.

    따라서 그렇게 되지 않도록 노력하는 부분이 필요하다. 퀴즈는 그런 부분을 보강해 주는 좋은 도구가 된다고 생각하기 때문에 인상깊게 와 닿았다.

     

    책의 뒷 표지 부분에는 각 분야에서 일하시는 분들의 추천으로 좀 더 신뢰를 주고 있고, 추가로 관련 도서를 보고 싶도록 만들고 있다고 생각한다.

     

     

     

    > 괜찮은 부분

    1. 학습에 포커스를 맞췄다.

    학습이 필요한 사람이 볼 수 있도록 책의 제목부터 러닝 SQL이다. 제목만 이럴 것이다 라고 생각을 했지만, 들여다볼수록 학습을 신경 썼다는 생각이 들었다. 대표적으로 각 챕터 마지막에 적혀있는 실습 문제에 대한 부분이었다. 그 외에도 이론적인 부분부터 차근히 업그레이드 시켜주는 느낌의 목차 배치가 학습에 도움이 되도록 했다는 생각이 들었다.

     

    2. 넓은 학습 범위

    1번과 이어지는 장점이 될 것 같은데, 처음이나 아직 제대로 개념잡히지 않은 사람이 SQL을 배우고 싶어서 이 책을 보는 경우 초보적인 개념부터, SQL문을 잘 만들 수 있는 부분에 이르기까지 학습범위가 넓게 되어있다. 물론 더 고급적인 문장을 만들기 위해서는 다른 책을 추가로 접해야겠지만, 여기에 수록된 내용만으로도 어느정도 실무에서 도움이 될 내용이라고 생각이 든다. 기초 없이 응용이 불가능하기 때문이다.

     

    3. 하나의 실습 예제로 전체를 다룸

    ER다이어그램도 부록에 수록되어 있지만, 하나의 예제 데이터베이스를 기반으로 이 책 전체를 커버한다. 그래서 실제 하나의 시스템이 존재한다고 가정하고 그것을 자유자재로 다루면서 실습하는 느낌이 들도록 하였다고 생각이 든다. 또한 예제가 바뀌지 않기 때문에, 예제에 집중하기보다는 그 안에 담긴 내용에 더 집중하도록 만들었다는 생각이 든다.

     

    > 아쉬운 부분

    1. RDBMS에 대해서만 다룸

    SQL이 RDBMS에 대한 부분을 뜻하기 때문일까. NoSQL에 대한 언급이 끝에 살짝 나오기는 하지만, 크게 다루지는 않는다. 목차를 보고서 NoSQL에 대해서 어느정도 다뤘을 것이라고 착각을 해서인지 이 부분은 아쉬웠다. 오히려 예제의 일부를 발췌해서 RDBMS에서는 이렇게 다루지만, NoSQL로 가져왔을 경우에는 어떻게 활용이 가능할 것이라는 정도의 수록이 있었다면 좀 더 와닿는 부분도 크고, 트렌드에 맞춘 지식도 어느정도 커버할 수 있었을 것이라고 생각했다.

     

    2. 각 내용을 발췌해서 보기는 어려움

    학습에 포커싱을 맞춰서 그런것일 수도 있으나, 전체를 다 본다면 상관없겠지만, 내용을 일부 발췌해서 보고 싶은 경우 해당하는 주제나 키워드를 찾아서 보기는 어려워보였다. 가령 함수를 찾고 싶을 때에도 여러페이지를 넘겨가며 내용을 보면서 찾지 않으면 눈에 잘 띄지 않는다.

     

    3. 데이터베이스 도구 설명 필요

    데이터베이스를 다루기 위해서는 일반적으로 커맨드 창만을 활용하지는 않는다. 실무에서는 여러 도구를 사용하게 될 텐데, 그에 대한 소개가 부족해 보인다. 실제 책의 내용을 도구 기반으로 설명할 필요는 없지만, 어느정도의 지면을 할당하여 도구를 알려주었더라면, 그 각각의 장단점을 알고 활용하는 데 도움이 되지 않았을까 생각이 든다.

     

    > 개인적인 평점

    - 가격: 5 / 10

    - 내용: 7 / 10

    - 디자인: 6 / 10

    - 구성: 6 / 10

     

    > 정보

    저자: 앨런 볼리외

    옮긴이: 류수미, 송희정

    출판사: 한빛미디어

    가격: 30,000원

    전체 페이지: 455페이지

     

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

    • 책의 구성과 개요

    SQL의 전반을 깔끔하게 그리고 단계별로 잘 정리한 책이다. 다루고 있는 내용을 간단히 정리하면 다음과 같다.

    RDBMS가 탄생하기까지 역사의 전반과 시대적 필요성을 훑어본 후 데이터베이스를 설치하고 실습할 데이터를 마련한다. 이후 기본적인 CRUD를 다룬 후, Where 절에 해당하는 필터링을 배운다.

    다중 테이블을 기반으로 한 기본 조인, 데카르트 연산에 속하는 수학의 집합 연산, 자주 활용하는 데이터의 기본 조작을 다룬다. 이어서 SQL 연산 중 가장 많이 활용되는 집계 연산과 목적을 달성하기 위한 임시 거처 서브쿼리를 익힌다.

    10장부터는 중급 수준에 첫 발을 내딛는데 OUTER JOIN과 같은 심화과정의 조인에 대해 학습한다. RDBMS의 이름에서도 알 수 있듯 여러 테이블 간의 관계가 가장 중요한 개념이기 때문에 이 Join 연산을 자유 자재로 다룰 수 있어야 의미있는 데이터 활용이나 분석을 위한 내공을 쌓을 수 있다. 개인적으로 10장은 가장 중요한 장이라 생각한다.

    이어서 Case문을 학습하고 트랜잭션의 기본 개념을 다룬다. 트랜잭션 또한 RDBMS의 중요한 개념 중 하나인데 ACID를 보장하기 위해 하나의 트랜잭션을 Lock을 통해 보호하는 과정을 쉽게 잘 설명하고 있다.

    다음으로 설명하는 인덱스와 각종 제약조건은 성능과 RDBMS의 특성을 유지하기 위한 수단으로 중요한 개념들이며 View, Metadata로 보다 편리한 데이터 활용 방법을 익힌다. 그 외 한 차원 높은 분석을 위한 데이터 윈도우나 리포팅 함수를 익히며 파티션을 통한 대용량 데이터베이스 처리 기술을 익힌다.

    마지막으로는 아파치 오픈 소스인 드릴을 소개하며 MongoDB를 SQL로 접근하는 방법을 익히게 되는데 RDBMS 자체에 그치지 않고 NoSQL 진영과의 호환성을 고려한 점이 인상적이었다.


    • SQL의 중요성

    SQL을 실전에서 20년 가까이 다뤄온 사람으로써 이 정도면 SQL을 고급으로 다루는 데 필요한 80%의 기초는 충실히 반영한 책이라고 평가하고 싶다.

    SQL은 RDBMS를 다루기 위한 태생적인 목적으로도 중요하지만, 특히 요즘은 더 중요한 스킬이 된 것 같다. AI와 빅데이터 시대에 수요가 높아졌기 때문이다. 데이터는 성격에 따라 RDBMS와 같은 Tabular 성격의 정형데이터만 존재하는 것도 아니고, Json과 같은 반정형 데이터에서부터 이미지, 텍스트와 같은 비정형 데이터도 존재한다.

    지금까지 인류가 쌓아 온 대다수의 유의미한 지식들이 여전히 RDBMS로 구축되어 있는데다 SQL이 가지고 있는 깔끔함과 쉬운 난이도라는 장점 때문에 NoSQL 진영 반정형 데이터의 영역도 SQL로 접근하려는 시도가 지속적으로 이어지고 있다. 이 책 18장에서 다루는 아파치 드릴이 그런 시도 중 하나이다. Hadoop 에코 진영의 Hive도 마찬가지다.

    데이터 분석 진영에서의 변화에서도 SQL의 중요성을 느낄 수 있다. R의 데이터프레임은 정형 데이터를 분석하는데 가장 많이 활용하는 데이터 구조인데 자체 기능 외 SQL을 활용할 수 있도록 지원하고 있으며, Python의 Pandas는 SQL을 지원하지는 않지만, SQL로 필요로 하는 데이터 구조에 가깝게 미리 추출해 놓는다면 이어지는 Pandas의 분석이 얼마나 수월해지는지는 실전에서 경험해 본 사람이라면 누구나 공감할 것이다.

    Python의 특성이 어떤 표현이든 사용할 수 있다는 유연성에 있다면 그만큼 다양한 분석 방법이 존재하여 유지보수하거나 커뮤니케이션 하는 측면에서는 어려움이 있는 것 또한 사실이다. 단 몇 줄의 SQL의 실행결과와 동일한 결과를 구현하기 위해 Pandas로 접근하면 코드 라인이 길어지거나 중복 단어를 여러번 중첩해서 사용해야 하는 불편함이 있기 때문이다.

    물론 SQL은 통계학에서 말하는 기초 통계 수준의 연산과 가공을 완벽하게 지원하기에는 비 효율적인 측면이 분명히 있으며, 나아가 추론 통계에 적용하기에 적합한 형태가 아니며, 2차원처럼 보이지만 컬럼 축의 변환이 불가능한 고정형으로 되어있다. 나아가 머신러닝에 적용하는 것은 더욱 비효율적이며 딥러닝과 같은 비정형 데이터는 커버를 못한다.

    따라서 이런 장단점을 십분 활용하여 Python(R)과 SQL 간 적정 경계선을 찾는 능력이 중요하다. 데이터 분석 진영의 최근 핫한 프로그램들이 커버하기 비효율적인 부분을 SQL로 커버한다면 시간이 생명인 요즘 생산성이나 가독성을 높이는데 큰 도움이 될 것이다.

    이 책을 추천하고 싶은 이유 중 하나는 이런 시대적 필요성을 반영하는 목적에 충실하도록 쓰여졌다는 점을 들 수 있겠다.


    • 책의 장점

      • 책의 가장 큰 장점은 SQL을 쉽게 익힐 수 있도록 단계적으로 깔끔하게 설명하는 구성이라고 할 수 있다. 쉽고 구현 가능한 눈에 보이는 것을 먼저 시작하여 조금씩 살을 붙여나가며 중간중간 상세한 설명으로 보충하고 있어 가독성이 뛰어난 책이라는 생각이 들었다.

      • 오라클 중심의 SQL 책은 시중에 많지만, MySQL이 중심이 된 책은 찾기 어렵다.

      • MySQL만 다루고 그치는 것이 아니라 Oracle이나 SQL서버에서 활용 방식이 다른 경우 함께 설명하고 있어 SQL 진영 종사자라면 누구에게나 도움이 될 만한 책이다. MariaDB는 이미 많은 분들이 알고 있듯 아파치 재단과의 싸움끝에 MySQL 원년 개발자들이 뛰쳐나와 만든 DB이기에 굳이 추가적인 설명은 필요 없을 듯 하다.

      • RDBMS에만 국한되는 것이 아니라 연계되어 활용될 수 있는 확장성도 고려한 점이 마음에 들었다. 아파치 드릴을 다룬 것이 그런 예시라 할 수 있다.

      • 각 단원 마지막에 예시들이 배운 내용을 복습하고 정리하는데 알맞은 수준으로 잘 구성되어 있다.


    • 책의 단점

      • 10장 조인 심화 부분의 내용이 아쉬웠다. SQL을 접하면서 중급에서 고급으로 넘어가는 걸림돌이 하나 있다면 Outer Join을 들 수 있겠다. 단순 Outer Join이라면 그리 어려울 것이 없으나 일부 컬럼에만 Outer Join이 걸린다면 머릿속으로 전체 데이터 결과의 형상이 직관적으로 떠 오르지 않게 된다. 그런 부분들을 보다 심도있게 다뤘다면 더욱 각광을 받지 않았을까 싶다.

      • SQL92 표준을 다룬 것은 좋았으나 ANSI 표준 전반을 같이 언급, 비교하는 시도도 있었으면 했다. 이 책의 큰 장점 중 하나가 위에서 언급한대로 각 분야의 연계부분도 고려한 호환성이라 할 수 있겠는데, SQL92만 다룬 점은 대통합에 2% 부족한 약간 아쉬운 느낌이다.

        진영마다 말은 많지만 outer join을 단순히 (+) 기호로만 표현한다는 것은 가독성 측면에 도움이 되고, 코드라인의 길이를 줄여 오류에 대한 잠재가능성을 낮춰준다는 점에서 분명 다룰만한 가치가 있기 때문이다.


    어느 책이나 그렇듯이 명작도 난이도와 눈높이를 맞추지 못한 독자가 읽으면 졸작이 되는 법이기에 난이도도 추가로 언급하려 한다.

    데이터나 SQL을 전혀 다루지 않은 왕초보 분들이라면 조금 어렵게 느껴질 수 있으며, SQL이 처음일지라도 엑셀 등으로 데이터에 친숙하거나 감이 좋은 분들이라면 처음부터 이 책으로 시작해도 괜찮을 거라 생각한다. 반면 일부 컬럼만 활용한 Outer Join에 능숙한 분이라면 혹은 그 이상의 실력이 있는 분들께는 너무 쉬운 책이 되어 많은 것을 얻지는 못할 것이다.

    총평을 내리자면 전반적으로 SQL을 사고의 흐름에 맞춰 깔끔하게 정리하고 있어 SQL을 처음으로 익히는 분들이 좋은 메타 지식을 형성하기에 도움이 될 만한 책이라는 평을 내리고 싶다. SQL에 입문하거나 데이터 분석 업계 종사자 분들 중 SQL을 처음으로 배우는 분들께 추천하고 싶다.


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

  • 기본적으로 이 책은 18개 챕터와

    부록으로 이뤄져 있습니다.

    또한, 책의 예제와 샘플 데이터를 제공함으로써

    실습 환경이 뛰어나 금방 익힐 수 있도록 제공합니다.

    보통 시중에 나와있는 SQL 책을 비교해봤을 때

    초보자를 위한 도서는 많지만 대부분 겉핥기 식으로

    흝고 끝나는 경우가 많습니다.

    이 책은 SQL이 제공하는 모든 명령문을 순차적으로

    자세히 설명하고 입문서에 보통 다루지 않는

    비관계형 데이터베이스에서 데이터를 쿼리하는 방법을

    알려줌으로써 마무리하게 됩니다.

    저는 이 책이 과하게 친절하다 할 정도로

    책의 두께가 두꺼운 이유를 알았습니다.

    초보자들도 쉽게 따라 할 수 있고 부과적인 설명이

    많아서 SQL을 배우는데 전혀 문제가 없었습니다.

    또한,

    초보자들에게도 좋지만 기존에 SQL에 익숙한 사람들도

    교과서처럼 두고 필요할 때 꺼내보기 좋습니다.

    데이터와 관련된 직군을 선택하고 준비할 때

    다른 언어보다는 SQL부터 시작하는 것이

    좋다고 생각합니다.

    Python을 공부하고 있다면 SQL과 함께 병행하며

    공부하면 큰 시너지를 발휘할 것임을 확실합니다.

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

    최근 빅데이터가 화두로 떠오른 가운데 대용량의 데이터들을 가공하고 다루는데 많은 관심이 쏟아지고 있습니다.

    데이터로 의미 있는 정보를 찾기위해서 SQL을 능숙하게 다루는 기술 또한 많이 요구됩니다.

    이 책은 데이터를 그러한 중요성을 인식하고 데이터를 다루기 위해 SQL에 관심을 가지는 사람들의 입문용 서적으로 제격입니다. 쉽게 설명되어 있어 배우기에 수월합니다. 이 책을 통해 sql 쿼리 작성법 뿐만아니라 관계형 데이터베이스에 대한 기본적인 내용도 함께 익힐 수 있습니다.

    쿼리문을 자주 작성하는 개발자, 혹은 머신러닝과 데이터 분석을 위해 SQL을 써야하는 데이터 분석 전문가, 또는 데이터 분석 입문자

    혹은 프로그래밍 입문자분들에게 추천합니다.

    sql1.jpg

     

    sql2.jpg

     

    sql3.jpg

     

    sql4.jpg

     

    sql5.jpg

     

    sql6.jpg

     

     

  • 한 줄 요약 : MySQL를 공부하며 Oracle, SQL Server의 문법, 동작도 비교하고 싶을 때 추천하는 책

     

    시중에 나온 SQL책을 보면 Oracle SQL을 예제로 한 책이 대부분이다.

    RDBMS(Relational DBMS)라는 공통점이 있어서 Oracle, SQL Server, MySQL의 문법이 일부분만 다르다보니 셋 중 하나(또는 다른 RDBMS)를 잘 사용할 수 있다면 MySQL을 배우는데 막힐 것은 없다.

     

    문제는 SQL에 입문하려는 입문자다.

    MySQL에 막 입문한 경우 인터넷의 블로그에 등록된 예제를 MySQL에서 실행하다보면 예상치 못한 에러를 마주하게 된다.

     

    이번에 리뷰한 <러닝 SQL>은 그런 고민을 줄일 수 있다.

     

    KakaoTalk_20210418_203041998.jpg

     

    러닝 SQL

     

    CRUD(Create, Read, Update, Delete), 조인(Join), 인덱스(Index)와 같은 SQL에 배우는 내용은 다른 책과 비슷하다.

     

    하지만 여러 권의 책 중 이 책을 선택해야 한다면 하나의 차이점 때문일 것이다.

     

     

    책에서 설명하는 예제는 MySQL을 이용한 예제들로 구성되어 있다.

    하지만 MySQL과 Oracle, SQL Server를 비교하며 설명하고 있다.

     

    이 구성은 두 가지 학습 방법을 이끌어낸다고 생각한다.

     

    1. RDBMS 입문자 : 기본기 학습 후 심화학습 할 때 다른 RDBMS와 비교하기

    책을 따라하며 MySQL을 학습한다.

    기본기를 바탕으로 복잡한 쿼리를 작성하고 싶을 때 인터넷 검색을 하며 MySQL에서 실행해본다.

    에러가 발생한다면 Oracle 또는 SQL Server에서만 실행가능한 기능이 아닌지 의심해본다.

    MySQL 이외의 RDBMS에서만 실행되는 쿼리라면 책에서 알려주는대로 MySQL에서 사용가능한 형태로 바꿔본다.

    2. 다른 RDBMS 경험이 있는 경험자 : 익숙한 부분은 빠르게 넘기며 MySQL에서만 다른 부분만 캐치

    SQL쿼리의 문법은 크게 다르지 않으므로 MySQL에서만 다르게 동작하는 부분만 캐치해서 학습한다.

    MySQL과 Oracle, SQL Server의 차이점은 아래 예시처럼 설명이 담겨있다.

     

    KakaoTalk_20210418_203054234.jpg KakaoTalk_20210418_203100499.jpg KakaoTalk_20210418_203106629.jpg

    MySQL과 Oracle, SQL Server의 차이점

     

     

     

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

    리뷰를 위해 한빛미디어에서 책을 제공받았지만 주관적인 생각을 그대로 적었습니다.

  • 본 포스터는 한빛미디어에서 [나는 리뷰어다]를 통해 책을 지원받아 작성한 리뷰 포스터입니다. 먼저 저는 대학원생이고 SQL의 경우 기본적인 강의와 코딩테스트용으로 잠시 준비했음을 미리 밝힙니다. 

     

     

     

    SQL의 경우 필요한 데이터를 추출하고 정제하기 위해서 많이 사용하는 언어입니다. 실제로 데이터 분석가의 필수역량 중 하나로 SQL을 잘해야한다는 얘기도 많이 들었습니다. 저도 그래서 개인적으로 SQL의 인강을 듣고 코딩테스트를 준비하면서 기초적인 역량은 쌓았지만, 다른 언어들에 비해 많이 헷갈리는 부분들이 많았습니다. 

     

    해당 책의 경우 읽으면서 부담감이 없이 읽혔습니다. 개인적으로 좋았던 부분은 많은 예시와 실습이 있어서 많은 연습을 해볼 수 있는 점입니다. 데이터 베이스에 대한 개념부터 시작해서 각종 쿼리에 대한 부분까지 다루니 기본서로 SQL을 입문하시는 분들에게 추천드리는 책입니다. 

  • 직업훈련 현장에서 학생들을 가르치다보면 의외로 학생들은 데이터베이스에 대해 많이 어려워한다. "마윈" 전 알리바바 회장의 말에 의하면 21세기는 데이터의 시대이다. 데이터를 누가 먼저 어떻게 이용하느냐가 회사의 사활 더 나아가 국가의 수준을 결정할 수 있는 시대가 되었다. 사실 누구나 데이터가 중요하다고 하면 다 공감한다. 하지만 그 데이터를 어떻게 다뤄야 하는지는 잘 모른다. 아무리 NOSQL이 부상하고 데이터분석가에 대한 관심은 많지만 현실은 관계형 데이터를 다루는 가장 기본적인 부분부터 시작해야 한다. 더구나 시중에 나와 있는 대부분의 관계형데이터베이스 책은 오라클 일색이다. 물론 현업에서 많이 사용하고 있기 때문이기도 하지만, 그렇다고 MySQL 데이터베이스엔진 역시 실무에서 많이 사용하는데 비해 추천할 수 있는 책은 거의 없다시피한다. 또한 대부분의 클라우드에서는 오라클을 지원하지 않는다. 세계 제1위의 IaaS업체인 AWS와 구글의 GCP는 오라클을 지원하고 있지만, 다른 클라우드 사업자들은 오라클을 지원하지 않는다. 정리하자면, 현업에서는  오라클을 많이 사용하지만 MySQL 역시 많이 사용하는 RDBMS이다. 클라우드에서도 오라클을 지원하는 클라우드 사업자가 있지만 대부분의 클라우드 사업자들은 오라클을 지원하지 않고 MySQL은 대부분 지원하고 있다. 추가적으로 MySQL에 대한 추천할 만한 좋은 책은 거의 없다. 이것이 현실이었다. 이 때 취업을 준비하고 있는 직업훈련 학생들에게도 또한 클라우드에서 관계형데이터베이스 서비스를 필요로 하는 분들에게 추천하고 싶은 좋은 책이 출간되어 여간 다행이지 않다. 이 책을 통해 관계형데이터베이스를 제대로 배우려는 분들에게, 현업에서 MySQL을 사용하고 있지만, 제대로 사용하려는 분들에게 가장 알맞는 책으로 추천드립니다.

  • 오라일리의 Learning SQL의 한글 번역 서적이며 SQL에 대해 다시 정리가 필요하다고 생각해 우선 필요한 목차부터 골라서 읽어 보았다.

    MySQL을 기준으로 내용이 다뤄지고 조그만한 내용으로 Oracle DB와 이외 DB에서의 사용에 대해 언급을 하고 있다. 목차 별로 실습이 제공되어 있다.

    개발하면서 접하던 SQL 쿼리와 대학에서 데이터베이스 과목을 수강하면서 배웠던 이론에 대해 다시 정리해볼 수 있었다. 그 중에서도 조인, 인덱스, 특히 다중 열 인덱스(Multi Column Index)에 대해 정리해보는 시간을 가질 수 있었다.

    SQL 쿼리 사용에서 끝나지 않고 아파치 드릴, 샤딩, 클러스터링, 분할에 대해서도 간단한 언급을 하고 있어, 이 책을 마치고 더 심화적인 데이터베이스를 공부하기 위한 로드맵을 제시하고 있다.

    책의 제목만 보자면 SQL을 처음 입문하는 사람에을 위한 책인 느낌이 들었고 실제로도 기초부터 설명을 하고 있지만, 심화적인 내용도 함께 곁들여 충실한 내용을 담고 있기에 SQL에 대해 다시 정리해보기 좋은 서적이라고 생각한다.


  • 요즘 코딩테스트에 SQL 문제가 꼭 한 두문제씩 포함되어 있고,

    DB를 연동한 프로그램을 만들때 SQL은 필수여서 언젠가 한번은 꼭 각잡고 공부해야겠다고 생각했었다.

     

     

     

    총평을 이야기 하자면,

     

    쿼리의 기초부터 고급 내용까지 모두 포함되어 있어,

    개발자는 물론이고 SQL을 공부하려는 사람들에게 안성맞춤이다.

     

    특히 요즘 금융권 취업을 준비중인데, SQL같은 경우 전공자뿐 아니라

    비전공자들에게도 디지털지식으로 문제가 출제된다고 알고있다.

     

    책에서 챕터1-4에 해당하는 내용까지는 내용도 간단할 뿐더러

    DB를 사용하는 이유와 간단한 쿼리문 위주로 구성되어 있기에, 큰 부담없이 공부하고

    안정적인 득점을 하기 좋을 것 같아서 추천해주고 싶다!

    

  • 이 책은 기본적인 SQL 문법을 포함해 실무에서 활용할 수 있는 중요한 기법들을 설명해 주고 있습니다. 입문 내용뿐만 아니라 조인과 롤업 등 고급 기능에 대해 심도 있게 다루고 있습니다.

  • IMG_9343.jpeg

     

     

    부족했던 데이터베이스를 공부하려고 선택한 책입니다!

    MySQL을 이용하여 데이터베이스 생성부터 트랜젝션,

    대용량 데이터베이스 작업등 고급 기능까지 

    익힐 수 있어서 좋았습니다!

     

    또한 책에 예시가 잘 나와있어서 좋았고,

    각 장이 끝날때마다 실습문제들이 있어서 복습하면서 공부하기 용이했습니다.

    그리고 각 문제에 대한 해설이 별도의 부록이 아닌 책의 마지막에

    같이 실려있어서 공부할 때 답을 바로바로 확인 할 수 있어서 좋았습니다

  • 러닝시리즈에 새로운 책자가 나왔습니다. 바로 러닝 SQL입니다.

    그만큼 필요가 있다는 것 일 수도 있습니다. 다시금 데이터베이스가 SQL이 요청되는 것은 바로 서버환경의 변화와 그리고 딥러닝, 빅데이터에 발맞추어짐입니다. 서버환경의 변화는 바로 클라우드로 다양한 데이터베이스를 선택이 가능하기 때문입니다. 일전에는 DB제품이 중요했기에 해당 DB에 대한 특징 설치 부가기능에 대하여 관심이 높았던 것도 사실이기도 합니다. 그런데 이제는 오롯이 SQL에 집중할 수 있다는 겁니다. 그것이 바로 클라우드의 서비스의 장점이기도 합니다.  그리고 빅데이터, 딥러닝으로 파이썬에도 집중하지만 결국은 데이터라는 것 입니다. 데이터베이스를 어떻게 잘 정제하느냐에 따라 달라지는 것을 알게 되었기에, 시작은 데이터베이스이고 결국 SQL이라는 것입니다.

     

    한빛미디어 러닝시리즈

     

    러닝1.PNG

     

    O'REILLY

    2021-04-18-11-38-34-061.jpg

    Learning SQL

    2021-04-18-11-38-56-013.jpg

     

    데이터 생성, 조작 및 검색까지 데이터 제대로 주무르기

    2021-04-18-11-38-38-136.jpg

     

    한빛미디어의 미리보기를 통해서 책이 어떤지 바로 접할 수 있습니다.

    특별히 이번에는 기초보다는 레벨을 높히는 것에 중점을 두게 됩니다.

     

    러닝2.PNG

    SQL레벨업을 하기 위하여, 트랜잭션과 서브쿼리, 그리고 메타데이터를 중심으로 찾아봅니다.

    트랜잭션

    2021-04-18-11-39-41-081.jpg

    트랜잭션은 여러 SQL 문을 함께 그룹화해서 모든 구문이 성공하거나 성공하지 않도록 하는 장치입니다.

    2021-04-18-13-07-55-025.jpg

     

    서브쿼리

    2021-04-18-13-49-18-960.jpg

     

     

     

    2021-04-18-13-50-03-742.jpg

     

    2021-04-18-13-50-18-256.jpg

     

    2021-04-18-13-50-39-080.jpg

     

    메타데이터

    2021-04-18-13-11-42-438.jpg

     

    SQL의 미래

    2021-04-18-13-10-19-649.jpg

     

    SQL 첫걸음부터 SQL 레벨업까지 그리고 하나씩 따라서 해볼 수도 있어서, 여러모로 도움이 됩니다.
    한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다. 한달에 한 권 테크관련 책을 유용하게 접하고 있습니다.

  • LearningSQL - 러닝SQL

    1.jpg

     

    처음에는 이번달에 선정해야할 책 목록에 마음에 드는게 없어서 건너 뛸까 하다가 이 러닝SQL을 선택해 봤다.

     

    우선 이책은 초중급 개발자에게 아주 추천해 주고 싶은 책이다.

    그 이유는 책의 내용이 쉽게 잘쓰여져 있다고 생각되기 때문이다.

     

    모든 기술이 그렇지만 IT기술 또한 기초라는 것이 굉장히 중요하다. 

    기본적으로 MYSQL 설명이 되어 있지만 ANSI SQL 함께 설명하고 있는 책은 기초를 다지기에 매우 좋은 책이라 생각된다.

     

     

    2.jpg

     

    3.jpg

     

    또한 고급 개발자 들에게도 가볍게 읽어 보기에 좋을 듯하다.

     

  • 제대로 기본부터 배우고 이해하는 건 새로운 내용을 배울때 아주 중요하다고 생각합니다.

    이번에 나온 러닝SQL 책을 보고 느낀 점에 대해 공유하려고 합니다.

    데이터베이스 분야에서 아직 밥벌이를 하고 관련 일을 하면서 SQL 은 아주 일상적으로

    사용하고 당연하게 사용하고 있지만

    처음 SQL 을 배울때를 생각해 보면 제대로 이해하지 못하고 SQL 구문을 사용하던

    시절이 있었습니다. 왜 그런지를 잘 모르고 SQL 을 작성하게 되면 결과는 나올지 

    몰라도 성능적인 측면이나 쿼리의 결과가 틀렸을때 어디가 잘못 되었는지 제대로 

    파악하기 힘들 수 있습니다.

    그래서 초보자가 보기에 적당한 책들을 읽어 보며 공부하던 시절도 기억이 납니다.

    하지만 제가 궁금한 것 그리고 꼭 알아야 할 내용을 친절하게 알려주는 책들은 그리 많지 않습니다. 대부분 겉핥기식으로 훑는 경향이 있죠. 그런 책들도 입문하기에는 나쁘지 않지만

    한발짝 앞으로 나아가는데 도움이 되지는 않습니다. 

    물론 직접 SQL 을 작성하고 시행 착오를 겪으며 체득하는것이 제일 좋은 방법이지만 

    좋은 가이드를 먼저 만나게 된다면 참 좋을 것입니다.

    이번에 새로 출간된 러닝 SQL 책을 출판사에서 받아 한번 쭈욱 읽어 본 결과

    이 책은 그냥 초보를 위한 책은 아니라고 생각이 듭니다.국내에서는 오라클 데이터 베이스를 기본으로 하는 SQL 책들이 많습니다. 

    이 책은 MySQL 을 기반으로 대부분의 DBMS 에서 사용 가능한 표준으로 SQL을 설명 하고있습니다. ORACLE 만을 위한 SQL 가이드를 원한다면 다른 책을 보는게 좋겠지만 기본과 표준적인 내용을 원한다면 좋은 가이드라고 할만 하다고 생각이 듭니다. 

    클라우드환경으로 많이 전환 되면서 기존 온프레미스에서 주로 사용하던 ORACLE, DB2 등의 DBMS 보다 MariaDB, MySQL 을 많이 사용하게 되고 있는 추세라 이번 도서는 아주 반갑기도 한 책이라고 생각 합니다.

    제가 초보일때 join에 대한 깊은 이해가 없이 sql 을 작성하던 시절이 생각나 join 부분에 대한 설명을 살펴 보니 처음 접하는 사람들이 이해하기 쉽게 설명도 되어 있으며

    다른 책에는 없을법한 필자의 경험도 책에 수록되어 있습니다. 

    하나씩 차근 차근 따라가며 책을 읽어 본다면 아주 좋을거 같으며 그림 보다는 text 기반으로 되어 있어 초보자가 조금은 보기 어려울수도 있을거 같지만 전반적으로 좋은 설명과

    실습 해 볼수 있는 내용이 많아 입문서 및 활용서로 이용하기 좋은 책이라고 생각이 됩니다.

    최근 가장 널리 쓰이는 DBMS 중 하나인 MySQL로 작성한 예제와 함께, 가장 최신 버전이면서 주로 쓰이게 될 MySQL 8.0에서 새로 소개된 CTE, 윈도우 기능을 이용한 쿼리들도 다루고 있으니 내용도 충실 하고

    실무에 나오는 내용들도 거의 대부분 소개 되고 있어 MySQL, MariaDB 를 사용하려는 분들에게 추천 하고 싶은 책입니다.

     

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

  • 약 일년전인것 같다.
    그때 SQL 첫걸음이라는 책으로 스터디를 진행한적이 있었다.
    그 책과 비교 했을때, 조금더 난이도가 있는것 같은 느낌이 들었다.
    왜냐하면 SQL 첫걸음 같은 경우 1단계부터 n단계까지 step by step으로 진행되었다는 느낌이었다면,
    이 책은 이런 느낌은 아니였다.
    책이라는 특성때문에 setp by step의 느낌이 완전히 없어진것은 전혀 아니다.

    뭐랄까...
    정직한 step by step이 아니라 
    큰 그림을 보여주고 그 그림이 어떻게 완성하는지 그 과정을 설명해주는 느낌이 들었다.
    어떻게 보면 SQL첫걸음에 비하면 난이도가 다소 높다는 느낌이 들었다.
    그렇다고 SQL 레벨업 처럼 비약적으로 난이도가 높은것은 전혀 아니다.
    너무 난이도가 낮지 않으면서도 
    그렇다고 높지 않았다.
    이 말은 공부하기에 적절한 느낌이 들었다. 왜냐하면 너무 쉬우면 입문목적으로는 좋지만,
    잘못하다가는 흥미를 잃을 수 있기 때문이다.
    그렇다고 너무 어려우면 도전정신은 생길지는 몰라도 금방 포기할 지도 모른다고 생각한다.
    이런 관점에서 보면 이 책은 난이도 설정을 적절하게 한 느낌을 강하게 받았다.

    정리를 하면,
    SQL 첫걸음을 입문 서적으로 두고 이 책을 다음 step으로 보면 딱 좋을 것 같다.
    하지만 SQL특성상 같은 이야기를 반복하게 되니 다음 책을 볼때는 적절한 시기를 거친뒤에 보는것을 추천한다.
    SQL 첫걸음을 입문 서적으로 추천했지만, 이 책을 입문 서적으로 봐도 상관없다.
    그렇게 까지 어렵지 않기 때문에 입문으로 봐도 문제 없다.

  • Screen Shot 2021-04-17 at 11.00.16 PM.png

     

     

    프로그래머라면 한번쯤은 다뤄봤을 SQL, 이 책은 MySQL활용하여 SQL 쿼리 작성법 및 기초적인 db관리법을 알려주고 있습니다.

     

    학부생때 배웠던 지식만을 갖고 이렇게 저렇게 써보다가 잘 안되면 구글 검색을 해서 쿼리문을 힘들게 짜곤 했는데,

     

    이번 기회를 통해 sql 쿼리 작성법 뿐만아니라 관계형 데이터베이스에 대한 기본적인 내용도 함께 익힐 수 있었습니다.

     

    모든 실습은 MySQL상에서 진행하고 있으며 sakira라는 비디오 대여점 샘플 데이터베이스를 사용하고 있습니다.

     

    기본적인 테이블 생성 및 관리하는 쿼리부터, 간단한 select문, 다중 중첩된 쿼리까지 상세한 예를 들어서 설명해주고 있습니다.

     

    뿐만 아니라, 쿼리 결과를 정렬하거나, 값을 원하는 방식으로 출력하는 방법도 설명해주고 있어서,

     

    데이터 분석에 사용할 수 있도록 데이터를 잘 정제하는데도 도움이 되었습니다.

     

    SQL 쿼리문을 자주 작성하시는 개발자분들, 데이터 분석을 위하여 SQL을 써야하는 데이터분석전문가분들께 강력 추천 드립니다.

     

     

     

     

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

  • unnamed.jpg

     

     

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

     

    오렐리 시리즈 중 하나인 러닝 시리즈는 외국에서 나름 이름이 있는 시리즈에 믿고 보는게 있습니다.

     

    러닝 시리즈는 아무래도 외국책이다보니 한국에 들어왔을때 번역이 되어서 책이 나오는데도 약간 보기 조금 불편한 느낌의 책들도 있습니다.

     

    그래서 아이티 도서 중에서 번역본중에 추가로 번역하신 분의 의견도 좀 들어가고 뭔가 수정이 잘 되어진 책들을 더 좋아하는 편인데

     

    이 책을 보면서 불편한 점은 따로 느끼지 못했습니다.

     

    그러나 실습 옵션부분은 처음이라서 조금 당황하긴 하였습니다.

     

    오라클 DB만 사용하다가 Mysql도 얼마전 약간 맛본적이 있는데 이 책을 통하여 다른 DB와의 차이점도 익히며 실습으로 하여금

     

    다시 복습을 하게되어서 공부에 도움이 되었던거 같습니다.

     

    뒷부분에 가면 갈수록 뭔가 초보자들은 좀처럼 접하기 힘들고 잘 없는 경우도 나와서 크게 와닿지는 않았지만 그 쪽 분야를 하는데

     

    공부를 해야하시는 분들이라면 맛보기가 잘되어있어서 구성에 있어서 알찬 내용이지 않았나 싶습니다.

  • 이 책을 읽게 된 이유
     
    이 책은 한빛미디어에서 진행하는 `나는 리뷰어다 2021`에 참여하게 되어 읽게 됐습니다. 3월 리뷰처럼 이번 4월 리뷰에도 좋은 책들이 많았고, 저는 많은 책들 중 `러닝 SQL`, `몽고DB 완벽 가이드 3판`, `이것이 안드로이드다 with 코틀린(개정판)`을 선택했었습니다.
     
    SQL이든 NoSQL이든 데이터베이스 공부는 필요하다고 생각했기에 선택했습니다. 최근 선형대수학, 통계학, 파이썬 라이브러리 공부 등을 한다고 조금 미뤄졌었지만, 데이터 분석 또는 머신러닝 분야에서 사용할 수 있을 거란 생각에 나중에는 꼭 공부해보고 싶었던 분야 중 하나였습니다.
     
    코틀린은 나중에 졸업작품을 만들 때 안드로이드 앱 개발이 필요할 수 있다고 생각하니 공부를 해보고 싶었고요. 특히 최근에는 코틀린이 안드로이드 이외에 백엔드에도 쓰이고 있다고 들어서 선택했습니다. 
     
    이 책들 이외에도 클라우드 네이티브, 이것이 데이터 분석이다, 배워서 바로 쓰는 14가지 AWS 구축 패턴 등 좋은 책들이 많았습니다.
     
    위와 같은 이유들이 있었지만 결국에는 `러닝 SQL`이 선택되어 대략 2주간 이 책만 보면서 공부했습니다. 
     
    책 소개
     
    이 책은 제목에서도 보셨다시피 SQL을 공부하는 책입니다. MySQL, ORACLE DATABASE, IBM DB2, Microsoft SQL Server, PostgreSQL 같이 SQL은 종류가 많지만, 이 책은 이 중 MySQL을 중점으로 설명합니다. 가끔 MySQL 이외의 SQL 예제들이 나오기도 합니다.
     
    SQL 예제들은 테이블을 직접 생성하여 사용하기도 하지만, 대부분 sakila database를 사용합니다. sakila database를 다운받아 환경을 구성하는 것을 어려워하는 사람들을 위해 이 책의 원서 출판사인 O'REILLY에서 운영하는 [Katacoda]라는 실습 환경을 제공해줍니다.
     
    이외에도 환경을 구축할 수 있는 사람은 스스로 환경을 구축하여 책의 예제를 따라 하며 실습을 진행할 수 있습니다. 개인적으로 저는 WSL2(Windows Subsystem for Linux 2)를 사용하여 MySQL 환경을 구축했습니다. 처음에는 Windows에서 MySQL을 사용하려 했으나 이 책은 터미널에서 쿼리를 작성하는 환경을 사용하기 때문에 Workbench를 사용하지 않고 터미널에서 실습을 진행했습니다.
     
    이 책은 455 페이지로 꽤 두꺼운 책이지만 Chapter가 18까지 있어 조금씩 보기 좋습니다. 하루에 한 Chapter씩 본다고 하면 18일이면 다 읽을 수 있죠. 한 Chapter가 끝날 때마다 `학습 점검 실습 문제`가 있어 Chapter의 내용들을 점검할 수 있는 구성으로 이루어져 있습니다. 이부분이 전 가장 마음에 들었습니다. 보통 이런 책들은 실습 예제만 있지만 문제들이 있다는 것이 공부한 내용들을 점검하기에 좋았습니다.
     
    또한, 실습할 수 있는 코드가 많으며, 예제 코드마다 설명이 조금씩 있습니다. 상황마다 사용하는 코드들이 많이 제공되어 있기에 참고하기에 좋습니다. SQL을 작성하면서 어려운 부분이 있을 때 참고하면서 읽기에도 좋습니다.
     
    대상 독자
     
    개인적으로 이 책은 SQL을 적어도 한 번은 공부해본 분이 읽으셨으면 좋겠습니다. 물론 이 책은 두껍기도 하여 초보자를 위한 책이기도 합니다만, 읽으면서 '친절하다'는 느낌은 받지 못했습니다. 
     
    예를 들어 어떤 Chapter에서 설명하고자 하는 주제가 있지만, 그 주제와 조금 벗어난 다른 Chapter의 코드들을 맛보기로 보여주는 경우가 있었습니다. 그럴 때마다 맛보기로 실습을 해보긴 하지만, 무슨 의미인지도 모르고 실습했었습니다. 그러나 위에서도 말했듯이 실습할 수 있는 코드들과 그 각각의 코드들에 대한 설명이 조금씩 있었기에 실습하면서 공부하는데 매우 큰 도움이 되었습니다.
     
    또한, Katacoda를 이용하는 방법 이외에 환경을 구축하는 부분에서도 a to z처럼 모든 것을 알려주는 것이 아니라 간략하게 설명이 되어 있습니다. 프로그래밍을 어느 정도 공부해본 독자들은 스스로 찾아 공부하는 습관들이 있어서 대략적인 설명이 있으면 알아서 환경 구축을 하고 실습을 진행할 수 있겠지만, 일반 독자들에게는 어려울 것이라고 생각합니다. 
     
    만약 SQL을 한 번도 공부해보시지 않으신 분이라면 이 책은 SQL 코드를 분석하고 공부하는 용으로 쓰고 설명 부분은 다른 책도 참고하면서 공부하셨으면 좋겠습니다. 전 코딩 테스트를 위해서 구글링으로 SQL을 공부했던 경험이 있어 이번에도 이 책을 읽으면서 구글링과 함께 공부했습니다.
     
    요약
     
    `SQL을 완전히 처음 공부하시는 독자라면 다른 책도 같이 읽으면서 공부하시고, SQL을 공부해본 독자라면 이 책의 코드들을 모두 실습해보는 방향으로 읽으시면 도움 될 것이라고 생각합니다.`
     
    어디까지나 제 생각일 뿐이니 참고만 해주시길 바랍니다.
     
     
     
     

  •  

    이번에 서평단 활동을 하면서 '러닝 SQL'을 만나보게 되었습니다.

     

    KakaoTalk_러닝SQL.jpg

     

    한빛미디어의 책 중에서 

    동물 표지가 인상 깊은 오라일리(O'REILLY) 책입니다.

     

    예전에 봤던 오라일리 책들이랑 비교해보았을 때 

    표지의 디자인이 좀 더 깔끔해진 것 같아서 찾아봤더니

    예전에는 흑백의 동물 사진에 박스디자인 영역이 넓었다면

    최근에는 동물 사진도 컬러풀해지고 박스디자인이 사라졌습니다.

     

     

     

    SQL.png

     

    SQL은 무엇일까요?

    SQL(Structured Query Language)는

    데이터베이스를 구축하고 활용하기 위해 사용하는 언어입니다.

     

    대부분의 책들이나 강의들이 겉핥기 식으로 배운다고 한다면

    이 책은 SQL입문서 가이드라고는 하지만

    꼼꼼하고 상세한(심도 있는) 설명은 (특히 흑백의 내부 디자인을 보면)

    그냥 전공서라고 하면 될 것 같습니다.

     

    책의 내부는 다른 책들보다 텍스트 위주의 구성이라

    입문자에게는 일단 펼치면 괜히 어려워 보이는 것 같습니다.

     

     

    10.jpg

     

    하지만 그만큼 깔끔하고 간결한 디자인이라는 의미이며

    컬러가 적기 때문에  눈에 피로도가 덜 합니다.

     

     

    책은 용어부터 꼼곰하게 설명을 해줍니다.

    무엇보다 처음 나오는 한글 용어에 

    영어까지 붙여주는 친절함이 마음에 듭니다.

     

     

     1장에서 SQL을 설명해준 다음에

    2장부터는 데이터베이스의 생성부터 시작하게 됩니다.

    약간 아쉬운 점은 실습 환경은 짧게 소개만 되어있기 때문에

    자체적으로 구글링을 해서 준비를 해야합니다.

    20.jpg

     

    다른 시리즈의 입문서와는 다른 점이라고 할 수 있을 것 같습니다.

     

     

    그리고 3장부터 본격적으로 쿼리를 입문하게 됩니다.

     

    30.jpg

     

    예전에 정보처리기사를 공부할 때, SQL을 공부했던 기억이 새록새록 납니다.

    SQL 자체는 어렵지 않았는데,  따로 환경을 구축해서 실습을 해보지는 못하고 그냥 공부했던 기억이...

     

     

    사실 검색만으로 공부하기엔 내용의 신뢰도가 떨어질 때도 있고,

    내가 모르는게 잘 찾아지지 않을 때도 있습니다.

    그래서 항상 공부할 때는 해당 책을 한 권쯤 꼭 사는 것을 추천드립니다.

     

    책의 설명을 따라 차근차근 공부하면서 

    한빛에서 제공하는 예제소스와 함께 예제를 풀어 나가고

    완독한 다음에는 한 단계 발전한 개발자가 될 수 있을 것 같습니다.

     

     

     

     

    이 책은 한빛미디어 도서 서평단

    "나는 리뷰어다 2021" 활동을 통해 제공 받았습니다.

     

     

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

     

    SQL에 대해선 SELECT, FROM, WHERE 정도만 알고 이조차도 정말 간단한 것밖에는 활용하지 못했다.

    실제 업무에서 SQL을 통해 데이터를 추출할 일이 많이 없었기도 하고, 혹시 생기더라도 기존에 만들어둔 템플릿에서 필요한 값만 살짝 바꿔가며 사용했기 때문이다.

    그러나 당연한 이치로 회사에서 요구하는 업무 수준은 점점 높아지고, 나도 내가 알지 못하는 코드를 딜리버리만 하는 것에 싫증이 날 무렵 이 책을 만나게 됐다.

    이런 도서들은 초기에 환경 구축하다보면 시간이 다 가게 마련인데, 오렐리에서 제공하는 웹 DB가 있어서 책에 제공된 링크로 따라가면 활용할 DB까지 모두 설정이 끝나, 바로 쿼리를 날려볼 수 있는게 책을 보다 쉽게 접할 수 있게 해준 장점이다.

    물론 세션 시간이 어느정도 있는 것 같고, 네트웍이 잠깐 불량하거나 하면 연결이 바로 끊어져버리긴 하나 이런거 세팅할때마다 몇시간씩 까먹는 나를 생각하면 최선이다.

     

    책은 총 18장으로 구성되어있다. 리뷰를 쓰는 오늘 기준으론 8장까지 끝냈다.

    당연히 후반부로 갈 수록 점점 복잡하고 고도하된 쿼리를 구성하겠지만 아직까지는 따라가기 크게 어렵지 않다.

    다른 사람이 짜 둔 쿼리를 복붙해서 활용할때 이게 무슨 의미일까? 싶었지만 어디서부터 찾아봐야 할지 막막했던 것들 중 몇 가지는 벌써 답을 알게 됐다.

    SQL이 뭔지, 쿼리가 뭔지 잘 알지 못하는 사람이 대뜸 이 책부터 사서 보기엔 조금 어려울 것 같지만, 나처럼 직접 짠 쿼리까진 아니더라도 몇 번 쿼리란 걸 내 손으로 날려본 적이 있는 사람이라면 쉽게 책을 시작할 수 있을 것 같다.

    쉽게 풀어썼다는 SQL 책들도 몇 권 봤는데, 오히려 편집이 어수선하고 설명하는 문장이 너무 길어 읽다 진이 빠지는 경우가 있었는데, 이 책은 개념에 대한 설명보다는 일단 쿼리부터 보여주고 이 구문을 왜 추가했는지를 간략하게 설명해주는 식이다. 그렇기 때문에 요긴하게 활용할 것 같은 부분은 따로 표시를 해 두어 필요할 때 바로 찾아볼 수 있는 쿡북 형태로 활용해도 좋을 것 같다.

    앞으로 남은 10장도 꼭 완료하고, 틈 날 때마다 잊어버리지 않게 한 번씩 복기해주기 좋은 책을 만난 것 같다. 못해도 3번 이상은 더 볼 책이다.

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

     

    Learning SQL 러닝 SQL

    데이터 생성, 조작 및 검색까지 데이터 제대로 주무르기

    [앨런 볼리외 지음, 류수미,송희정 옮김, 한빛미디어]

     

     

    이 책은 번역서입니다. 예제 데이터베이스 또한 영문으로 되어 있습니다.

    그래서 처음에는 조금 낯설기도 했습니다. 

     

    집에 SQL 책은 4~5권 정도 더 있는데요. 

    어떤 점이 다른지 살펴보았습니다.

     

    저는 MySQL이 아닌 MariaDB로 실습을 진행했습니다.

    실습을 위해서는 관계형 데이터베이스 설치가 우선입니다.

    (MySQL 서버 다운로드 경로를 친절하게 안내하고 있습니다)

     

     

    IT서적중 특히 프로그래밍 관련 책은 읽는 게 아니라 타이핑이라고 생각합니다.

    눈으로 읽기는 하지만 실제는 타이핑해서 실행 결과를 확인하는 실습이 필요합니다.

    그래서 소설책 읽듯이 바로바로 지나갈 수 없습니다. 그만큼 시간이 많이 걸립니다.

     

    관계형 데이터베이스 SQL 내용이 대부분을 차지하지만 빅데이터 이야기가 빠질 수 없겠죠.

    이 책에서도 아파치 드릴을 후반부에서 소개하고 있습니다.

     

     

    개인적으로 비중있게 본 챕터가 집합연산자와 서브쿼리 부분입니다.(6챕터와 9챕터입니다.)

    그리고 하나 더 들자면 "트랜잭션(챕터12)"입니다.

     

    SQL 입문 가이드라고 책 표지에서는 되어 있지만

    제가 생각하기에 이 책의 난이는 중상 정도로 생각합니다.

    SQL을 한번도 접해보지 않은 입문 단계의 분들이 읽기에는 다소 어렵게 느껴질수도 있을거라 생각합니다.

    반대로 생각하면 그만큼 내용이 깊이가 있다는 말이 되겠지요?

     

    다른 SQL책과 몇가지 내용을 비교해 보았는데요. 

    설명 하나하나를 살펴보면 기존 책들과는 사뭇 다르게 설명되어 있습니다.

    '이렇게도 설명을 할 수도 있구나'하고 고개를 끄덕이게 만듭니다. 

    다른 저자의 정의가 맞다 틀리다의 문제가 아닙니다.

    두권의 책 내용을 같이 병합하여 이해하면 더 쉽게 내 지식으로 만들수 있어서 좋았습니다.

     

    다시 한번 느끼지만 동일한 내용을 다루더라도 복수의 책을 보는게 좋다는 것을 깨닫게 만드네요.

    전체적으로 내용 구성도 괜찮고 정독하면 SQL을 이해하는 데 도움이 되리라고 생각합니다.

    저는 실무Query 작성할 때 잘 안풀리고 할 때 가까이 두고 볼려고 합니다.

    막강한 기능을 가진 SQL을 익혀 원하시는 프로그램을 구현하시기 바랍니다.

  • 출처: https://plmis.tistory.com/1223 [맵으로 풀어가는 디지털혁신스토리텔링]

    Learning SQL ... 

    위키백과는 SQL을 다음과 같이 정의하고 있다. 

     Structured Query Language 구조화 질의어, S-Q-L는 관계형 데이터베이스 관리 시스템(RDBMS)의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어이다. 관계형 데이터베이스 관리 시스템에서 자료의 검색과 관리, 데이터베이스 스키마 생성과 수정, 데이터베이스 객체 접근 조정 관리를 위해 고안되었다. 많은 수의 데이터베이스 관련 프로그램들이 SQL을 표준으로 채택하고 있다. 

     

    SQL의 시작

    P32~P33를 보면 SQL의 시작에 대해서 자세한 설명이 나온다. 

    그리고 위키백과의 내용을 추가하여 인용해 보았다.

     

    SQL의 시작은 커드 박사가 관계형 모델을 정의하면서 관계형 데이블의 데이터를 조작하는 DSL/Alpha라는  언어 제안에서 시작되었다. IBM에서 프로토타입 제작 의뢰하면서 세상에 알려졌다. 그리하여 1970년대 초에 도널드 D. 챔벌린과 레이먼드 F. 보이스가 처음 개발하였다. 초기에는 SEQUEL(Structured English Query Language, 구조 영어 질의어)라는 이름으로 시작하였으며, IBM의 준 관계형 데이터베이스 관리 시스템 시스템 R에 저장된 데이터를 조작하고 수신하기 위해 고안되었다. SEQUEL은 나중에 SQL로 바뀌었는데, 그 까닭은 SEQUEL이 영국의 호커 시들리 항공사의 상표였기 때문이다. 1980년대 중반 미국 국립 표준 연구소(ANSI)에서 SQL 언어의 최초 표준 발표되었고, 핵심언어 개선+객체지향기능 통합으로 SQL 새로운 기능이 더해졌고, XML(Extensible Markup Language), JSON(Javascript Object Notation) 
    기술의 통합에 중점이 되었다. 

     

     

    사천 바닷가 아지트에서....

     

     

    왜 이책을 읽어야 할까?

    SQL이 제공하는 모든  명령문을 순차적으로 자세히 설명되어 있어서 데이터 과학, 비즈니스 인텔리전스, 데이터 분석 종사자에게 도움이 될 것이다. 

     

    왜 SQL을 배워야 할까?

    R,파이선 과 같은 다른 프로그래밍 언어 및 플랫폼과 더불어 SQL을 알아야 한다. 

    데이터는 어디에나 존재하고 급격하게 증가하고, 
    데이터로부터 유의미한 정보를 찾아내는 수요가 커지므로 

    데이터 과학, 비즈니스 인텔리전스, 데이터 분석 종사자에게는 반드시 알아야 하기 때문이다. 

    Learing SQL Study Map (by 류용효) 

    한장의 맵으로 스터디한 내용을 정리해 보았다. 

    이책은 기술서적으로 책의 내용을 어떻게 표현할까 10일은 고민한 것 같다. 

    이책은 단시간에 섭렵하는 책이라기 보다는 머리 맡에 두고 필요할때 꺼내 봐야 하는 책이다. 

    SQL 입문자 뿐만 아니라 SQL에 대한 체계적인 지식을 습득하려는 분들에게는 도움이 될 것이다. 

    이책을 옮긴 분들(류수미, 송희정)은 오라클에서 근무하면서 페이스북의 한국 MySQL사용자 그룹 운영진으로

    활동하고 있으며, 교육을 담당하고 있는 전문가 분들이 쉽게 이해할 수 있도록 번역한 것이 눈에 띈다.  

    나는 스터디맵으로 이 책의 내용을 한장으로 요약하고, 어떤 내용이 유익할 지 도움을 주고자

    정리해서 나눠주고 싶었다. 

     

    Learing SQL 스터디맵 (by 류용효)

     

     

    O'Reilly

    오라일리 미디어(O'Reilly Media, 과거명: O'Reilly & Associates)는  팀 오라일리가 설립한 미국의 출판사이다.

    주로 컴퓨터 프로그래밍과 관련된 서적의 출판으로 세계적으로 이름이 높다.

    특히 오라일리에서 출판된 은 특이하게도 다양한 동물의 목각 세밀화를 표지로 하고 있어

    출판사의 트래이드 마크가 되었다. 

    오라일리 미디어는 출판뿐만 아니라 매해 오픈 소스 공동체를 위한 콘퍼런스를 열고, 온라인 서비스를 제공하고 있으며, 또한 오라일리 네트워크는 특정 시스템이나 언어 사용자들의 흥미를 끄는 기사들을 "ONJava.com", "Perl.com", "MacDevCenter"등을 통해 공개한다.

     

    저자 정보 (2021)

    저자 : 앨런 볼리외
    Alan Beaulieu
    30여 년간 사용자 지정 데이터베이스를 설계하고 구축했다. 주로 금융 서비스 부문에서 대형 데이터베이스의 설계, 개발 및 성능 튜닝을 전문으로 하는 컨설팅 비즈니스를 수행한다. 여가 시간은 가족과 함께 시간을 보내거나, 밴드에서 드럼 또는 테너 우쿨렐레를 연주하기도 하며, 종종 아내와 하이킹을 하면서 멋진 경치를 볼 수 있는 점심 식사 장소를 물색한다. 코넬 대학교에서 공학 학사 학위를 받았다.

    역자 : 류수미
    LG CNS 금융사업부에서 은행, 보험, 증권사를 포함한 금융권의 차세대 시스템, 방카슈랑스 및 BPR 등 다양한 프로젝트를 수행했다. JavaEE 환경에서 개발 및 아키텍처를 만들고 검증하는 아키텍트로 근무했다. 현재 오라클 MySQL GBU에서 근무 중이다. 지금까지 많은 고객사의 MySQL POC, BMT를 지원했으며 MySQL 행사뿐만 아니라 다양한 오픈소스 행사에서 MySQL 관련 발표 및 강의를 진행했다. 페이스북의 한국 MySQL 사용자 그룹 운영진으로 활동하고 있다.

    역자 : 송희정
    대우정보시스템 벤처포트 전자상거래 사업부에서 자바 웹 개발자로 근무했다. 이후 기술연구소로 옮겨 기술전략팀을 거친 뒤에 전사 표준 프레임워크 개발, 보급 및 JavaEE 기술 컨설팅 프로젝트를 수행했다. 오라클에서 미들웨어 엔지니어로 활동하다가 2012년 이후 오라클 교육사업본부에서 교육 컨설턴트로서 기업체 대상의 전문가 양성 과정 개발과 DT 기술 역량 확보 및 내재화 관련 컨설팅을 했다.



    출처: https://plmis.tistory.com/1223 [맵으로 풀어가는 디지털혁신스토리텔링]

  •  

    러닝SQL oreilly 오렐리 한빛미디어 DBMS MYSQL MariaDB 입문부터 심화까지 B4640245615_l (3).jpg

     

     

    러닝SQL oreilly 오라일리 한빛미디어 DBMS MYSQL MariaDB 입문부터 심화까지

     

    SQL 기초부터 활용까지 한 권으로 끝내기 << 러닝 SQL >>

    앨런 볼리외 지음 / 류수미.송희정 옮김

    해외에서 대학교재로도 많이 쓰이는 오라일리 책.

     

    한빛미디어에서 나온 SQL 대표 책 두권중 하나. 나머지 하나는 '이것이 MySQL이다'

    첫 느낌은 이걸로 SQL 배우면 어렵지 않을까..?였는데, 한장한장 넘기면서 생각이 바뀌었다. 

    글이 많은건 설명을 잘 해 주기 때문. 

     

    러닝SQL oreilly 오렐리 한빛미디어 DBMS MYSQL MariaDB 입문부터 심화까지 B4640245615_l (4).jpg

     

    이 책은 입문부터 심화까지 한권에 다 다루고 있다. 18개의 세세한 목차 나눔으로 SQL을 어떤 방향으로 공부해야 하는지 볼 수 있고, 원하는 부분을 빠르게 찾아서 심도있게 공부할 수 있다. 

     

    2장은 데이터 생성. 3장~6장은 쿼리문으로 원하는 결과값 얻기 - 7장 부터는 데이터 조작 등의 심화된 내용을 다루고 있다. 외국에서 대학교재로 쓰는 이유가 있는듯. 교과서처럼 차근차근 복습해가면서 따라하면 될 것 같다. 

     

    JAVA와 함께 약간의 SQL을 배웠는데, 영어가 모자라 구글링으로 해결되지 않던 '서브쿼리'와 '외부조인'을 좀 더 심화있게 공부할 수 있어서 좋았다. 

     

    러닝SQL oreilly 오렐리 한빛미디어 DBMS MYSQL MariaDB 입문부터 심화까지 B4640245615_l (10).jpg

     

    러닝 SQL 도서는 셸에서 입력하고, 실행 결과를 보여주는 방법으로 실습을 진행한다.

    셸 기반 실습이라 어려워 보이는데 HeidiSQL 이나, MySQL 워크프랜치를 이용해 실습해도 거의 동일하게 진행할 수 있다. 

     

    마지막 부록에서는 책에서 다루었던 예제 DB의 ER 다이어그램을 보여주는데,

    데이터 관계 테이블이나 ER 다이어그램은 조금 더 다뤄주면 더 좋을것 같다. 

     

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

     

  • 4월 도서는 러닝 SQL(Learning SQL) 도서를 받게되었다. 백엔드 공부도 하고싶은 생각이 있었는데 마침 이 책을 받게 되어 기분이 좋았다.

    데이터베이스도 고등학생 때부터 배워서 뭔지는 아는데 안쓰다 보니 select 문이나 겨우 기억하는 정도, 다른 sql 문은 더듬더듬.. 쓸 때마다 찾아야했다.

    이 책이 내 필요를 채워줄 수 있는지를 중점으로 살펴봤다.

     

     

    IMG_8906 복사본.jpg


     

    목차

    목차는 아래와 같으며 이 책의 부제가 "데이터 생성, 검색, 조작까지 데이터 제대로 주무르기" 인만큼 책 한권으로 끝낼 수 있는 내용이 수록되어 있다.

    CHAPTER 1 배경
    CHAPTER 2 데이터베이스 생성과 데이터 추가
    CHAPTER 3 쿼리 입문
    CHAPTER 4 필터링
    CHAPTER 5 다중 테이블 쿼리
    CHAPTER 6 집합 연산자
    CHAPTER 7 데이터 생성, 조작과 변환
    CHAPTER 8 그룹화와 집계
    CHAPTER 9 서브쿼리
    CHAPTER 10 조인 심화
    CHAPTER 11 조건식
    CHAPTER 12 트랜잭션
    CHAPTER 13 인덱스와 제약조건
    CHAPTER 14 뷰
    CHAPTER 15 메타데이터
    CHAPTER 16 분석 함수
    CHAPTER 17 대용량 데이터베이스 작업
    CHAPTER 18 SQL과 빅데이터
    APPENDIX A 예제 데이터베이스의 ER 다이어그램
    APPENDIX B 실습문제 해답

    • 이 책은 MySQL을 가지고 설명하는데 MySQL은 오픈소스이기 때문에 무료로 사용할 수 있는 장점이 있어 편리한 학습을 가능하게 할 것으로 보인다.
    • CHAPTER 1 - 배경에서는 기본적인 데이터베이스 개념을 소개하고 전산화된 데이터의 저장 및 검색의 역사 내용이 수록되어 있다. 바로 실습으로 넘어가도 좋지만 배경을 읽으면 SQL에 대한 큰 그림을 그리면서 배울 수 있을 것 같았다.

     


     

    •  

      IMG_8907 복사본.jpg

       

       

    •  

    • 책을 읽으면서 텍스트가 대부분이라 아쉬운 부분도 있었는데 설명을 따라 차근차근 진행하면 옆에서 선생님이 알려주듯이 배우는 느낌을 가졌다.

      • 다만 그동안 보았던 클라이언트 책에 비해 텍스트나 표 자료가 상당수를 차지하고 있어 어렵거나 긴 설명을 읽을땐 호흡이 딸리는 경우가 있었다.
    • 책 내용은 SQL문이 주이기 때문에 MySQL 서버 설치에 대한 내용은 너무 적어 완전 처음하는 분이라면 구글링하는 과정이 필요할 것으로 보인다. 또 mysql 설치 후 수행해야 하는 4단계가 있는데 윈도우 기준으로 설명되어있어 맥북을 사용하는 나로썬 아쉬운 점이었다.

      • 하지만 설치말고 웹에서 실습할 수 있는 부분도 알려주는 점은 좋았다.
    • 전체적으로 이 책은 SQL의 A-Z까지 알아보기 좋은 책이라는 생각이 들었고 무게감있게 SQL에 대해 배우고 싶은 분들께 추천한다.

     

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

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



    책소개

    SQL 언어를 마스터하기 위한 필독서

     

    태어난 지 40년이 넘은 SQL의 쓰임새는 데이터 전성시대를 맞아 확장하고 있다. 이 책은 개발자가 SQL 기본을 빨리 익히고 데이터베이스 애플리케이션 작성, 관리 작업 수행, 보고서 생성을 할 수 있게 도와주는 SQL 입문 가이드이다. 각 장에서는 다양한 그림과 주석이 달린 예제로 주요 SQL 개념과 기술을 학습하고 실습한다. 특히 입문서에서는 잘 다루지 않는 비관계형 데이터베이스에서 데이터를 쿼리하는 방법까지 한 권에 담았다. 


    www.hanbit.co.kr/store/books/look.php?p_code=B4640245615

     

     

    러닝 SQL

    개발자가 SQL 기본을 빨리 익히고 데이터베이스 애플리케이션 작성, 관리 작업 수행, 보고서 생성을 할 수 있게 도와주는 SQL 입문 가이드 도서

    www.hanbit.co.kr

    리뷰


     이번에 리뷰하게 된 책은 'Learning SQL, 러닝SQL' 입니다. O'REILLY의 번역본이고, 조금은 징그러운 표지를 가지고 있는 책입니다. 이 책의 표지는 안데스 주머니 개구리라고 하네요. 


    이 책의 주된 독자는 SQL을 처음 접하는 혹은 더욱 자세히 공부하고 싶은 사람입니다.


    천천히 꼼꼼하게


    1장에서는 데이터베이스(Database)에 대한 소개가 나옵니다. 대부분 책의 첫장에서 역사와 소개를 다루듯 이 책 또한 역사와 책을 다루고 있습니다. 관계형 모델부터 주요 용어들을 표 형태로 깔끔하게 제공하고 있는 점이 좋았습니다. 용어에 생소한 사람들에게 용어를 정리하고 가는 것은 중요한 부분 중 하나라고 생각하고, 책에도 그런 생각이 담겨 있는 것 같다는 것을 느꼈습니다.


    쿼리 


     

    실제로 쿼리(Query)를 작성하는 건 3장부터 시작됩니다. 2장까지는 준비과정이며, 3장에서부터 쿼리를 작성하게 됩니다. 제일 처음 배우게 되는 쿼리는 조회가 아닐까 생각됩니다. 책에서는 SELECT (조회)를 시작으로 필터링, 조인(JOIN), UNION(집합) 등을 상세하게 기술하고 있습니다. 간단한 예제들과 상세한 설명으로 누구나 쉽게 익힐 수 있도록 기술 하고 있습니다.



    데이터 조작


    7장에서는 데이터를 어떻게 조작할지

     - 문자열 처리

     - 숫자 자리 수 처리

     - 시간 데이터 처리 


    어렵지 않지만 중요한 내용들을 상세하게 설명하고 있습니다. 


    학습 점검


     

    매 장 끝에는 학습 점검이라는 것을 통해 본인이 해당 장을 제대로 이해 했는지를 다시 한번 체크 할 수 있도록 되어 있습니다. 스스로 점검을 통해 본인이 내용을 제대로 이해했는지 아는 것은 정말 중요하고 그런 내용들을 챙겨주고 있어서 더욱 좋은 책이라고 생각합니다.



    총평 


    이 책은 SQL을 처음 배우는 입문자에게 쉽고 꼼꼼하게 SQL에 대한 지식을 습득 할 수 있게 해주는 책이다. 초심자에게는 처음을, 이미 알고 있는 사람에게는 리마인드를 제공해주는 책이고 얇지만 강한 내용들을 담고 있다.

  • 취업준비생, 실무자도 알아야 할 핵심이 담겨있는 마스터 도서

  • [한빛미디어에서 제공 받은 '나는 리뷰어다' 2021년 4월 이벤트 도서 리뷰입니다]


    느낀점

    - MySQL을 기준으로 다루고 있어 MariaDB와 더불어 MySQL 사용자에게 도움이 될 것

    - SQL을 전혀 모르는 입문자나 초심자 타깃보단 CRUD를 어느정도 할 줄 알고 한단계 더 나아가고 싶은 입문자들에게 어울리는 내용

    - 실무에서 사용되는 고급스킬(?)까진 없어서 아쉽지만 적절한 팁들 제공

    - 독립적인 장으로 구성되어 필요한 장만 찾아볼 수 있음(물론 연계되는 기술이라면 다른 장 사전습득 필요)


    프로그래밍을 배우면 가장 먼저 배우는 스킬

    '반복문'과 '제어문'


    CRUD를 어느정도 할 줄 알게된 뒤로,

    SELECT한 '모든' 데이터를 Object에 받아와

    서버단에서 '반복문'과 '제어문'을 활용해 데이터를 가공했지만

    첫번째 회사를 들어간 뒤로 생각이 완전히 바뀌었다.


    일단 전체적인 데이터를 뽑아오는것에서 1차적으로 시간이 소모되었고,

    그 수많은 데이터를 반복하고 제어하는데에서 2차적으로 시간이 소모되었다.


    수백, 수천만건의 데이터를 활용하는 곳에서는 어마어마한 시간이 소요되는것,

    그 불필요한 시간을 줄이고 서버단에서 쓸모없는 코드를 줄일 수 있는 기술,

    SQL이 꼭 필요한 이유이며 정답이 없는 쿼리를 작성하다보면

    그 무긍무진한 가능성에 푹 빠지게 된다.


    오늘은 그 SQL의 매력에 푹 빠지게 만들어 줄 리뷰 서적

    러닝 SQL !

    (네이버에서 Learning SQL로 검색하니 해외판이 나온다...)

    (음... 개구리 사진이 그렇게 맘에 들진 않는다...)


    O'REILLY의 서적은 '어렵다' 라는 생각을 갖고 있었는데,

    이 책은 필요한 기능별로 장을 나눈것 하며 쉽게 따라하며 배울수 있다는 느낌을 받고

    다 그런건 아니구나 라는 생각을 하게 되었다.


    읽으면서

    '입문서'일 수도 있고

    '초심자'의 레밸업

    을 위한 책도 될 수 있다고 느꼈다.


    일단 다른 입문서와 비슷하게 SQL에 대해 설명하면서 시작하는데,

    SQL이 필요한 시스템

    SQL의 역사를 구구절절히 늘어놓는게 아닌

    왜 SQL을 써야했고 SQL이 사용되었는가에 초점을 맞춰

    설명을 하니 흥미롭게 읽을 수 있었다.


    (간단하게 말하면 '필요에 의해' 이지만... 누구나 구구절절한 역사를 갖고있기 마련이지 않은가...!)


    1장, SQL의 필요성과 역사에 대해 설명하고

    2~3장은 기본적인 입문에 대해 설명한다.

    CREATE등 기본적인 데이터 생성에 관련된 DDL을 설명하고,

    SQL의 기본문법인 CRUD에 대해 설명한다.

     

    하나하나 천천히 따라하면 무리없이 DML(SELECT, UPDATE 등)를 익힐 수 있다.


    직접 실행할 수 있는 쿼리를 단계별로 보여주며 어떻게 실행할 수 있는지에 대해 도달하게 만들어준다.

    쿼리를 보여주는것에서 마음에 들었던것은...

    쿼리가 깔끔하게 정렬되어서 나왔다는것....!


    1. 한줄에 작성

    SELECT A, B, C FROM TABLE


    2. 정렬해서 작성

    SELECT A

            , B

            , C

          FROM TABLE


    위와 아래 중 어떤 쿼리문이 더 알아보기 쉽고

    나중에 유지보수하기 쉬운지는 따져보지 않아도 알 수 있다.

    (물론 정렬하며 작성하면 한줄에 작성하는것보다 시간이 오래걸리겠지만

    나중에 수정할 구문을 찾거나 한 문단이 길어질 경우를 생각하면 애초에 정렬해서 시작하는것이 좋다)


    중간중간 팁도 나오고

     

    각 장의 마지막엔 '학습 점검'이라는 단락으로 직접 생각해보는 구간이 존재한다.

    위의 내용들을 보면

    기본적인 '입문서'의 느낌을 풍기지만

    '입문서'보단 '초급자'의 레밸업을 위한 서적이라고 생각하는 이유는


    1. 위에서 기본적인 설명들을 하지만 엄청나게 자세하진 않다.

    (1부터 100까지 일일히 구구절절 설명하지 않는다는 것)


    2. 고급 스킬들의 설명

    입문을 하면 필요한 기술들에 대해 설명하는것은 동일하지만

    SQL을 처음 배우는 사람이 VIEW나 INDEX에 대해 알 필요가 있을까?

    필요에 의해서 배우는 사람이라면 고급 스킬에 대해 더 알아야 하겠지만

    일반적인 입문자, 신입이라면 CRUD만 알고있어도 훌륭하다고 생각한다.


    3. 앞에서 한번씩 언급 후 각 장별로 설명

    '입문자'를 위한 내용은 앞에서 모두 끝낸다.

    다만 후에 필요한 고급 기술들을 한번씩 언급하는데,

    구구절절히 이 기술이 왜 필요한지 설명하는게 아니라

    '이런 상황에서 이런 기술이 필요하다'는 뉘앙스를 풍기며 짤막하게 끝낸다.


    그동안 오라클, MSSQL 등의 데이터베이스 서적이 주를 이뤄왔기 때문인진 몰라도

    웹 서칭에서 그 두가지의 데이터베이스에 관한 설명이 많았다.

    접하기 쉽고, 자유롭게 이용가능하다는 점에서 많은 사람들이 이용하고 있는

    MySQL과 MariaDB에 대한 서적이 많이 나오는것을 보니

    이 두가지를 가장 많이 이용해왔던 나로썬 매우 반가운 일이다.


    요즘들어 '그룹화'와 '서브쿼리'에 대해 조금 더 배워야겠다고 생각했기에 더욱 더 반가운 서적이었다.

    하지만 실전에서 필요한 모든 경우에 대해서는 나와있지 않았고, 원하던 내용이 없어서 아쉬웠다.

     

    입문자와 고급을 향해 가고싶어하는 초심자에게 필요한 모든것들이 담겨있어

    조금 더 자신을 레밸 업 시키고 싶은 분들에게 추천한다.


  • [한줄평]

    SQL 언어를 마스터하기 위한 필독서


    [목차]

    CHAPTER 1 배경

    CHAPTER 2 데이터베이스 생성과 데이터 추가

    CHAPTER 3 쿼리 입문

    CHAPTER 4 필터링

    CHAPTER 5 다중 테이블 쿼리

    CHAPTER 6 집합 연산자

    CHAPTER 7 데이터 생성, 조작과 변환

    CHAPTER 8 그룹화와 집계

    CHAPTER 9 서브쿼리

    CHAPTER 10 조인 심화

    CHAPTER 11 조건식

    CHAPTER 12 트랜잭션

    CHAPTER 13 인덱스와 제약조건

    CHAPTER 14 뷰

    CHAPTER 15 메타데이터

    CHAPTER 16 분석 함수

    CHAPTER 17 대용량 데이터베이스 작업

    CHAPTER 18 SQL과 빅데이터



    [주요 내용]

    • SQL 기본과 다양한 고급 기능을 빠르게 알아봅니다.

    • SQL 데이터 문을 사용하여 데이터를 생성, 조작, 검색합니다.

    • SQL 스키마 문을 사용하여 테이블, 인덱스, 제약 조건과 같은 데이터베이스 개체를 생성합니다.

    • 데이터셋이 쿼리와 어떻게 상호작용하는지 알아보고 서브쿼리의 중요성을 이해합니다.

    • SQL 내장 함수를 사용하여 데이터를 변환 및 조작하고, 데이터 문에 조건식을 사용합니다.


    [대상 독자]

    • IT실무 담당자

    • SQL활용을 하고 싶은 협업 실무자

    • 개발 입문자 및 고급 쿼리로 SQL실력을 높이고 싶은 개발자


    [서평]

    왜 SQL을 배워야 할까?

    이 책은 데이터 과학이나 비즈니스 인텔리전스 또는 데이터 분석의 관련 분야 종사자라면, 관계형 데이터베이스의 사용 여부와 상관없이 파이썬이나 R 같은 다른 프로그래밍 언어 및 플랫폼과 더불어 SQL을 알아야 합니다. 데이터는 어디에나 존재하고 급격하게 증가하며, 이러한 데이터로부터 유의미한 정보를 찾아내고자 하는 수요가 점점 커리고 있기 때문 입니다.


    왜 이 책을 읽어야 할까?

    지금 까지 ‘초보자를 위한’ 도서는 많지만 대부분 입문자 수준의 기초지식 정도의 수준의 책들 입니다. 그래서 실무에서 적용하려면 다시 고급 쿼리를 인터넷에서 검색에서 비슷한 내용의 쿼리를 찾아야 합니다. 이 책은 SQL이 제공하는 모든 명령문을 순차적으로 자세히 설명합니다. 본인에게 필요한 내용이 무엇인지 이미 잘 알고 있다면 유용하게 사용할 수 있을 겁니다.


    책의 구성

    총 18개의 장과 2개의 부록으로 구성 되어 있습니다.


    1장은 관계형 모델과 SQL의 등장을 비롯하여 데이터베이스의 역사를 설명 합니다. 

    2장은 MySQL 데이터베이스를 생성한 뒤 책의 예제를 이용해 테이블을 생성하고, 데이터를 인서트하는 방법을 배웁니다. 

    3장은 select문을 설명하고 가장 기초 적인 쿼리인 select, from, where에 대해서 알아봅니다. 

    4장은 select, update, delete문을 배우고 다양한 유형의 조건을 학습할수 있습니다. 

    5장은 테이블 조인을 통해 쿼리가 여러 테이블을 활용하는 방법을 보여줍니다.

    6장은 데이터셋을 소개하고 쿼리 내에서 상호 작용하는 방법을 알려줍니다.

    7장 데이터 조작 또는 변환에 필요한 몇가지 내장 함수를 보여줍니다.

    8장 데이터를 집계하는 방법을 배웁니다.

    9장 서브쿼리를 소개하고 어디서 어떻게 활용할수 있는지 보여줍니다.

    10장 다양한 유형의 테이블 조인을 설명합니다.

    11장 select, insert, update, delete문에 활용할 수 있는 조건식(if-then-else)을 살펴봅니다.


    12장 트랜잭션을 소개하고 사용 방법을 보여줍니다.

    13장 인덱스와 제약조건을 살펴봅니다.

    14장 데이터 복잡성으로부터 사용자를 보호하는 인터페이스를 구축하는 방법을 보여줍니다.

    15장 데이터 딕셔너리의 유용성을 보여줍니다.

    16장 보고 및 분석에 많이 쓰이는 순위와 소계, 기타 값 생성에 필요한 기능을 다룹니다.

    17장 대용량 데이터베이스를 더 쉽게 관리하고 탐색할 수 있는 기법을 보여줍니다.

    18장 비관계형 데이터 플랫폼에서 데이터를 검색할 수 있도록 SQL 변환을 알아 봅니다.


    데이터를 핸들링 하는 종사자, 개발자라면 SQL을 많이 사용을 합니다. 보통 기본적인 SQL은 시중에 넘쳐날 정도로 많이 있습니다. 하지만 실무에 들어가면 기본적인 쿼리로는 해결이 안되는 문제가 많이 있습니다. 인터넷을 검색해도 기초적인 내용만 있습니다. 이책은 SQL 입문부터 고급 기능 까지 자세하게 다룹니다. 이책 한권으로 SQL로 할수 있는 거의 모든것을 할수 있을것이라 생각합니다. SQL의 고급 기능을 배우고 싶다면 이책이 좋은 솔루션이 될것이라 생각합니다.



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

  • 데이터 분석 쪽을 배우다 보니 종종 듣게 되는 언어가 SQL이다. 직접적인 분석 관련 언어는 아니지만 데이터베이스를 만들고 관리하는 쪽과 어느정도 연관이 있다보니 한번쯤은 배우면 좋다는 얘기를 많이 들었다. 하지만 배울때마다 외우거나 기억해야할 게 많아서 쉽게 익히기 어려운게 좀 있었는데 그럴때마다 기본적인 개념이 잘 정리된 책이 있으면 좋겠다는 생각이 들었다. 그런 바람이 통했는지(?) 이번에 한빛에서 새로이 SQL책이 나왔다.


    이번에 한빛미디어 나는 리뷰어다로 받은 책은 러닝 SQL이다. 게다가 동물 시리즈로 나름 인지도가 있는 O'REILLY에서 나온 책이다. 이 시리즈에서 나왔던 이전 책들도 다 각 분야의 기초적인 내용을 심도있게 잘 다루고 있어 무척 만족하면서 보았는데, 그래서인지 이번에 SQL도 기대가 되었다.


     

    책의 목차를 본다면 기존의 SQL책과 큰 차이는 없는 듯 보였다. 기본 쿼리부터 다중쿼리, 필터링 등등 기본적으로 많이 쓰는 구문들을 다 정리하고 보여주는게 다른 책과 큰 차이는 없어보였다. 다만 보통 마지막에 뷰에서 끝나는데 이 책에서는 추가로 아파치 드릴을 비롯한 빅데이터를 소개하며 비관계형 데이터베이스 내용을 맛보기로 보여주는게 눈에 띄었다.


    무엇보다 전체적으로 간단명료하게 설명을 한게 눈에 띄었다. 예제로 보여주는 코드도 간결했고 거기에 각각 실행결과를 잘 보여주고 있었다. 그리고 그 코드에 대한 설명도 길지않고 필요한 부분만 딱딱 끊어서 설명하고 있어서 정말 직관적으로 이해하기가 무척 쉬웠다. 그 덕에 가볍게 공부하면서 보는데도 쉽게 술술 진도빠르게 넘어갈 수 있었다. 


    사실 SQL을 배우는데 있어서 기본적인 질의 구문이나 사실 SQL의 구문 자체는 그리 어렵지는 않은데, 문법이 좀 많은 데다가 실행순서가 헷갈리기에 배우는데는 유독 어려움을 느꼈던 언어라고 생각한다. 하지만 이 책으로 배운다면은 그 어려움은 많이 줄어들지 않을까 한다. 간단명료한 설명과 쉬운 예제들로 정말 SQL을 처음 배우는 누구나 배우기 쉬울 정도로 잘 만든 입문서라고 생각한다. 다른 책 필요없이 이 책만으로도 충분히 SQL을 알차게 배울 수 있을 것 같다. 

부록/예제소스
자료명 등록일 다운로드
DOWNLOAD 예제소스 2021-03-25 다운로드
결재하기
• 문화비 소득공제 가능

배송료 안내

  • 책, 아이템 등 상품을 1만원 이상 구매시 무료배송
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

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

닫기

리뷰쓰기

닫기
* 도서명 :
러닝 SQL
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

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

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

오탈자 등록

닫기
* 도서명 :
러닝 SQL
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
러닝 SQL
구입처*
구입일*
부가기호*
부가기호 안내

* 회원가입후 도서인증을 하시면 마일리지 500점을 드립니다.

* 한빛 웹사이트에서 구입한 도서는 자동 인증됩니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한됩니다.

* 절판도서, eBook 등 일부 도서는 도서인증이 제한됩니다.

닫기

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

자료실