간편결제, 신용카드 청구할인
카카오페이 3,000원
(카카오페이 5만원 이상 결제시, 12/1~12/31 기간 중 1회)
인터파크 롯데카드 5% (22,230원)
(최대할인 10만원 / 전월실적 40만원)
북피니언 롯데카드 30% (16,380원)
(최대할인 3만원 / 3만원 이상 결제)
NH쇼핑&인터파크카드 20% (18,720원)
(최대할인 4만원 / 2만원 이상 결제)
Close

SQL AntiPatterns : 개발자가 알아야 할 25가지 SQL 함정과 해법

원제 : SQL antipatterns: avoiding the pitfalls of database programming
소득공제

2013년 9월 9일 이후 누적수치입니다.

판매지수 43
?
판매지수란?
사이트의 판매량에 기반하여 판매량 추이를 반영한 인터파크 도서에서의 독립적인 판매 지수입니다. 현재 가장 잘 팔리는 상품에 가중치를 두었기 때문에 실제 누적 판매량과는 다소 차이가 있을 수 있습니다. 판매량 외에도 다양한 가중치로 구성되어 최근의 이슈도서 확인시 유용할 수 있습니다. 해당 지수는 매일 갱신됩니다.
Close
공유하기
정가

26,000원

  • 23,400 (10%할인)

    1,300P (5%적립)

할인혜택
적립혜택
  • I-Point 적립은 마이페이지에서 직접 구매확정하신 경우만 적립 됩니다.
추가혜택
주문수량
감소 증가
  • 이벤트/기획전

  • 연관도서(106)

  • 상품권

AD

책소개

『SQL ANITPATTERNS』는 일반적으로 사용하는 SQL문이 개발자를 얼마나 수렁에 빠뜨릴 수 있는지 보여준 뒤, 이를 해결할 정석을 가르쳐 준다. 또한 다음과 같은 의문에 대해서도 근거가 명확한 답안을 제시한다. 25가지 안티패턴과 이에 대한 해법을 읽으면서, 20년간 데이터베이스 분야에서 개발자들의 질문에 답해 온 저자의 내공을 전수받을 수 있을 것이다.

출판사 서평

“다들 이렇게 쓰는데 뭐가 잘못이라는 거야?”

모두가 한다고 해서 반드시 옳은 방법은 아니다. 특히 SQL에서는 더욱 그렇다. 이 책은 일반적으로 사용하는 SQL문이 개발자를 얼마나 수렁에 빠뜨릴 수 있는지 보여준 뒤, 이를 해결할 정석을 가르쳐 준다. 또한 다음과 같은 의문에 대해서도 근거가 명확한 답안을 제시한다.

- 이 상품에 대한 태그를 쉼표로 구분해서 저장하면 될까? (2장 「무단횡단」)
- PK가 필요 없다고들 하던데 정말일까? (4장 「아이디가 필요해」)
- 소수 값을 저장하려면 SQL에서도 FLOAT을 사용하면 될까? (10장 「반올림 오류」)
- NULL = NULL이라고 비교했는데 왜 TRUE가 아닐까? (14장 「모르는 것에 대한 두려움」)
- 쿼리에 칼럼 이름을 다 쓰기 귀찮은데, 그냥 *로 해도 되겠지? (19장 「암묵적 칼럼」)

25가지 안티패턴과 이에 대한 해법을 읽으면서, 20년간 데이터베이스 분야에서 개발자들의 질문에 답해 온 저자의 내공을 전수받을 수 있을 것이다.

* 안티패턴 : 널리 사용되지만 실제로는 좋지 않은 패턴

이 책에 수록된 모든 예제 코드는 출판사 스프링노트인 http://insightbook.springnote.com/pages/7943686에서 다운받을 수 있습니다.

목차

옮긴이의 글
한국어판 지은이의 글

1장 개요
1.1 대상 독자
1.2 이 책에 있는 내용
1.3 이 책에 없는 내용
1.4 일러두기
1.5 예제 데이터베이스
1.6 감사의 글

2장 무단횡단
2.1 목표: 다중 값 속성 저장
2.2 안티패턴: 쉼표로 구분된 목록에 저장
2.3 안티패턴 인식 방법
2.4 안티패턴 사용이 합당한 경우
2.5 해법: 교차 테이블 생성

3장 순진한 트리
3.1 목표: 계층구조 저장 및 조회하기
3.2 안티패턴: 항상 부모에 의존하기
3.3 안티패턴 인식 방법
3.4 안티패턴 사용이 합당한 경우
3.5 해법: 대안 트리 모델 사용

4장 아이디가 필요해
4.1 목표: PK 관례 확립
4.2 안티패턴: 만능키
4.3 안티패턴 인식 방법
4.4 안티패턴 사용이 합당한 경우
4.5 해법: 상황에 맞추기

5장 키가 없는 엔트리
5.1 목표: 데이터베이스 아키텍처 단순화
5.2 안티패턴: 제약조건 무시
5.3 안티패턴 인식 방법
5.4 안티패턴 사용이 합당한 경우
5.5 해법: 제약조건 선언하기

6장 엔터티-속성-값
6.1 목표: 가변 속성 지원
6.2 안티패턴: 범용 속성 테이블 사용
6.3 안티패턴 인식 방법
6.4 안티패턴 사용이 합당한 경우
6.5 해법: 서브타입 모델링

7장 다형성 연관
7.1 목표: 여러 부모 참조
7.2 안티패턴: 이중 목적의 FK 사용
7.3 안티패턴 인식 방법
7.4 안티패턴 사용이 합당한 경우
7.5 해법: 관계 단순화

8장 다중 칼럼 속성
8.1 목표: 다중 값 속성 저장
8.2 안티패턴: 여러 개의 칼럼 생성
8.3 안티패턴 인식 방법
8.4 안티패턴 사용이 합당한 경우
8.5 해법: 종속 테이블 생성

9장 메타데이터 트리블
9.1 목표: 확장 적응성 지원
9.2 안티패턴: 테이블 또는 칼럼 복제
9.3 안티패턴 인식 방법
9.4 안티패턴 사용이 합당한 경우
9.5 해법: 파티션과 정규화

10장 반올림 오류
10.1 목표: 정수 대신 소수 사용
10.2 안티패턴: FLOAT 데이터 타입 사용
10.3 안티패턴 인식 방법
10.4 안티패턴 사용이 합당한 경우
10.5 해법: NUMERIC 데이터 타입 사용

11장 31가지 맛
11.1 목표: 칼럼을 특정 값으로 제한하기
11.2 안티패턴: 칼럼 정의에 값 지정.
11.3 안티패턴 인식 방법
11.4 안티패턴 사용이 합당한 경우
11.5 해법: 데이터로 값을 지정하기

12장 유령 파일
12.1 목표: 이미지 또는 벌크 미디어 저장
12.2 안티패턴: 파일을 사용해야 한다고 가정한다
12.3 안티패턴 인식 방법
12.4 안티패턴 사용이 합당한 경우
12.5 해법: 필요한 경우에는 BLOB 데이터 타입을 사용하라

13장 인덱스 샷건
13.1 목표: 성능 최적화
13.2 안티패턴: 무계획하게 인덱스 사용하기
13.3 안티패턴을 인식하는 방법
13.4 안티패턴 사용이 합당한 경우
13.5 해법: 인덱스를 MENTOR하라

14장 모르는 것에 대한 두려움
14.1 목표: 누락된 값을 구분하기
14.2 안티패턴: NULL을 일반 값처럼 사용
14.3 안티패턴 인식 방법
14.4 안티패턴 사용이 합당한 경우
14.5 해법: 유일한 값으로 NULL을 사용하라

15장 애매한 그룹
15.1 목표: 그룹당 최댓값을 가진 행 얻기
15.2 안티패턴: 그룹되지 않은 칼럼 참조
15.3 안티패턴 인식 방법
15.4 안티패턴 사용이 합당한 경우
15.5 해법: 칼럼을 모호하게 사용하지 않기

16장 임의의 선택
16.1 목표: 샘플 행 가져오기
16.2 안티패턴: 데이터를 임의로 정렬하기
16.3 안티패턴 인식 방법
16.4 안티패턴 사용이 합당한 경우
16.5 해법: In No Particular Order

17장 가난한 자의 검색 엔진
17.1 목표: 전체 텍스트 검색
17.2 안티패턴: 패턴 매칭 사용
17.3 안티패턴 인식 방법
17.4 안티패턴 사용이 합당한 경우
17.5 해법: 작업에 맞는 올바른 도구 사용하기

18장 스파게티 쿼리
18.1 목표: SQL 쿼리 줄이기
18.2 안티패턴: 복잡한 문제를 한 번에 풀기
18.3 안티패턴 인식 방법
18.4 안티패턴 사용이 합당한 경우
18.5 해법: 분할해서 정복하기

19장 암묵적 칼럼
19.1 목표: 타이핑 줄이기
19.2 안티패턴: 지름길만 좋아하면 길을 잃는다
19.3 안티패턴 인식 방법
19.4 안티패턴 사용이 합당한 경우
19.5 해법: 명시적으로 칼럼 이름 지정하기

20장 읽을 수 있는 패스워드
20.1 목표: 패스워드를 복구하거나 재설정하기
20.2 안티패턴: 패스워드를 평문으로 저장하기
20.3 안티패턴 인식 방법
20.4 안티패턴 사용이 합당한 경우
20.5 해법: 패스워드의 소금 친 해시

21장 SQL 인젝션
21.1 목표: 동적 SQL 쿼리 작성하기
21.2 안티패턴: 검증되지 않은 입력을 코드로 실행하기
21.3 안티패턴 인식 방법
21.4 안티패턴 사용이 합당한 경우
21.5 해법: 아무도 믿지 마라

22장 가상키 편집증
22.1 목표: 데이터 정돈하기
22.2 안티패턴: 모든 틈 메우기
22.3 안티패턴 인식 방법
22.4 안티패턴 사용이 합당한 경우
22.5 해법: 극복하라

23장 나쁜 것 안 보기
23.1 목표: 코드를 적게 작성하기
23.2 안티패턴: 짚 없이 벽돌 만들기
23.3 안티패턴 인식 방법
23.4 안티패턴 사용이 합당한 경우
23.5 해법: 에러에서 우아하게 복구하기

24장 외교적 면책특권
24.1 목표: 관례 따르기
24.2 안티패턴: SQL을 2등 시민으로 만들기
24.3 안티패턴 인식 방법
24.4 안티패턴 사용이 합당한 경우
24.5 해법: 초당적 품질 문화 확립

25장 마법의 콩
25.1 목표: MVC에서 모델 단순화하기
25.2 안티패턴: 액티브 레코드인 모델
25.3 안티패턴을 인식하는 방법
25.4 안티패턴 사용이 합당한 경우
25.5 해법: 액티브 레코드를 가지는 모델

부록 A 정규화 규칙
A.1 관계형의 뜻
A.2 정규화에 대한 미신
A.3 정규화란?
A.4 상식

부록 B 참고문헌

저자소개

생년월일 -

해당작가에 대한 소개가 없습니다.

생년월일 -

해당작가에 대한 소개가 없습니다.

이 상품의 시리즈

(총 108권 / 현재구매 가능도서 107권)

선택한 상품 북카트담기
펼쳐보기

컴퓨터/인터넷 분야에서 많은 회원이 구매한 책

    리뷰

    0.0 (총 0건)

    구매 후 리뷰 작성 시, 북피니언 지수 최대 600점

    리뷰쓰기

    기대평

    작성시 유의사항

    평점
    0/200자
    등록하기

    기대평

    10.0

    판매자정보

    • 인터파크도서에 등록된 오픈마켓 상품은 그 내용과 책임이 모두 판매자에게 있으며, 인터파크도서는 해당 상품과 내용에 대해 책임지지 않습니다.

    판매자

    (주)교보문고

    상호

    (주)교보문고

    사업자 종류

    법인사업자

    사업자번호

    102-81-11670

    연락처

    1544-1900

    이메일

    callcenter@kyobobook.co.kr

    통신판매 신고 번호

    01-0653

    영업소재지

    서울특별시 종로구 종로 1(종로1가,교보빌딩)

    교환/환불

    반품/교환 방법

    ‘마이페이지 > 취소/반품/교환/환불’ 에서 신청 또는 1:1 문의 게시판 및 고객센터(1577-2555)에서 신청 가능

    반품/교환가능 기간

    변심 반품의 경우 출고완료 후 6일(영업일 기준) 이내까지만 가능
    단, 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내

    반품/교환 비용

    변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
    상품이나 서비스 자체의 하자로 인한 교환/반품은 반송료 판매자 부담

    반품/교환 불가 사유

    ·소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    (단지 확인을 위한 포장 훼손은 제외)

    ·소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    예) 화장품, 식품, 가전제품(악세서리 포함) 등

    ·복제가 가능한 상품 등의 포장을 훼손한 경우
    예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집

    ·시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우

    ·전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우

    상품 품절

    공급사(출판사) 재고 사정에 의해 품절/지연될 수 있음

    소비자 피해보상
    환불지연에 따른 배상

    ·상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨

    ·대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

    배송안내

    • 교보문고 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다.

    • 출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 상품을 기준으로 배송됩니다.

    • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능합니다.

    • 배송비는 업체 배송비 정책에 따릅니다.

    • - 도서 구매 시, 1만 원 이상 무료, 1만원 미만 2천 원 - 상품별 배송비가 있는 경우, 상품별 배송비 정책 적용