| 모델링이란?
- 모델링이란? 비즈니스 목적에 맞게 현실세계의 데이터를 도식화하는 것
- 왜 모델링을 하는가? 비즈니스 목적에 부합하면서도, 효율적인 자원 관리를 하기 위해
- 모델링의 특징
추상화 | 현실 세계의 실재를 도식화 하는 과정 |
단순화 | 현실 세계의 현상을 약속된 규약에 의해 제한된 표기법 및 언어로 쉽게 표현하는 과정 |
명확화 | 모두가 이해할 수 있도록 모호함을 제거하고 정확하게 현상을 기술하는 과정 |
- 모델링을 바라보는 다른 시각
모델링 | 데이터 | 업무의 내용 (무엇을 - Data). - 요구사항 X는 어떤 데이터와 연관되는가? |
프로세스 | 업무의 처리 (어떻게 - Process). - 요구사항 X와 연관된 기존 시스템은 뭔가? - 요구사항 X를 위한 전반적인 프로세스는 뭔가? |
|
상관 관계 | 데이터와 프로세스간의 관계 - 업무 처리 방법(프로세스)에 따라 데이터는 어떻게 영향을 받는가? |
| 데이터 모델링
- 데이터의 모델링이란? 정보시스템을 구축하기 위한 데이터 기반 업무 분석 기법
- 데이터 모델링 3단계
단계 | 개념적 데이터 모델링(Conceptual) | 논리적 데이터 모델링(Logical) | 물리적 데이터 모델링(Physical) |
정의 | 현실세계의 실재를 높은 추상화 수준으로 형성화하는 과정 |
비즈니스 정보의 논리적인 구조와 규칙을 명확하게 표현하는 과정 |
실제 DBMS에 데이터를 어떻게 저장할지 정의하는 과정 |
하는일 | 엔터티 및 엔터티간 관계 파악 | 트랜잭션 인터페이스 설계, 정규화, 참조 무결성 규칙 정의, M:M관계 해소 등 |
트랜잭션 세부사항을 설계, 물리적 저장 구조(db,table..), 자료 추출 접근 방법 등을 정함 |
* 트랜잭션 : 쪼갤 수 없는 업무의 최소 단위 (ex. 물건을 산다)
* 일반적으로 개념적 모델링과 논리적 모델링을 함께 진행하는 경우가 많다고 한다.
| 데이터 모델링 표기법
- 다양한 표기법이 있지만 크게 아래와 같이 두 가지 방법에 대해서 많이 사용된다고 한다.
피터첸 표기법 (E-R Entity-relationship Model) | - Entity : 사각형 - Relationship : 마름모 - Attribute : 타원형 |
IE/Crow's Foot 표기법 | Erwin에서 보는 발톱모양의 관계선에 해당 |
[ ER WIN 프로그램에서 쓰는 표기법에 대한 상세 설명 ]
- 그 중 피터첸 곧, E-R모델이 가장 많이 사용된다고 하는데, 자세한 내용은 아래와 같다.
Entity | 객체, 실체 | 사람, 장소, 물건, 사건, 개념 등의 명사 1) 업무와 연관되며 관리가 필요한 정보 2) 유일한 식별자에 의해 식별이 되어야 3) 두 개 이상의 영속적으로 존재하는 인스턴스의 집합이어야한다. ..... 등을 고려하는 것이 필요하다. (자세한 사항은 생략) |
ex. 고객 |
Attribute | 속성 | 더 이상 분리되지 않는 최소의 데이터 단위 * 도메인 : 각 속성이 가질 수 있는 값의 범위 (ex. 성별 : 남자, 여자, 기타) |
ex. 고객번호, 성명, 주소 |
Relationship | 관계 | 상호 관계 - 관계명 ) 관계 시작점과 관계 끝 점이 있다. - 관계 차수 ) 1 : 1, 1 : M, M : M(Many) - 관계 선택 사양 ) 필수, 선택 |
ex. 고객 - 주문하다 - 주문서 |
| 데이터 모델링 프로그램
- ER WIN, ER Studio, eXERD 등 데이터 모델링을 위한 다양한 툴이 있다.
- 그 중에서도 IT업계에서는 ER WIN을 가장 많이 사용한다고 한다.
* ER WIN 다운로드 및 설치 안내 바로가기
* 이클립스 Exerd 플러그인 설치 (더보기)
[1] Exerd 홈페이지에서 이클립스 플러그인 버전을 선택하면 URL이 제공된다.
http://exerd.com/update/exerd/3.x/
[2] 이클립스에서 [help]-[install software]를 선택한 후 [Add]를 통해 URL를 입력
[ 참고 및 출처 ]
부트 캠트 수업을 들은 후 정리한 내용입니다.
데이터모델링 표기법 https://lipcoder.tistory.com/330
https://blog.naver.com/PostView.nhn?blogId=qbxlvnf11&logNo=221225469375
https://www.sap.com/korea/insights/what-is-data-modeling.html
'Language > SQL' 카테고리의 다른 글
DBMS 내부 처리 순서 - select / from / where / group by / having / order by (0) | 2022.09.24 |
---|---|
[데이터베이스 설계] Exerd를 통해 설계해보기 (0) | 2022.08.27 |
데이터 처리 - View, 함수/프로시져, 트리거 (0) | 2022.08.20 |
데이터 처리 - ALIAS, JOIN, 내장함수, 페이징 처리 (0) | 2022.08.17 |
데이터 처리 - CRUD (0) | 2022.08.16 |