-
5일차 - 개념적 데이터 모델링: 실습CS지식/데이터베이스 2021. 4. 20. 22:10
오늘은 저번 시간에 이론적으로 배운 개념적 데이터 모델링에 대해서 실습해보는 시간을 가졌다.
프로그래밍 언어를 통해 실습을 하는 시간은 아니지만 요구사항 명세서를 바탕으로 개념적 모델링을 해보면서
데이터베이스 설계의 초반 단계를 실습할 수 있어 필요한 시간이라고 생각한다.
1. 개념적 설계
저번 시간에 데이터베이스 설계에는 총 5단계로 이루어져 있고 그 중 2단계를 개념적 설계라고 하였다.
개졈적 설계는 1단계인 요구사항 분석의 결과물을 바탕으로 개념적 데이터 모델을 이용해 개념적 구조로 표현하는 것으로 일반적으로 E-R모델을 많이 사용한다.
E-R모델을 구성하는 요소인 개체, 관계, 속성 3가지가 key point이다.
개념적 설계는 3단계로 나누어 얘기할 수 있다.
첫번째 단계는 개체 추출과 각 개체의 주요 속성, 속성 선별
두번째 단계는 개체 간의 관계 결정
세번째 단계는 E-R다이어그램으로 표현
첫번째 단계에서 개체를 추출할 때에는 어떻게 하면 될까?
1) 요구사항 분석 명세서에서 업무와 관련이 깊은 의미 있는 명사를 찾는다.
예를 들어, 병원 데이터베이스를 개발하려고 한다면 환자, 병실, 의사 등이 업무와 관련이 깊은 명사일 것이다.
이렇게 업무와 관련이 깊은 의미 있는 명사를 찾을 때에는
업무와 관련이 적은 일반적이고 광범위한 의미의 명사는 제외하고
의마가 같은 명사가 여러 개일 경우는 대표 명사 하나만 선택을 한다.
2) 찾아낸 명사를 개체와 속성으로 분류한다.
요구사항 분석 명세서에서 찾은 명사가 모두 개체가 될 수 있지는 않다.
속성과 착각할 수 있으므로 잘 판단해야한다.
두번째 단계에서 관계를 추출할 때에는 어떻게 하면 될까?
(관계는 개체와 개체 간의 의미있는 연관성을 의미한다.)
1) 요구사항 분석 명세서에서 개체 간의 연관성을 의미있게 표현한 동사를 찾는다.
2) 찾아낸 관계에 대해 매핑 카디널리티와 참여 특성을 결정해야한다.
매핑 카디널리티: 일대일, 일대다, 다대다
참여 특성: 필수적 참여/ 선택적 참여
매핑 카디널리티에 대해 예를 들어 설명해보면, 병실과 환자 개체가 있다고 생각해보자.
환자는 병실에 입원해있다는 관계가 있고 환자는 한 명당 1개의 병실에만 입원할 수 있지만
병실은 다수의 환자를 포함할 수 있다.
이러할 경우 일대다가 되는 것이다.
오늘 배운 것이 실습 위주여서 개념을 정리할만한게 많지는 않다.
하지만 꼭 이 글을 봤다면 아래 URL을 통해 실습을 해보는 것을 추천한다.
www.kocw.net/home/search/kemView.do?kemId=1163794
'CS지식 > 데이터베이스' 카테고리의 다른 글
7일차 - 관계 데이터 모델링: 실습 (0) 2021.04.27 6일차 - 관계 데이터 모델링 (0) 2021.04.23 4일차 - 데이터 모델링 (0) 2021.04.17 3일차 - 데이터베이스 시스템 (0) 2021.04.13 2일차 - 데이터베이스 관리시스템(DMBS) (0) 2021.04.09