거리 번호(AuthStNum)를 문자 데이터 타입으로 사용한 점에 주목하자. 거리 ‘번호’에는 문자나 특수 문자가 포함되는 경우가 흔하기 때문이다. 예를 들어 일부 거리 번호는 1/2을 포함한다. 또 프랑스에서는 거리 번호에 bis를 붙인다. 미국에서는 우편 번호가 숫자 형태이지만 캐나다와 영국에서는 문자와 공백이 포함되어 있다.
여기서 제안한 테이블 형태로 설계하면 표 1-2와 같이 한 컬럼당 특성 하나로 데이터를 분리할 수 있다.
▼ 표 1-2 컬럼당 특성을 한 개 갖도록 제대로 설계한 Authors 테이블
AuthID |
AuthFirst |
AuthMid |
AuthLast |
AuthStNum |
AuthStreet |
… |
1 |
John |
L. |
Viescas |
144 |
1Boulevard Saint-Germain |
1… |
2 |
Douglas |
J. |
Steele |
555 |
Sherbourne St. |
… |
3 |
Ben |
|
Clothier |
2015 |
Monterey St. |
… |
4 |
Tom |
|
Wickerath |
2317 |
185th Place NE |
… |
… |
AuthCity |
AuthStProv |
AuthPostal |
AuthCountry |
… |
Paris |
|
75006 |
France |
… |
Toronto |
ON |
M4X 1W6 |
Canada |
… |
San Antonio |
TX |
78207 |
USA |
… |
Redmond |
WA |
98052 |
USA |
이제 컬럼당 특성이 한 개만 있으므로 하나 이상의 개별 특성에서 검색이나 그루핑을 쉽게 할 수 있다.