정규화 테이블
모델1 : 고객 (고객번호, 고객명, 집전화번호, 핸드폰번호) 로 구성된 비정규화된 모델
모델2 : 고객 (고객번호, 고객명), 고객전화번호 (고객번호, 번호종류, 번호) 로 구성된 정규화 모델
이 경우 사업장전화번호를 추가하여야 할 경우 모델1의 경우, 컬럼을 추가하여야 함, 컬럼이 추가되면 테이블 사이즈는 증가함
반면 모델2의 경우 컬럼을 추가할 필요가 없음
(모델2의 경우 테이블 사이즈가 증가할 가능성은 적지만 조인 횟수가 증가하므로 테이블 사이즈 증가량과 조인횟수의 증가량이
성능에 어느정도 영향을 미칠지에 대한 검토가 필요함)
쿼리 작성 방법에 따라 모델1의 경우 쿼리 변경이 필수적이지만 모델2의 경우에는 쿼리 변경이 필요하지 않을 수도 있음
select a.고객번호
, a.고객명
, (select listagg(b.번호,',') within group(order by b.번호종류)
from 고객전화번호 b
where b.고객번호 = a.고객번호) 고객전화번호
from 고객 a
- 강좌 URL : http://www.gurubee.net/lecture/3685
- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.