본문 바로가기

공부/자격증

[SQLD] 데이터 모델링 정리

● 모델링
모델링이란, 현실 세계를 추상화, 단순화, 명확화 하기 위해 일정한 표기법에 의해 표현하는 방법

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

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

● 데이터 모델링
기업 업무에 대한 종합적인 이해를 바탕으로
데이터에 존재하는 업무 규칙에 대하여
참, 거짓을 판별할 수 있는 사실을
데이터에 접근하는 방법(HOW), 사람(WHO), 전산화와는 별개의 (독립적인) 관점에서
이를 명확하게 표현하는 추상적인 기법

현실세계의 데이터(what)에 대해 약속된 표기법에 의해 표현하는 과정

업무에 필요로 하는 데이터를
시스템 구축 방법론에 의해
분석하고 설계하여 정보시스템을 구축하는 과정

데이터 모델링을 하는 이유는
업무 내용을 정확하게 분석 하기 위해
분석된 모델을 가지고 실제 데이터베이스를 생성하여
개발 및 데이터 관리에 사용하기 위한 것

단지 데이터베이스만을 구축하기 위한 용도로 쓰이는 것이 아닌
데이터 모델링 자체로서 업무를 설명하고 분석하는 부분에도 매우 중요한 의미를 가지고 있음
(업무 프로세스를 알 수 있어야 함)

데이터 모델링이 제공하는 기능
1.가시화 2.명세화 3.구조화된 틀 제공 4.문서화 5.(다른 영역의 세부사항은 숨기는)다양한 관점 제공 6.상세 수준의 표현 방법 제공

데이터 모델링의 중요성
- 파급효과(Leverage): 설계를 어떻게 하느냐에 따라 파급효과가 다름
- 간결한 표현(Conciseness): 간결하게 그려져있는 데이터 모델을 추천
- 데이터 품질(Data Quality): 데이터를 비즈니스 가치로 삼고 활용하는 것

데이터 모델링의 유의점
- 중복(Duplication): 데이터가 여러 장소에 같은 정보를 저장하는 잘못을 저지르지 않도록 한다
   → 데이터베이스가 여러 장소에 같은 정보를 저장
- 비유연성(Inflexibility): 데이터 모델을 어떻게 설계했느냐에 따라 사소한 업무 변화에도 데이터 모델이 수시로 변경됨으로써 유지보수의 어려움을 가중시킬 수 있다
 데이터의 정의를 데이터의 사용 프로세스와 분리함으로써 데이터 혹은 프로세스의 작은 변화가 애플리케이션과 데이터베이스에 중대한 변화를 일으킬 수 있는 가능성을 줄인다
   → 사소한 업무변화에 데이터 모델이 수시로 변경됨으로써 유지보수의 어려움 가중
- 비일관성(Inconsistency): 데이터의 모순을 파악하지 못한 채 개발자가 데이터를 수정하는 것을 방지해야 한다
   → 중복 없어도 비일관성 발생

데이터 모델링의 3단계 진행: 개념적 - 논리적 - 물리적 (추상적 - 구체적)
- 개념적 데이터 모델링: 추상화 수준이 높고 업무 중심적이다
포괄적인 수준의 모델링 진행, 전사적 데이터 모델링, EA 수립시 많이 이용
 사용자의 데이터 요구사항을 찾고 분석하는 것
-> 핵심 엔터티와 그 관계를 발견하고, 그 것을 표현하기 위해 관계 다이어그램을 생성
   → 높은 추상화 수준, 업무 중심적, 포괄적 수준 모델링, EA 수립
- 논리적 데이터 모델링: 시스템으로 구축하고 있는 업무에 대해 Key, 속상, 관계 등을 정확하게 표현, 재사용성이 높음
-> 설계 프로세스의 input으로써 비즈니스 정보와 논리적인 구조와 규칙을 명확하게 표현하는 기법 (정규화)
   → key, 속성, 관계 등을 표현, 재사용성 높음
- 물리적 데이터 모델링: 실제로 데이터베이스에 이식할 수 있도록 성능, 저장 등 물리적인 성격을 고려하여 설계
-> 데이터가 물리적으로 컴퓨터에 어떻게 저장될 것인가에 대한 정의를 나타냄
   → 실제 데이터베이스 이식, 물리적 성격 고려, 구체적

데이터 모델링의 3가지 요소
어떤 것(Things), 성격(Attributes), 관계(Relationships)
 = T A R
 = 엔티티, 속성, 관계

좋은 데이터 모델의 요소
- 완전성: 업무에 필요한 모든 데이터가 데이터 모델에 정의
- 중복배제: 하나의 데이터베이스 내에 동일한 사실은 한 번만 기록
- 업무규칙: 업무규칙을 모든 사용자가 공유하도록 제공
- 데이터 재사용: 데이터의 통합성과 독립성에 대해 고려
- 의사소통: 업무 규칙은 데이터 모델에 엔터티, 서브타입, 속성, 관계 등의 형태로 최대한 자세히 표현
- 통합성: 동일한 데이터는 한 번만 정의되고 이를 참조 및 활용


여기저기서 갖다 써서 붙임

후에 다시 정리

반응형

'공부 > 자격증' 카테고리의 다른 글

[SQL] SQLD 공부 정리 중....  (0) 2020.05.14
[SQLD] 엔티티와 속성 (Entity / Attribute)  (0) 2020.02.24
정보처리기사 실기 준비 1  (0) 2018.03.12
데이터베이스 정렬(Sort)  (0) 2017.08.20