들어가며 |
업무 시나리오를 읽고, DAP 실기를 연습한다는 마음으로 엔티티정의서, 논리데이터 모델 및 표준화정의서를 작성한다. |
업무시나리오 |
출처 : "데이터베이스 설계와 구축(개정판)" 이춘식, 한빛미디어 2005, 388 Page |
우리 회사는 서울에 본사를 두고 전국적으로 10개의 지사를 둔 의약 제품 중간 유통 업체다. 이번 시스템은 서울 본사와 서울 지사에 대해서 우선적으로 데이터베이스 구축하고, 나머지 지사에 대해서는 추후 시스템을 확장 하도록 한다. 본사에서는 의약 제품을 납품하는 업체들로부터 제품을 납품받아서 단가 및 재고를 관리한다. 또한 전국에서 일하는 부서와 사원은 본사에서 일괄 관리하며, 모든 일처리는 해당 사원들이 담당한다. 지사에서는 고객으로부터 주문을 받으면 본사에서 관리하는 제품을 이용하여 주문된 제품이 있다면 고객에게 배송한다. 이때 배송을 담당하는 업체는 별도로 존재하며 우리 시스템에서는 기본 데이터만 관리한다. 사원정보와 제품정보는 본사에서 관리되지만 빠른 일처리를 위해 지사에서도 동일한 데이터를 위치 시키도록 한다. 회계 시스템에서 주문관리 시스템에 있는 사원정보를 이용한다. 그러나 급여에 관련된 정보는 보여주지않는다. |
엔티티 정의서 작성 |
![]() |
논리데이터모델 작성. Step 1. 중심 엔티티의 중앙에 배치한다. |
![]() |
가장 관계(Relationship)이 많은 Entity를 중앙에 배치한다. 관계( Relationship) 설명 - "주문"은 "주문목록"을 여러게 가지거나, 가지지 않을 수 있다. (Relationship : Optional, may be) - "주문목록"은 "주문"을 반드시 가져야 하고, 하나의 주문과만 연관된다. (Relationship : Mandatory, must be) [Database] Barker(바커) 표기법, I/E 표기법 |
논리데이터모델 작성. Step 2. 기본, 행위 엔티티의 작성한다. |
![]() |
논리데이터모델 작성. Step 3. 속성을 작성한다. |
![]() |
주문단가, 주문금액은 반정규화(Denormalization) 입니다. 음....DAP실기 논리데이터모델 관점에서는 수문수량...까지만 작성하는 게 맞는 것인지도 모르겠습니다.^^ 운영할 때, 이번달에 주문 금액 또는 업체별 주문급액 등을 검색 할때, 제품 Table과 Join을 피하기 위해 주문 단가를 주문목록에 포함합니다. ^^ 그리고, 제품의 단가는 시간의 흐름에 따라 변경됨으로, 주문하는 시점의 단가가 주문 목록에 없다면? 제품의 단가 변경이력 Table을 검색하는 일이 발생할 수 있습니다. |
논리데이터모델 작성. Step 4. 관계명을 작성한다. |
![]() |
관계명은 양방향이지만 1:N에서 1의 관점에서 N의 관계를 기본으로 서술한다. |
마치며 |
손으로 그리는 표, ERD는 어색합니다. Excel과 ERD Tool로 작업하다고, DAP 시험을 위해서 손으로 그리는 연습 중입니다. DAP 실기시험을 준비하는 분, ERD 작성을 배우는 분에게 도움이 되길 바라며, 여기 기록 합니다. |
'데이터 모델링 & DAP > (Case Study) DAP 실기' 카테고리의 다른 글
(Case Study) 비디오 가게 (0) | 2025.02.01 |
---|---|
(Case Study) 스포츠용품판매 (0) | 2025.01.28 |
(한국데이터산업진흥원) 표준화 정의서 양식 (0) | 2025.01.25 |
(Case Study) IT기술전문학원 (0) | 2025.01.25 |
(한국데이터산업진흥원) 데이터아키텍처 시험주요내용(실기) (0) | 2025.01.25 |