[데이터베이스] 5. 개념적 데이터 모델링 : 실습

- 위와 같은 다섯 단계로 데이터베이스를 설계하게 된다.


- 설계 1단계는 개발할 데이터베이스의 용도를 파악해야 한다. 업무에 필요한 데이터와, 그 데이터에 어떤 처리가 필요한지를 고려해야 한다.
- 결과물로 요구 사항 명세서가 도출된다.
- 데이터베이스를 실제로 사용할 사용자의 범위 결정, 사용자가 수행하는 업무 분석, 면담, 설문조사, 업무관련 문서 분석 등으로 요구사항 수집, 분석결과 바탕으로 요구사항 명세서를 작성하는 것이 1단계의 주요 작업이다.

- 위와 같이 가상의 온라인 쇼핑몰의 요구사항을 분석하여 요구사항 명세서를 도출할 수 있다.


- 설계 2단계는 요구사항 명세서를 바탕으로 개념적으로 표현하는 과정이다.
- 이를 통해 E-R 다이어그램을 도출한다.

- 크게 세 가지 스텝으로 분류된다. 먼저 개체가 무엇인지 결정하고 개체의 속성과 키 속성을 선별한 후에, 개체 간의 관계를 결정하고, 이를 e-r 다이어그램으로 표현한다.

- 개체와 속성을 추출하는 것이 1단계이다. 개체는 저장할만한 가치가 있는 것이다.
- 요구사항 문장에서 업무와 관련이 깊은 의미 있는 명사를 찾아내고, 찾아낸 명사를 개체와 속성으로 분류하며 개체를 추출한다.
- 의미가 같은 명사가 여러개면 대표 명사 하나만 선택하고, 업무와 관련이 적은 일반적이고 광범위한 명사는 제외한다.

- 위 사례처럼 요구사항 명세서를 활용해 개체가 되는 명사를 찾아내고, 아이디, 비밀번호, 등급 등으로 분류시킬 수 있다.



- 따라서 전체 14번까지의 요구사항 명세 확인을 통해 명사를 찾아내고 개체와 속성을 찾을 수 있다.

- 최종 결과로 개채와 개체 속성을 추출해 테이블을 생성할 수 있다.


- 추출한 개체와 속성으로 E-R 다이어그램을 형성했다.

- 두 번째인 관계를 추출하는 단계다. 관계는 개체 간의 의미있는 연관성이다
- 요구사항 문장에서 개체간의 연관성을 의미 있게 표현한 동사를 찾는 것이 핵심이다.
- 찾아낸 관계에 대해 매핑 카디널리티(일대일 일대다...)와 참여 특성(필수,선택)을 결정해야 한다.

- 요구사항 명세에서 찾아낸 동사가 개체-개체 간 관계가 아니므로 제외한다.

- 위 요구사항 명세서에서 회원-상품 개체 간 주문이라는 관계가 다대다로 형성되어 있으며, 회원 개체는 관계에 선택적으로, 상품 개체는 관계에 선택적으로 참여함을 알 수 있다.

- 제조업체-상품 간 공급이라는 관계를 확인할 수 있고, 매핑 카니널리티가 일대다 관계이다. 상품개체는 관계에 필수적, 제조업체는 선택적으로 참여한다.

- 회원-게시글 간 작성이라는 관계를 확인할 수 있고, 일대다 관계이다. 회원은 관계에 선택적, 게시글은 필수적으로 참여한다.

- 궁극적으로 요구사항 명세서에서 개체 간 의미 있는 동사를 선별하고,




- 확인한 관계를 E-R 다이어그램으로 표현할 수 있다.

- 마지막 3단계는 스텝 1과 2에서 도출한 E-R 다이어그램을 최종적으로 연결해주어 E-R 다이어그램을 작성하는 것이다.