본문 바로가기
개발/소프트웨어 공학

정보 모델링

by re-hwi 2022. 1. 12.

정보 모델링은 전에 정처기 공부했을 때 배웠던 내용이 많아 상당히 쉬웠다.

이 단원을 공부하며 어려웠던 동적 모델링도 다시한번 복습할 수 있는 시간을 가졌고, 떨어져 가던 내 의욕에 다시 불을 붙힐 수 있는 계기가 됬다.

사실 이 단원은 전에 공부했었는데 앞단원에서 막혀서 블로그도 늦게 쓰는 중이다. 그래서 다시 복습겸 블로그 작성을 하고 자려고 한다.


정보 모델링

- 시스템에 사용되는 데이터베이스의 구조를 알아내 데이터를 개념적 차원에서 기술한다.
- 물리적인 면은 나타내지 않는다.
- ER모델(Entity-Relationship)이 가장 많이 사용된다.

ER모델
- 엔티티와 객체들 사이의 연관성을 나타내는 관계로 구성

*엔티티 : 독립적으로 존재하는 사물 혹은 객체
ex) 명재휘
*엔티티 타입 : 엔티티들 사이의 같은 속성을 공유하는 엔티티의 집합
ex) 2학년

속성, 엔티티타입, 관계타입

위의 그림에서 사각형인 '대한민국 사람' 은 엔티티 타입, 타원형인 여러 객체를 속성, 마름모관계타입을 표시한다. 은 속성과 엔티티 타입을 연결한다.

또한 밑줄이 쳐져있는 직원이름, 부서이름 이 엔티티를 가장 대표하는 엔티티로서 key 속성이라고 부른다.


ER모델은 데이터 사이에 지켜야 할 제약조건을 정할 수 있다.

이를 '매핑 제약조건' 이라고 부르는데 하나의 관계타입을 통하여 참여하는 엔티티 타입에 속한 엔티티들 사이에 맺어질 수 있는 매핑 수를 제한한다.

말이 되게 어렵다고 느껴질 수 있는데 사실 크게 어렵지 않다. 예시를 보고 이해하면 쉽다.

1.일대일
하나의 엔티티는 다른 엔티티 타입에 있는 하나의 엔티티에만 관련된다.

2. 일대다

x에 속한 한 엔티티는 y에 속한 한 엔티티에만 관련되고 y에 속한 한 엔티티는 x의 여러 엔티티에 관련될 수 있다
ㄴ 여기서 x가 아니라 z아닌가? 직원과 부서는 다른 엔티티타입인것 같은데 왜 같은거라고 써있는지

3. 다대다


참여제약조건

한 엔티티가 관계에 참여하는 것이 필수인지 선택인지 지정해주는 제약조건
ex) 결혼 (선택), 회사의 근무하는 직원들의 부서 (필수)

관계타입차수

참여하는 엔티티 타입의 수.

근무 결혼등 차수가 2개인 경우 2차, 차수가 3개인 경우 3차 관계타입이라고 한다.
ㄴ 왜 앞에 있던 관계타입이 2차인가 x, y, z 이렇게 3개가 아니고 책에는 x, y라고 나와있음 (p. 210)

3차 관계타입은 2차 관계타입으로 대치될 수 없다.

3차 관계타입


일반화

엔티티 타입 사이에 유사성이 존재할 때 이 유사성을 모아 새로운 엔티티 타입을 정의내리는 것

예를 들자면 교수와 학생의 엔티티 타입을 '사람' 이라는 또 다른 상위 엔티티 타입으로 묶을 수 있다.

일반화

이렇게 상위 엔티티 타입에 ㅡ 표시를 해서 하위클래스와 구별한다.


이번 단원은 저번에 공부했을 땐 한번에 이해가 됬었는데 다시 천천히 살펴보며 복습하니까 저번에 놓친 부분들을 많이 찾을 수 있었다.

정처기 공부할땐 하나도 이해가 안갔었는데 그래도 머릿속엔 들어갔었나보다

덕분에 이 단원은 쉽게 끝낼 수 있었고 다음 단원도 컴활 공부하면서 배웠던 거라 좀 마음이 편하다. ㅋ 나 진짜 열심히 살았네 암튼 오늘은 여기까지

반응형

'개발 > 소프트웨어 공학' 카테고리의 다른 글

유스케이스와 UML  (0) 2022.01.19
객체지향 분석 기법  (0) 2022.01.17
동적모델링(2)  (0) 2022.01.12
동적 모델링(1)  (0) 2022.01.09
기능 모델링  (1) 2022.01.06

댓글