본문 바로가기

SQL/SQLD (개발자)

1-1. 데이터 모델링의 이해_(1)데이터 모델의 이해

제1절 데이터 모델의 이해

 

1. 모델링의 이해

 

가. 모델링의 정의 : 다양한 현상(사람, 사물, 개념 등)을 표기법에 의해 규칙을 가지고 표기하는 것

 

나. 모델링의 특징 : 추상화, 단순화, 명확화

1) 추상화(모형화, 가설적)는 현실세계를 일정한 형식에 맞추어 표현을 한다는 의미로 정리할 수 있다. 
  즉, 다양한 현상을 일정한 양식인 표기법에 의해 표현한다는 것이다.
2) 단순화는 복잡한 현실세계를 약속된 규약에 의해 제한된 표기법이나 언어로 표현하여
  쉽게 이해할 수 있도록 하는 개념을 의미한다. 

3) 명확화는 누구나 이해하기 쉽게 하기 위해 대상에 대한 애매모호함을 제거하고 정확(正確)하게 
  현상을 기술하는 것을 의미한다.

 

다. 모델링의 관점 : 데이터 관점, 프로세스 관점, 데이터와 프로세스의 상관 관점

1) 데이터 관점 : 업무가 어떤 데이터와 관련이 있는지 또는
  데이터간의 관계는 무엇인지에 대해서 모델링하는 방법(What, Data) 
2) 프로세스 관점 : 업무가 실제하고 있는 일은 무엇인지 또는 
  무엇을 해야 하는지를 모델링하는 방법(How, Process) 
3) 데이터와 프로세스의 상관 관점 : 업무가 처리하는 일의 방법에 따라 데이터는 어떻게 영향을 받고 있는지 
모델링하는 방법(Interaction)으로 설명될 수 있다.

 

 

2. 데이터 모델의 기본 개념의 이해

 

가. 모델링의 정의

  - 데이터모델링의 정의: 정보시스템을 구축하기 위한 데이터관점의 업무분석기법

 

나. 데이터 모델이 제공하는 기능

  - 시스템 가시화

  - 시스템 명세화

  - 시스템 구조화

  - 시스템 문서화

  - 다른 영역의 세부사항 숨김

  - 목표에 따라 상세 수준의 표현

 

3. 데이터 모델링의 중요성 및 유의점

3-1. 데이터 모델링의 중요성

가. 파급효과(Leverage) : 초기 구축 후 많은 영향 분석 발생

나. 복잡한 정보 요구사항의 간결한 표현(Conciseness) : 설명하기 편하고 알아보기 편하게

다. 데이터 품질(Data Quality) : 데이터 신뢰

 

3-2. 데이터 모델의 유의점

가. 중복(Duplication)

나. 비유연성(Inflexibility) : 유지보수가 쉽도록 설계

다. 비일관성(Inconsistency) : 연관된 데이터가 있음에도 일부 데이터만 업데이트

 

4. 데이터 모델링의 3단계 진행

가. 개념적 데이터모델링 : 추상화 수준이 높고 업무 중심적이고 포괄적인 수준의 모델링 진행
나. 논리적 데이터모델링 : 시스템으로 구축하고자하는 업무에 대해 Key, 속성, 관계 등을 정확하게 표현, 높은 재사용
다. 물리적 데이터모델링 : 실제로 데이터베이스에 이식할 수 있도록 성능, 저장 등 물리적인 성격 고려 설계

 

5. 프로젝트 생명주기(Life Cycle)에서 데이터 모델링

 

6. 데이터 모델링에서 데이터 독립성의 이해
가. 데이터 독립성의 필요성: 유지보수 비용증가, 데이터복잡도 증가, 데이터 중복성 증가, 요구사항 대응 저하
나. 데이터베이스 3단계 구조: 외부단계, 개념적단계, 내부적단계
다. 데이터독립성 요소: 외부스키마 / 개념스키마 / 내부스키마
라. 두 영역의 데이터독립성: 논리적 독립성, 물리적 독립성
마. 사상(Mapping) : 외부적/개념적 사상(논리적), 개념적/물리적 사상(물리적)