본문 바로가기
ORACLE DB/기초

SQLD 공부 정리 (1. 데이터 모델링 이해)

by chief_sac 2022. 1. 18.
반응형

 

회사업무량이 급격히 늘어난지 1개월하고 보름이 지났다. 나는 많이 나태해 졌고 다시 예전처럼 퇴근을하면 집을 들어와서 유튜브로 시덥지않은 영상들을 보며 영화를 보고 시간을 보내기 시작했고 점점 변해가는 모습이 보였다. 하던 운동을 제대로 하지않으며 개발용어가 하나 둘 씩 내 머리속에서 지워지기 시작했고 지금은 객체지향이 무엇인지 모르겠다. 이렇게 뒤돌아 보니 나는 개발자의 꿈을 키우던 내가 아니게 되었고 나는 지금의 삶에 만족하고 있었다. 나는 분명 꿈을 꾸었지만 그것에 미치지 않게 된것같다. 뭔가가 필요하다 느끼게 되었고 나는 다시한번 나를 채찍질 할 무언가가 분명 필요하다. 나는 아무것도 가지지 않았고 그저 학원을 7개월가량 다니며 중간정도의 결과물 정도 밖에 내지못했으며 자격증하나없는 전문대학교 졸업장 딸랑 들고있는 반 오십이다. 이대로 만족하며 지내다가는 언젠가 내가 감당하지 못하는 스파게티 코드와 같이 변할것이다. 그리고 결국 엎어질것이다. 자신이 짠 코드가 지저분하고 좋지 않은 형태를 하고있으면 빠르게 엎고 다시 시작하는것이 좋듯 나또한 다시 시작하려고한다. 2022년 올해의 목표를 천천히 세웠고 나는 자격증을 공부하며 전문적인 지식을 쌓아보려고 한다. 


여러가지 자격들중 내가 이전까지 공부하면서 자주 듣게되었던 자격증 중 정보처리 기사를 따보려 했지만 아직 나의 재학증명서에는 3학년으로 나와있다. 지금 할 수 있는건 SQLD 자격증을 취득하는 것인것 같아 유튜브 인터넷 강의를 찾아보며 내가 정리한것을 적어보았다.

 

 

 

데이터 모델링의 이해

  • 우선 데이터 모델링 어디선가 들어 본 듯 하면서도 사실 무엇인지 모르는 굉장히 있어보이는 단어로 나에게 다가왔지만 그 정의는 아래와 같다.

 

 💡 정보시스템 구축을 위한 데이터 관점의 업무 분석기법, 현실세계 데이터에 대해 약속된 표기법에 의해서 표현하는 과정, 즉 데이터 베이스를 구축하기위한 분석이자 설계과정을 뜻한다.

 

  • 데이터 베이스를 구축하기위한 분석이자 설계 과정 요리로 따지자면 전처리 과정으로 이해하였다.

 

  • 이렇게 모델링에 대한 정의를 이해하고 나서는 어떠한 시각으로 접근해야하는지를 이해해야 하는데 여기서는 관점과 특징을 이해함으로서 접근하면 편할것 같아 요약하여 정리하면 다음과 같다.

 

  1. 모델링의 특징
    1. 첫 번째 모델링의 특징으로는 추상화가 있는데 이 추상화라는것은 개발일을 하면서 정말 자주 듣는다. JAVA를 공부하면서도 객체지향에 있어서 핵심적인 기능에서도 강조되었는데 이는 현실세계와 다양한 현상들을 일정한 양식의 표기법으로 표현하는 것을 뜻한다. 다른 말로는 모형화 가설적 이라고 표현하기도한다.
    2. 두번째 모델링의 특징은 단순화를 말한다. 복잡한 현실세계를 약속된 규약에 의거하여 제한된 표기법이나 언어로서 표현하는 것을 말한다.
    3. 세번째 모델링의 특징은 명확화인데 대상에 대한 애매모호함을 제거함으로서 말 그대로 누구나 이해하기 쉽도록 명확하게 표현하는 것이다.
  2. 모델링의 관점
    1. 데이터 관점 : 업무가 어떠한 데이터와 관련이 있는지 를 파악하고 데이터와 데이터 사이의 관계가 무엇인지를 보면서 파악하는 것이다. 이는 (What, Data)라고 기억한다.
    2. 프로세스 관점 : 업무가 실제하고 있는 일이 무엇인지를 확인하고 무엇을 해야하는지를 파악하는 것이다. 이는 ( How, Process )라고 기억한다.
    3. 상관 관점 : 업무를 처리하는 방법에 따라 데이터가 어떻게 영향을 받고있는지를 생각하며 파악하는 것이다. 이는 ( Interaction )이라고 기억한다.

 

  • 이렇게 모델링에 접근하는 시각을 알아보았다면 모델링은 어떠한 기능들을 하고 또 그것의 중요성에대해서 알아보면서 공부해보면 편할것같아 그 다음 순서로 정했다.

  1. 모델링의 기능 : 모델링은 위에서 말한 특징들을 이해하며 명세화와 구조화, 문서화, 다양한 관점 그리고 상세하게 표현함을 지향한다.
  2. 모델링의 중요성 : 모델링을 하게되면 Leverage 가 크게 만들수 있는데 즉 파급효과가 나타나게될 것이고, 복잡한 정보를 필요로하는 요구사항을 간결하게 표현 할 수있다.(Conciseness) , 또한 모델링을 하게된다면 분석과 설계를 확실히 하여 필요한 데이터만을 관리 할 수있어 데이터의 품질을 유지할 수 있다.(Data Quality)

 

  • 그래서 데이터 모델링은 어떻게 진행되는가? 모델링은 3단계로 진행된다고 볼 수있는데 이는

 

(추상적)개념적 ⇒ 논리적 ⇒ 물리적(구체적)

 

 

이러한 단계로 진행된다.

 

  • 개념적 데이터 모델링이란? : in 계획분석단계이며 이때는 추상화와 업무 중심적으로 분석하고 포괄적이고 전사적이다.(EA수립시 사용됨)
  • 논리적 데이터 모델링이란? : in 분석단계이며 Key와 속성, 관계표현등을 모델링하며 이때 만들어지는 것들은 재사용성이 높다.(정규화)
  • 물리적 데이터 모델링이란? : in 설계단계이며 실제 데이터 베이스를 이식할 수 있도록 성능개선, 저장 등의 물리적 성격을 고려하며 모델링 하는것을 말한다.

 

여기까지가 데이터 모델링의 기본적인 것을 정리한 것이고 내일 다시 정리할 것은 왜 이러한 모델링이 필요한지 조금더 구체적인 부분과 유의점 그러면 정확히 어떤식으로 데이터 모델링이 되는지를 조금더 뚜렷하게 정리한것을 적어볼 생각이다. 만약 저와 같이 SQLD 자격증을 한번쯤 생각 하신다면 시험치기전에 잠깐 훓어 볼 수 있는 정도로 정리해보고싶다.

반응형