데이터 모델링

1) 데이터 모델링이란?

  • 데이터베이스의 골격을 이해하고 그 이해를 바탕으로 SQL문장을 기능과 성능적인 측면에서 효율적으로 작성하기 위해 꼭 알아야하는 핵심 요소
  • 정보시스템을 구축하기 위한 데이터관점의 업무 분석 기법
  • 현실세계의 데이터에 대해 약속된 표기법으로 표현하는 과정
  • 데이터베이스를 구축하기 위한 분석/설계 과정

 

2) 데이터 모델이 제공하는 기능

  • 시스템을 현재 또는 원하는 모습으로 가시화
  • 시스템의 구조와 행동을 명세화
  • 시스템을 구축하는 구조화된 틀을 제공
  • 시스템 구축 과정에서 결정한 사항을 문서화
  • 다른 영역의 세분 사항은 숨김
  • 목표에 따른 구체화된 상세 수준의 표현

 

3) 데이터 모델링의 중요성과 유의점

  1. 중요성
  • 파급효과 : 모델링이 제대로 이루어지지 않는다면, 테스트를 진행하는데 데이터의 문제가 발생
  • 복잡한 정보 요구사항의 간결한 표현 : 설계자의 생각대로 정보 요구사항을 이해할 수 있게 함, 데이터 정합성을 유지할 수 있음
  • 데이터 품질
  1. 유의점
  • 중복 : 여러장소에 같은 정보를 저장하는 것
  • 비유연성 : 업무변화에 따라 모델이 수시로 변경되면, 유지보수의 어려움을 초래
  • 비일관성 : 로직적인 부분에서의 데이터의 문제점

 

4) 데이터 모델링의 3단계

  • 개념적 데이터 모델링 : ERD
  • 논리적 데이터 모델링 : 키, 속성, 관계들을 정확하게 표현
  • 물리적 데이터 모델링 : 어떻게 저장될 것인가에 대한 정의를 

 

5) 데이터 독립성

  1. 데이터 독립성의 필요성
  • 끊임없이 요구되는 사용자 요구사항에 대해 화면과 데이터베이스 간에 서로 독립성을 유지하기 위한 목적
  • 각 View의 독립성을 유지하고 계층별 View에 영향을 주지 않고 변경이 가능
  • 단계별 스키마에 따라 정의어와 조작어가 다름을 제공
  1. 데이터베이스의 3단계 구조
  • 외부 단계 : 각각의 테이블 하나 Ex) 로그인시 접근하는 회원정보 테이블
  • 개념적 단계 : 해당 프로그램에 사용되는 모든 DB테이블
  • 내부적 단계 : 물리적 장치에서 데이터가 실제적으로 저장되는 방법을 표현         Ex) 형식, 키값 등

 

6) 데이터 모델링의 3가지 요소

  • 업무가 관여하는 어떤 것
  • 어떤 것이 가지는 성격
  • 업무가 관여하는 어떤 것들의 관계

 

7) 좋은 데이터 모델의 요소

  • 완전성 : 모든 데이터가 데이터 모델에 정의되어 있는가
  • 중복배제 : 동일한 사실은 반드시 한번만 기록
  • 업무규칙 : 모든 용자가 공유할 수 있도록 제공
  • 데이터 재사용 : 신규 시스템을 구축하는 데에 있어서 매우 유리하게 작용
  • 의사소통 : DBA들이 업무규칙을 동일한 의미로 받아들여야 함
  • 통합성 : 동일한 성격의 데이터를 한 번만 정의함

'SQLD' 카테고리의 다른 글

3. 엔터티(Entity)  (0) 2022.02.16
1. 데이터 모델링  (0) 2022.02.13

+ Recent posts