|
예제를 찾기 힘들기 때문에 데브피아에 올라온 질문을 토대로 설명을 해보도록 하겠다. (질문 원본) 질문의 내용은 업체별 제품별 제품규격별 가격을 변동을 관리해야하는데 어떻게 해야 좋은 모델을 만들 수 있을까이다. 질문에서 보면 핵심이 되는 엔터티 집합은 ‘업체’와 ‘제품’이다. 제품규격은 코드성 엔터티 집합으로 만약 업계표준 같은 것이 정해져 있다면 코드 엔터티 집합이라는 것은 명확해진다. 여기서 ‘업체’는 질문에서 보면 ‘제조업체’로 볼 수 있다. ‘제조업체’는 현재로써 특별히 관리해야 할 건덕지가 보이지 않으므로 이것도 코드 엔터티 집합으로 볼 수 있다. 그러므로 다음의 엔터티 집합이 본래의 모습이다.
--이벤트까지관리 시작일 종료일 -------- -------- 20010107 20010502 20010502 20010707 20010707 20011107 20011107 20011207 --이력만관리 시작일 종료일 -------- -------- 20010107 20010501 20010502 20010706 20010707 20011106 20011107 20011206 어찌되었건 최종적으로 다음과 같은 모델이 될 것이다.
select a.제조업체명 , b.제품명 , d.제품규격 , c.가격 from 제조업체 a inner join 제품 b on a.제조업체번호 = b.제조업체번호 inner join 가격변동이력 c on a.제품번호 = c.제품번호 inner join 제품규격 d on c.제품규격번호 = d.제품규격번호 where '20071026' between c.시작일 and c.종료일 요구사항에 따라서 제품규격을 알기 위해서는 항상 ‘가격변동이력’과 조인해야 함이 부담스럽다면 다음과 같은 비정규화도 고려해 볼 수 있다.
|
by 이재학 이글루 파인더
카테고리
최근 등록된 덧글
이글루링크
| |||