-
관계형 데이터베이스 실전 입문후기/Book Review 2018. 5. 13. 18:49728x90반응형
NoSQL 철저 입문을 했으니 이번에는 RDB를 철저 입문했다. 간단히 CRUD를 할 줄 아는 사람들은 많을 것이다. 하지만 좀 더 근본적으로 그 속내와 철학을 알고 바르게 사용 하는 사람들은 얼마 없을 것 같다. RDB를 조금 더 RDB 답게 사용하고자 하는 사람들에게 추천할 만한 책이다.
목차
- SQL과 관계형 모델
- 술어논리와 관계형 모델
- 정규화 논리(첫 번째) - 함수 종속성
- 정규화 이론(두 번째) - 결합 종속성
- 릴레이션의 직교성
- 도메인 설계 전략
- NULL과의 싸움
- SELECT를 공략하자
- 이력 데이터와 친해지기
- 그래프에 맞서다
- 인덱스 설계 전략
- 웹 응용프로그램을 위한 데이터 구조
- 리팩터링 최적의 해결책
- 트랜잭션의 본질
기존의 SQL 설명서 같은 책들과 확연하게 구분되는 점이 있다. 바로 SQL과 관계형 모델을 철저하게 분리하여 설명하는 것이다. 제목이 제목이니만큼 관계형 모델에 초점을 맞추어 설명을 한다. 1,2장을 읽는 동안 이렇게까지 해야하나 싶을 정도로 집합론과 논리학에 대한 부분을 많이 설명하고 있다. 하지만 1,2장의 설명이 3장 이후의 내용들을 이해하는데 매우 중요한 역할을 한다는 것을 느끼게 되었다. 그만큼 관계형 데이터베이스는 집합론과 논리학에 기반하여 만들어진 데이터베이스이다. "SQL 작성해봐서 아는데 그다지 상관 없어 보이는데?"라고 하는 사람들도 있을 수 있다. 당연하다. 왜냐하면 관계형 데이터베이스 != SQL이기 때문이다. 아래와 같은 점들은 대응이 된다.
관계형 모델
SQL
릴레이션
테이블
튜플
행
속성
칼럼
하지만 관계형 모델에는 NULL이라는 것이 없다는 것과 중복이 발생할 수 없다. 왜냐하면 릴레이션을 튜플의 집합으로 보기 때문이다. 자세한 건 책을 참고하자.
릴레이션의 직교성(릴레이션들 간에 중복이 없음) 부분도 인상 깊었다. 정규화에 대한 내용이나 인덱스, 트랜잭션에 관한 부분들을 읽을 때는 학부 3학년 Database 수업이 새록새록 떠올랐다. 그 때 수업을 영어로 안듣고 한글수업으로 들었다면 지금 잘 기억하고 있었을까? 트랜잭션 부분은 구글링해봐도 속시원히 설명이 된 것을 못봤는데 잘 정리되어 있어서 정말 좋았다. 저자에게 물어보고 트랜잭션 부분을 블로그에 정리할 수 있으면 해봐야겠다.
반응형'후기 > Book Review' 카테고리의 다른 글
자바 프로젝트 필수 유틸리티 (0) 2018.06.23 Java 9 모듈 프로그래밍 (0) 2018.06.16 NoSQL 철저 입문 (0) 2018.04.19 토비의 스프링 3.1 Vol.1 (0) 2018.04.07 자바 성능 튜닝 이야기 (0) 2018.03.06