[SQLD] 1-1-1. 데이터 모델링의 이해

Joy·2020년 4월 20일
0

SQL

목록 보기
2/9

1. 데이터 모델의 이해

01. 모델링의 이해

모델링? 현실을 단순화 표기
특징: 추상화(일정 형식에 맞게), 단순화(쉽게 이해), 명확화(정확하게 기술)
세가지 관점 :

  • 데이터 관점(어떤 데이터와 관련이 있는지),
  • 프로세스 관점( 무엇을 해야 하는지),
  • 상관 관점(처리하는 일의 방법에 따라 데이터는 어떻게 영향을 받고 있는지)

데이터 모델 구분
어떤 것 thing
그것의 성격 attributes
언관성 relationship

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

데이터 모델링? : 데이터 관점의 업무 분석 기법
기능: 시스템 가시화, 시스템 구조와 행동 명세화, 시스템구축의 구조화된 틀 제공, 문서화, 세부 사항은 숨기는 다양한 관점 제공, 상세 수준의 표현방법 제공

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

중요성: 파급효과(Leverage), 간결한 표현, 데이터 품질
유의점 :

  • 중복: 여러장소에 같은 데이터 저장 x
  • 비유연성: 데이터정의를 사용 프로세스와 분리 - 데이터의 작은 변화가 DB에 중대한 변화 일으킬 가능성 줄이기
  • 비일관성: 데이터 중복 없어도 발생. 상호 관계에 명확히 정의해야 위험 예방.

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

개념적 데이터 모델
추상화 수준이 높고 업무중심적이고 포괄적인 수준

→ 논리적 데이터 모델
Key, 속성, 관계 등을 정확하게 표현, 재사용성이 높음 // *정규화 중요 - 논리데이터모델 상세화 과정의 대표 활동. 일관성 확보, 중복 제거로 신뢰성 있는 데이터구조 얻기

→ 물리적 데이터 모델
물리적으로 컴에 어케 저장될것인가 정의(물리적 스키마) 실제로 데이터베이스에 이식할 수 있도록 성능, 저장 등 물리적인 성격을 고려

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

보통 단계
계획 : 개념적 모델링
분석 : 논리적 모델링
설계 : 물리적 모델링

실제
분석 : 개념 + 논리 모델링
설계 : 물리 모델링

  • Waterfall 기반 : 데이터 모델링의 위치가 분석과 설계단계로 구분되어 명확하게 정의.
  • 정보공학, 구조적 방법론 : 분석단계에서 논리적 데이터 모델링, 설계단계에서 물리적인 데이터 모델링을 수행.
  • 나선형 모델(RUP, 마르미) : 업무 크기에 따라 분석, 설계단계 양쪽에서 수행

06. 데이터 모델링에서 데이터 독립성의 이해

데이터 독립성

필요성: 유지보수비용 증가, 데이터복잡도 증가, 데이터중복성 증가, 요구사항대응 저하

효과: 각 View의 독립성을 유지하고 계층별 View에 영향을 주지 않고 변경이 가능 / 단계별 Schema에 따라 데이터 정의어(DDL)와 데이터 조작어(DML)가 다름을 제공

데이터베이스 3단계 구조와 단계별 구성요소
ANSI 표준 모델 - 서로 간섭 x

  • 외부단계 : 사용자와 가까운 단계, 사용자 개개인이 보는 자료에 대한 관점과 관련이 있는 부분

  • 개념단계 : 사용자가 처리하는 데이터 유형의 공통적인 사항을 처리하는 통합된 뷰를 스키마 구조로 디자인한 형태

  • 내부적단계 : 데이터가 물리적으로 저장된 방법에 대한 스키마 구조

데이터독립성 요소:
외부스키마 / 개념스키마 / 내부스키마
데이터 모델링은 통합관점의 뷰를 가지고 있는 개념 스키마를 만들어가는 과정으로 이해할 수 있다

두 영역의 데이터 독립성

  • 논리적 독립성:
    개념 스키마가 변경되어도 외부 스키마에는 영향 x. 논리적 구조가 변경되어도 응용 프로그램에 영향 x
    (통합구조 변경가능)

  • 물리적 독립성:
    내부스키마가 변경되어도 외부/개념 스키마는 영향 x
    저장장치의 구조변경은 응용프로그램과 개념스키마에 영향x
    (물리/개념 구조 변경 가능)

사상(매핑)
상호 독립적인 개념을 연결시켜주는 다리

  • 외부적/개념적 사상(논리적 사상)
    사용자 접근 형식에 따라

  • 개념석/내부적 사상(물리적 사상)

07. 데이터 모델링의 중요한 세 가지 개념

데이터 모델링 세 가지 요소
1) 업무가 관여하는 어떤 것(Things)
2) 어떤 것이 가지는 성격(Attributes)
3) 업무가 관여하는 어떤 것 간의 관계(Relationships)
-> 엔터티, 속성, 관계 : 데이터 모델링을 완성해 가는 핵심 개념

단수/복수 명명

08. 데이터 모델링의 이해관계자

데이터 모델링 중요성 인식해야함.

09.데이터모델의 표기법인 ERD의 이해

데이터 모델 표기법: 엔터티 - 사격형, 관계- 마름모, 속성- 타원형
ERD표기법으로 모델링하기:
엔터티 그리기 - 배치 - 관계설정, 관계명기술 - 관계 참여도기술 - 필수여부 기술

10. 좋은 데이터 모델의 요소

완전성 / 모든 데이터가 데이터 모델에 정의되어 있어야
중복배제 /
업무규칙 / 업무규칙을 모델에 표현해야함
데이터 재사용 /
의사소통 /
통합성

profile
roundy

0개의 댓글