목차

SQL AntiPatterns

8966260047_1.jpg

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

기억 재생을 위한 간략한 정리이다. 실질적으로 왜 해당 항목이 안티 패턴인지에 대한 구체적 이유, 구체적인 해결책은 무엇인지 등에 대해서는 책을 참조한다.

논리적 데이터베이스 설계 안티패턴

무단횡단

순진한 트리

아이디가 필요해

키가 없는 엔트리

엔티티-속성-값

다형성 연관

다중 칼럼 속성

메타데이터 트리블

물리적 데이터베이스 설계 안티패턴

반올림 오류

31가지 맛

유령 파일

인덱스 샷건

쿼리 안티패턴

모르는 것에 대한 두려움

애매한 그룹

임의(random)의 선택

가난한 자의 검색 엔진

스파게티 쿼리

암묵적 칼럼

애플리케이션 개발 안티패턴

읽을 수 있는 패스워드

SQL 인젝션

가상키 편집증

나쁜 것 안 보기

외교적 면책특권

마법의 콩

이 항목은 따로 설명하면, 액티브 레코드가 나쁘다는 얘기가 아니다.

컨트롤러에서 DAO 혹은 액티브 레코드의 DB관련 메소드(혹은 그 외의 데이터 접근에 직접 관련된 메소드)를 직접 호출하지 말라는 얘기이다. Java로 설명하면 Controller는 Service를 호출하고 Service에서 DAO를 호출해야 한다. Controller에서 DAO를 직접 호출되면 안된다. 이 원칙을 액티브 레코드를 사용하는 MVC 프레임워크에서도 그대로 적용하며 Controller에서 ActiveRecord의 데이버테이스 접근 메소드를 직접 호출하지 말고 중간 모델 객체(서비스 객체)를 두라는 의미이다.

책 외의 다른 정보

EXIST()를 사용할 곳에 COUNT() 사용금지