연구/SQL

[20.09.05 SQLD시험준비] 데이터 베이스 모델링의 이해 1차시

옐루비(YellowBee) 2020. 8. 8. 01:00

SQLD 시험은 총 2개의 과목을 공부해야한다.

1.모델링의 이해, 2.데이터 모델의 성능 과목을 공부하면되는데 오늘부터 1단원을 정리해보려고 한다.

D-28....ㅎㅎ

SQLD 시험 구성은 
1과목: 20점 10문제
2과목: 80점 40문제
(주관식 8문제/16점 + 객관식 42문제/84점)
으로 총 1시간 30분이 주어진다.


1. 모델링의 이해  

   가. 모델링의 정의

  모델링은 복잡한 현실세계를 추상화, 단순화, 명확화하여 표현하는 것

   나.모델링의 특징

  1) 추상화: 현실세계를 일정한 형식에 맞추어 표현

   ('추상화'인데 '형식에 맞추어 표현한다'는 정의가 조금 이해되지않는다.) 

  2) 단순화: 제한된 표기법이나 언어로 표현

  3) 명확화: 애매모호함을 제거하고 정확하게 기술

  모델링을 통해 업무를 분석하고 설계하며, 추후에는 변경과 관리의 목적으로 사용!

  모델링을 초기에 잘해두면 추후에 변경과 관리에도 용이할 것으로 생각된다.

   다.모델링의  세 가지 관점

 

  1) 데이터 관점

   업무가 어떤 데이터와 관련이 있는지, 데이터간의 관계는 무엇인지 모델링 하는 방법

  2) 프로세스관점

    업무가 실제하고 있는 일은 무엇인지 또는 무엇을 해야하는지를 모델링 하는 방법

  3) 데이터와 프로세스의 상관관점

    업무가 처리하는 일의 처리 방법에 따라 데이터는 어떻게 영향받는지 모델링 하는 방법

 

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

 가. 모델링의 정의

  정보들을 일정한 표기법에 의해 표현함으로써 정보시스템 구축의 대상이 되는 업무 내용을 정확하게 분석

  분석된 모델을 통해 실제 데이터베이스 생성하여 개발 및 데이터 관리에 사용

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

  • 시스템을 현재 or 운하는 모습으로 가시화하는데 도움

  • 시스템 구조와 행동을 명세화 가능

  • 시스템 구축하는 구조화된 틀 제공

  • 시스템을 구축하는 과정에서 결정한 것을 문서화

  • 다양한 영역에 집중하기 위해 다른 영역의 세부 사항은 숨기는 다양한 관점 제공

  • 특정 목표에 따라 구체화된 상세 수준의 표현방법 제공

 

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

   데이터모델링이 중요한 이유는

   모델링을 제대로 하지 않았을때의 파급효과가 크며, 간결한 표현의 가능, 제대로 작성한 데이터는 자산이 되기떄문

   가. 파급효과

   여러단계의 시스템 구축단계를 거치게 되면 최종적으로 테스트 단계를 거침

   단위테스트는 물론 병행 테스트, 통합테스트를 수행하게 되는데 테스트 단계에서 초기의 미흡한 데이터 설계때문에 데이터 모델의 변경이 필요해진다면 전체 시스템 구축 프로젝트에 큰 위기가 찾아옴

   그러므로 다른 어떤 설계과정보다 데이터 설계가 더 중요

  나.간결한 표현

   데이터 모델은 구축할 시스템의 '정보 요구사항'과 '한계'를 가장 명확하고 간결하게 표현어떠한 시스템의 정보 요구사항을 가장 빨리 파악하기 위한 방법은 데이터 모델을 리뷰하면서 파악하는 것건축물의 설계도면 = 데이터 모델  (*데이터 정합성 유지_ 데이터 값이 서로 일치하게 도와주는 역할)설계도면을 보고 요구사항대로 건물을 지을 수 있듯이, 데이터 모델을 보고 정보 요구사항 대로 시스템을 구축할 수 있음

  다.데이터 품질

 초기에 데이터가 쌓일 떄부터 비즈니스 정의가 충족된 데이터 구조를 마련하고 무결성, 정합성을 지켜 데이터 품질을 유지해야 함

  1) 중복 (Duplication)

  데이터 모델은 같은 데이터를 사용하는 사람, 시간, 그리고 장소를 파악하는데 도움을 준다.

  이러한 정보는 데이터베이스가 여러 장소에 같은 정보를 저장하는 잘못을 하지 않도록 한다.

 2) 비유연성(Inflexibility)

  사소한 업무변화에도 데이터 모델이 수시로 변경된다면 유지보수 시간 증가 ->비유연성 유지 필요

  데이터의 정의를 데이터의 사용 프로세스와 분리함으로써 데이터 모델링은 데이터 혹은 프로세스의 작은 변화가 애플  리케이션과 데이터베이스에 중대한 변화를 일으킬 수 있는 가능성을 줄임

 3) 비일관성(Inconsistency)

  데이터의 중복이 없어도 비일관성은 발생-> 정합성!

  ex)신용 상태에 대한 갱신 없이 고객의 납부 이력을 갱신한 경우

  데이터 모델링을 할 때 데이터와 데이터간 상호 연관 관계에 대한 명확한 정의를 하여 이러한 위험을 예방

 

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

현실세계의 개체를 첫번째로 모델링한 단계를 개념적 모델링이라고 한다.  현실을 바로 반영했기 떄문에 논리, 물리적 모델링보다는 추상화 수준이 높다고 이해하면 될 것 같다. 데이터를 점점 더 가공해서  실제로 물리적인 저장 데이터 베이스에 이식할 수 있는 단계가 물리적 모델링이라고 생각하면 편하다.

출처.http://www.dbguide.net/