프로그래밍 언어ㅤ/ㅤSQL

Day 1 - 데이터 모델링의 이해

데이터모델링이란? 

  • 정보시스템을 구축하기 위한 데이터 관점의 업무 분석 기법
  • 현실세계의 데이터(what)에 대해 약속된 표기법에 의해 표현하는 과정
  • 데이터베이스를 구축하기 위한 분석/설계의 과정

 

모델링의 특징

추상화, 단순화, 명확화 

 

모델링의 관점

  • 데이터 관점: 업무가 어떤 데이터와 관련이 있는가? 데이터 간의 관계에 대해 모델링
  • 프로세스 관점: Process가 무엇인지? 무엇을 해야하는지? How? 관점에서 모델링
  • 데이터 & 프로세스의 상관 관점: 일의 방법에 따라 데이터는 어떻게 영향을 받는지 모델링

 

데이터모델링의 3단계

  1. 개념적 모델링: 추상적, 업무중심적, 전사적 데이터 모델링, EA수립시 많이 이용
  2. 논리적 모델링: Key, 속성, 관계 등을 정함, 재사용성 높음
  3. 물리적 모델링: DB에 이식할 수 있는 구체적인 상태로, 물리적

 

1. 개념적 모델링

핵심 엔터티와 그들 간의 관계, 엔터티-관계 다이어그램 생성, 전사적 데이터 모델(EDM) 

2. 논리적 모델링

정규화

3. 물리적 모델링

저장, 하드웨어, 물리적, 물리적 스키마

 

데이터 독립성이 왜 필요한가?

  • 유지보수 비용을 절감한다
  • 데이터 복잡도를 낮추며 중복된 데이터를 줄인다
  • 화면과 DB간에 독립성을 유지하여 사용자 요구사항에 대해 즉각적으로 대처한다

 

데이터 독립성의 구성요소

  • 외부스키마: 여러 사용자 관점
  • 개념스키마: 모든 사용자 관점 통합한 전체의 DB
  • 내부스키마: DB가 물리적으로 저장된 형식, 저장구조 

=> 외부 ~ 개념스키마의 독립성을 논리적 독립성이라고 하며, 논리적 구조가 변경되어도 응용프로그램에 영향이 없다.

=> 개념 ~ 내부스키마의 독립성을 물리적 독립성이라고 하며, 저장장치의 구조변경은 응용프로그램과 개념스키마에 영향이 없다.

 

사상(Mapping)

상호 독립적인 개념을 연결시켜주는 다리를 뜻한다.

논리적 사상은 UI를 위한 스키마 구조는 전체가 통합된 개념적 스키마와 연결된다는 것이다.

물리적 사상이란 통합된 개념적 스키마 구조와 물리적으로 저장된 테이블들이 연결된다는 것이다. 

  • 논리적 사상: 외부적 뷰 ~ 개념적 뷰
  • 물리적 사상: 개념적 뷰 ~ 저장된 DB

 

좋은 데이터모델의 요소

완전성, 중복배제, 업무규칙, 데이터 재사용, 의사소통, 통합성