JavaRush /Java Blog /Random-KO /"SQL."이라는 책의 리뷰입니다. 레시피 모음”(Anthony Molinaro 저)

"SQL."이라는 책의 리뷰입니다. 레시피 모음”(Anthony Molinaro 저)

Random-KO 그룹에 게시되었습니다
안녕하세요 여러분. Java 개발자가 되고 싶은 목적 있는 사람들이 여기에 모였습니다. 그리고 이것은 논리적입니다. JavaRush는 이를 위해 만들어졌습니다. 본격적인 개발자가 되려면 특정 주제 목록을 알아야 합니다. 나는 이 기사에서 Java 개발자에게 필요한 지식의 전체 체크리스트를 설명했습니다 . "SQL."이라는 책의 리뷰입니다.  Anthony Molinaro의 레시피 모음 - 1따라서 이 목록에 필요한 주제 중 하나는 SQL 언어에 대한 지식과 하나 이상의 관계형 데이터베이스에 대한 지식입니다. 좋은 소식은 Java 개발자에게 충분한 수준으로 SQL을 배우려면 단 한 권의 책만 있으면 된다는 것입니다! SQL에 대한 초기 입문에 적합한 책에는 많은 옵션이 있지만 오늘은 "SQL"에 중점을 두고 싶습니다. 요리법 모음”(Anthony Molinaro). "SQL."이라는 책의 리뷰입니다.  레시피 모음” 앤서니 몰리나로 - 2이 책의 특징은 기본적인 수준에서 SQL을 공부하는 것 외에도 여러 데이터베이스에 대해 한 번에 익숙해지고 해당 데이터베이스에 대한 쿼리가 어떻게 다른지, 특정 데이터베이스의 기능은 무엇인지 확인할 수 있다는 것입니다. 이 책에서는 다음 데이터베이스에 대한 쿼리를 다룹니다.
  • DB2;
  • 오라클 데이터베이스;
  • 포스트그레SQL;
  • SQL 서버;
  • MySQL.

누구를 위한 책인가?

  • 초보 개발자

우선, 이 책은 예를 들어 Java를 사용하는 초보 개발자에게 유용할 것입니다. 다양한 관계형 데이터베이스를 기초적인 수준에서 다루어야 하므로 이 책은 SQL에 필요한 지식을 얻는 데 도움이 될 것입니다.

  • 숙련된 개발자

아마도 당신은 이미 SQL 쿼리 작성에 대해 잘 알고 있을 것입니다. 그러나 이 책은 당신을 즐겁게 놀라게 하고 당신의 지식을 보완할 것입니다. 또는 예를 들어 익숙하지 않은 관계형 데이터베이스가 있는 프로젝트로 이동합니다. 그러면 이 책의 도움으로 익숙한 데이터베이스의 쿼리를 새로운 데이터베이스에 비유할 수 있을 것입니다.

  • 초급 SQL 개발자

당신은 데이터베이스 개발자가 되는 것에 대해 생각하고 있을 수도 있습니다. 그렇다면 이 책이 당신에게 딱 맞습니다! 다양한 데이터베이스에 대해 논의된 SQL의 기초를 학습하고, 앞으로 더 자세히 학습하게 될 "자신의" 데이터베이스를 선택할 수 있습니다.

이 책의 내용은 무엇입니까?

이 책은 장별로 기본 SQL 주제와 다양한 SQL 문제 및 해결 방법을 다루고 있습니다. 따라서 참고 자료로 사용할 수 있습니다. 문제가 발생했고 이를 해결하기 위한 적절한 방법을 찾고 있으며 현재 상황에 맞는 솔루션을 만들고 있습니다. 이 책의 페이지에는 150개 이상의 요리법이 포함되어 있습니다. 예, 정확히 SQL 쿼리를 작성하는 방법입니다. 이것이 바로 책에 이 이름이 붙은 이유입니다. "SQL."이라는 책의 리뷰입니다.  레시피 모음” 앤서니 몰리나로 - 3이 책을 읽고 나면 무엇을 해야 할까요?
  1. 실험하는 것을 두려워하지 마세요. 시행착오를 통해서만 귀중한 경험을 얻을 수 있으니 연습하고 연습하고 또 연습하세요!
  2. 테스트해보세요. 내 말은, 이 책을 읽으면서 병렬로 주어진 쿼리의 예를 시험해 보는 것이 더 낫다는 것입니다. 덕분에 당신의 기억에 잘 기억될 것입니다.
  3. 반복은 배움의 어머니이다. 따라서 앞으로 쿼리 작성 시 문제가 발생하지 않도록 요점을 적어두고 주기적으로 반복할 수 있는 메모를 도입하는 것이 좋습니다.
  4. 새로운 것이 항상 더 나은 것을 의미하는 것은 아니라는 점을 이해해야 합니다. 최신 SQL 기능(예: 창 함수) 중 일부를 사용하지 않는다고 해서 코드가 효과적이지 않다는 의미는 아닙니다. 결국 기존 SQL 솔루션이 새로운 솔루션보다 나쁘지 않고 때로는 더 나은 예도 많이 있습니다.
  5. 실험하는 것을 두려워하지 마십시오. 창의력을 발휘해 작업해 보세요! 결국 모든 솔루션은 아직 발명되지 않았습니다. 아마도 귀하의 상황에서는 창의적인 접근 방식이 가장 좋을 것입니다.
"SQL."이라는 책의 리뷰입니다.  레시피 모음” 앤서니 몰리나로 - 4이제 책의 내용을 조금 살펴보겠습니다.

1. 기록 추출

이 장에서는 가장 간단한 첫 번째 쿼리를 살펴봅니다. 예제에서 다음을 볼 수 있습니다:
  • WHERE 절을 사용하여 공통 결과 집합으로 행을 선택하는 방법
  • 결과 열에 별칭을 할당하는 방법
  • 별칭으로 열에 액세스하기 위해 하위 쿼리를 사용하는 방법
  • 결과 행에 반환되는 수를 제한하는 방법
  • 임의의 문자열을 반환하고 NULL 값을 감지하는 방법.
일반적으로 예제는 매우 간단하지만 동시에 노련한 개발자도 놀라게 할 수 있는 몇 가지 예가 있습니다.

2. 쿼리 결과 정렬

이 장에서는 쿼리 결과 정렬에 대해 설명합니다. 실제로 ORDER BY 연산자가 이 작업에 사용됩니다 . 단순히 단일 열을 정렬하는 것부터 하위 문자열을 기준으로 정렬하고 다양한 조건을 사용하여 정렬하는 것까지 다양한 복잡성의 예를 볼 수 있습니다.

3. 여러 테이블 작업

이 부분에서는 여러 테이블의 데이터를 결합하는 방법을 소개합니다. 테이블 조인이 SQL의 기본 요소 중 하나라고 해도 거짓말이 아닐 것입니다. SQL을 성공적으로 사용하려면 이러한 지식을 습득하고 사용할 수 있어야 합니다. 여기서는 내부 및 외부 조인, 데카르트 곱, 기본 집합 연산(뺄셈, 합집합, 교집합) 및 조인이 집계 함수에 영향을 미치는 방식의 예를 볼 수 있습니다.

4. 삽입, 업데이트, 삭제

이번 섹션에서는 데이터를 삽입, 업데이트, 삭제하는 SQL 쿼리를 학습합니다. 한 테이블에서 다른 테이블로 행을 삽입하거나 업데이트 중에 관련 하위 쿼리를 사용하는 등의 더 흥미로운 예도 논의됩니다. NULL 값의 결과를 이해하고 다중 테이블 삽입, MERGE 명령 등에 대해 알아봅니다.

5. 메타데이터 요청

이 장에서는 사용 중인 데이터베이스의 메타데이터에 액세스하기 위한 쿼리 작성에 대해 설명합니다. 인덱스, 제약 조건 및 스키마 테이블을 아는 것이 유용합니다. 여기에 제안된 간단한 쿼리를 사용하면 스키마 자체에 대한 정보를 얻을 수 있습니다. 또한 이 장에서는 "동적 SQL", 즉 SQL에 의해 생성된 SQL의 예를 보여줍니다.

6. 문자열 작업

이 장에서는 문자열 작업을 위한 기술을 소개합니다. SQL은 문자열 구문 분석 기능으로 알려진 적이 없지만 다양한 데이터베이스에서 제공하는 광범위한 기능과 약간의 창의성을 결합하면 이 문제에서 상당한 성공을 거둘 수 있습니다. 사실 이 장에서 재미가 시작됩니다. 몇 가지 예가 여러분을 놀라게 할 것입니다. 예를 들어:
  • 문자열에서 문자의 인스턴스 수를 세는 것;
  • 구분된 목록과 문자열을 테이블 행으로 변환합니다.
  • 테이블 행에서 구분된 목록을 생성합니다.
  • 영숫자로 구성된 문자열의 숫자 데이터와 문자 데이터를 분리합니다.

7. 숫자 작업

이 책의 이 부분에서는 숫자와 관련된 표준 문제를 해결하는 방법을 살펴보겠습니다. 여기서는 일반적인 예를 찾아보고 창 함수가 계산 및 집계 작업을 쉽게 처리하는 방법을 알아볼 수 있습니다. 당신은 배울 것이다:
  • 현재 금액을 계산하십시오.
  • 평균, 중앙값 및 최빈값을 찾습니다.
  • 백분위수를 계산하고;
  • Aggregation을 수행할 때 NULL 값을 처리합니다.

8-9. 날짜 산술

이 두 장에서는 날짜를 다루는 방법을 배우게 됩니다. 왜냐하면 일상적인 문제를 해결할 때 가장 간단하고 일반적인 작업을 수행할 수 있는 능력이 중요하기 때문입니다. 다양한 예제에는 두 날짜 사이의 근무일 수 찾기, 서로 다른 시간 단위로 두 날짜 간의 차이 계산, 일년 중 모든 날짜 반환, 윤년 찾기, 달의 첫 번째와 마지막 날 찾기, 달력 만들기 등이 포함됩니다. . 이 장 이후에는 날짜와 관련된 작업으로 겁을 주기가 매우 어려울 것입니다(그러나 겁을 줄 수도 있습니다).

10. 데이터 범위 작업*

이 장에서는 이미 날짜 범위에 있는 값을 검색하는 방법을 소개합니다. 문자열 시퀀스를 자동으로 생성하고, 누락된 숫자 범위 값을 삽입하고, 값 범위의 시작과 끝을 결정하고, 값 시퀀스를 식별하는 방법을 배우게 됩니다.

11. 고급 검색*

여기서는 일상적인 데이터베이스 작업에 필수적이지만 때로는 어려움을 야기하는 기능을 찾을 수 있습니다. 이 장의 예에는 기사 이동을 사용한 값 검색, 결과 세트를 페이지로 분할, 테이블 행 건너뛰기, 역수 값 검색 등이 포함됩니다.

12. 보고 및 데이터 웨어하우스 관리**

보고서를 생성하려면 특별한 쿼리가 필요한 경우가 많습니다. 이 장은 이를 수행하는 데 도움이 될 것입니다. 여기서는 행을 열로 또는 그 반대로 변환(교차 참조 보고서), 데이터 그룹 생성, 히스토그램 생성, 단순 및 전체 하위 합계 계산, 행의 슬라이딩 창 집계 등의 예를 살펴보겠습니다. , 주어진 시간 간격으로 행을 그룹화합니다.

13. 계층적 쿼리**

이 장에서는 계층적 데이터로 작업할 수 있는 가능성에 대해 설명합니다. 데이터 모델에 관계없이 언젠가는 계층 트리 또는 상위->하위 관계로 형식을 지정해야 할 필요가 있습니다. 따라서 이번 장에서는 이에 대한 문제점과 해결책을 분석해 보겠습니다. 기존 SQL을 사용하면 트리 구조의 결과 집합을 만드는 것이 어렵기 때문에 이 튜토리얼에서는 매우 유용한 특수 기능을 사용하는 방법을 보여줍니다. 예제에서는 상위->하위 관계를 자세히 살펴보고 루트 노드에서 리프 노드까지 계층을 탐색하고 계층을 누적합니다.

14. 물건

마지막으로 이전 장에 포함되지 않았지만 동시에 흥미롭고 유용한 나머지 기능을 모두 볼 수 있습니다. 또한 이 장은 특정 DBMS에 대한 솔루션만을 제공한다는 점에서 나머지 장과 다릅니다. 이것은 레시피당 하나의 데이터베이스만 논의하는 책의 유일한 장입니다. 이는 특정 DBMS의 성능과 특징을 보여주기 위해 수행되었습니다(그들 간의 차이점을 더 잘 느낄 수 있도록). 이 책의 장점:
  1. 많은 예가 있습니다.
  2. "1차" 다이빙에 적합합니다.
  3. 다양한 DBMS의 예를 고려합니다.
  4. 좋은 번역이 있습니다.
단점: 더 복잡하고 구체적이며 드문 작업/문제는 고려되지 않습니다.

책 아날로그

  1. "Learning SQL" - Alan Bewley: 다양한 DBMS를 고려하여 SQL에 대한 초기 입문서이기도 하지만 특히 MySQL에 중점을 둡니다. 이 책의 단점은 새로운 정보를 "씹는" 것이 불충분하다는 것입니다.
  2. "SQL: 언어 학습 가이드" - Chris Fiaily: 다양한 데이터베이스의 기본도 다루는 책입니다. 초보자에게 적합하지만 이미 SQL에 익숙하고 더 자세한 내용을 배워야 한다면 다른 곳을 살펴보는 것이 좋습니다.
  3. "Head First - Learning SQL" - Lynn Bailey: 진입 장벽이 매우 낮은 책으로 많은 기본 사항을 접근 가능하고 자세한 방식으로 전달합니다(때로는 너무 간단할 수도 있음). 예제에서 이 책에서는 위의 유사 데이터베이스와 같은 여러 데이터베이스가 아니라 하나의 데이터베이스인 MySQL을 고려합니다.

결론

Java 개발자가 되겠다고 결심했다면 SQL을 배우지 않고는 할 수 없습니다. 하지만 다행스럽게도 데이터베이스 개발자와 같은 수준으로 알 필요는 없고, 원칙적으로 필요한 지식은 SQL 책 한 권이면 다 다룰 수 있다. 오늘 리뷰한 책은 『SQL. 레시피 모음”또는 제시된 유사품 중 하나가 귀하에게 완벽하게 적합할 수 있습니다. 글쎄, 정확히 무엇을 읽을지(읽지 않을지) 선택하는 것은 귀하의 몫입니다.) PS 다양한 문제를 해결하기 위해 SQL을 작성하는 연습을 손에 넣으려면 이 사이트를 사용할 수 있습니다 . PSS 그리고 여기에서는 책을 읽은 후 데이터베이스에 대한 일반적인 질문에 대해 알아볼 수 있습니다.
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION