더북(TheBook)

이런 테이블에는 몇 가지 문제점이 있다.

불가능하지는 않지만 성(姓)을 찾기가 어렵다. 이 테이블에 로우가 네 개 이상 있다고 할 때, 성이 Smith인 사람을 찾으려고 LIKE 연산자와 와일드카드 %를 사용하면 성이 Smithson이나 Blacksmith인 사람도 검색될 수 있다.

이름을 검색할 때 효율성이 떨어지는 LIKEsubstring 연산자를 사용해 이름을 추출해야 한다. LIKE 연산자로 검색할 문자 끝에 %를 넣으면 효율적으로 처리할 수도 있지만, 이름에 Mr. 같은 문자가 포함되어 있다면 %를 검색어 앞에 붙여야 하는데 전체 데이터를 스캔하는 비효율성을 야기한다.

거리 이름, 도시, 주(州), 우편번호를 쉽게 찾을 수 없다.

데이터를 그룹으로 묶으면(예를 들어 책의 각 장(章)과 페이지 정보가 있는 다른 테이블과 조인하는 경우), 그루핑된 데이터에서 우편번호, 주, 국가를 추출하기가 매우 어렵다.

스프레드시트 같은 외부 데이터 소스에서 데이터를 가져올 때 이런 유형의 데이터를 볼 가능성이 크다. 실제 사용되는 데이터베이스에서도 이처럼 잘못 설계된 테이블을 어렵지 않게 볼 수 있다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.