이 상품은 구매 후 지원 기기에서 예스24 eBook앱 설치 후 바로 이용 가능한 상품입니다.
|
옮긴이의 글한국어판 지은이의 글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 Order17장 가난한 자의 검색 엔진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 참고문헌
|