728x90
반응형
1. 데이터 모델링[Data Modeling]이란 무엇일까?
- 데이터 모델링은 현실세계를 데이터베이스로 표현하기 위해서 추상화 하는 것이다.
- 데이터 모델링을 하기 위해서는 고객과의 의사소통을 통해 고객의 업무 프로세스를 이해해야 한다.
- 고객의 업무 프로세스를 이해하면, 데이터 모델링 표기법을 사용해서 모델링을 한다.
- 데이터 모델링은 복잡하지 않도록 모델링을 해서 고객이 쉽게 이해할 수 있어야 한다.
- 데이터 모델링은 고객의 업무 프로세스를 추상화하고, 소프트웨어가 분석 및 설계하면서 점점 더 상세해진다.
- 데이터 모델링은 고객의 비즈니스 프로세스를 이해하고 비즈니스 프로세스의 규칙을 정의하고, 정의된 비즈니스 규칙을 데이터 모델로 표현한다.
2. 데이터 모델링의 특징
- 데이터 모델링은 추상화해야한다. 추상화는 공통적인 특징을 찾고 간략하게 표현한다.
- 단순화해야한다. 복잡한 문제를 피하고 누구나 이해할 수 있게 표현한다.
- 명확해야한다. 의미적 해석이 모호하지 않고 명확하게 해석되어야 한다.
3. 데이터 모델링 단계
데이터 모델링은 개념적 모델링, 논리적 모델링, 물리적 모델링의 단계로 이루어져 있다.
- 개념적 모델링
▶ 기업의 비즈니스 프로세스를 분석하고 기업 전체에 대해서 데이터 모델링을 수행
▶ 복잡하게 표현하지 않고 중요한 부분을 위주로 모델링
▶ 업무관점에서 모델링하며 기술적인 용어는 가급적 사용하지 않음.
▶ 엔티티(Entity)와 속성(Attribute)을 도출하고 개념적 ERD(Entity Relationship Diagram)를 작성
- 논리적 모델링
▶ 개념적 모델링을 논리적 모델링으로 변환하는 작업
▶ 식별자를 도출하고 필요한 모든 릴레이션을 정의
▶ 정규화를 수행해서 데이터 모델의 독립성을 확보
- 물리적 모델링
▶ 데이터베이스를 실제 구축한다. 테이블, 인덱스, 함수등을 생성
▶ 성능, 보안, 가용성을 고려해서 구축
3-1 데이터 모델링 관점
관점(View) | 내용 |
데이터 | 비즈니스 프로세스에서 사용되는 데이터 구조분석, 정적 분석 |
프로세스 | 비즈니스 프로세스에서 수행하는 작업 시나리오 분석, 도메인 분석, 동적 분석 |
데이터와 프로세스 | 프로세스와 데이터 간의 관계를 의미 CRUD(Create, Read, Update, Delete) 분석 |
반응형
'Programming > DataBase' 카테고리의 다른 글
[DataBase]엔티티[Entity]란 무엇일까? (0) | 2019.02.21 |
---|---|
[DataBase]3층 스키마에 대해 알아보자 (0) | 2019.02.20 |
<MongoDB> 몽고DB란 무엇일까?? (0) | 2018.10.12 |
<Mybatis> #과 $의 차이를 알아보자! (2) | 2018.10.11 |
<SQL>SQL 인젝션 방어하는 방법중 하나 (0) | 2018.10.11 |