본문 바로가기
스터디/SQL

[정리노트] SQLD 2024년 개정판 - 데이터 모델링의 이해

by 견습생L 2024. 7. 12.

[정리노트] SQLD 2024년 개정판 - 데이터 모델링의 이해


8월이면 계획에 있던 SQL 개발자 시험이라 관련 내용에 대해 정리해본다. 

정리하는 노트인만큼, 틀린 내용이 있다면 댓글로 알려주길 바라며 자격증을 공부하려고 방문하신 분들께는 많은 도움이 되길 바란다. 

참고로 수업은 주로 패스트캠퍼스 온라인 강의를 들었는데 2024년 개정판으로 수업이 갱신되지 않아 Youtube에서 홍쏌의 수업을 통해 진행하고 있다. (아래 본문과 함께 보면 좋을 듯 아래 노트는 영상의 10분 정도의 내용이다.)
https://youtu.be/QB_GYdHUHmA?si=nWeC6pkrtE2taHm8

1과목은 거의 암기가 필요한 과목이라 계속 외우면 된다. 일전에 한번 시험을 치룬적이 있어서 그런지 더 필요한 내용과 불필요한 내용을 잘 정리할 수 있었다.


데이터 모델링의 이해

  1. 모델링?
    •   현실 세계의 비즈니스 프로세스와 데이터 요구사항을 추상화, 단순화, 명확화 하여 일정한 표기법에 의해 표현하는 기법
      •   현실세계를 반영해야 한다.
      •   단순화 하여 표현해야 한다.
      •   관리하고자 하는 데이터를 모델로 설계한다.
  2. 모델링의 특징
    •   추상화(Abstraction) : 현실세계를 일정한 형식으로 표현하는 것이다. 즉, 아이디어나 개념을 간략하게 표현하는 과정이다. (간략하게 표현)
    •   단순화(Simplification) : 복잡한 현실 세계를 정해진 표기법으로 단순하고 쉽게 표현한다는 의미이다. (불필요한 세부사항 제거)
    •   명확화(Clarity) : 불분명함을 제거하고 명확하게 해석할 수 있도록 기술한다는 의미이다. (정확하게 현상을 기술)
  3. 데이터 모델링 유의점
    1. 중복
      •   한 테이블 또는 여러 테이블에 같은 정보를 저장하지 않도록 설계
    2. 비유연성
      •   사소한 업무 변화에 대해서도 잦은 모델 변경이 되지 않도록 주의
      •   데이터 정의를 프로세스와 분리
    3. 비일관성
      •   데이터베이스 내의 정보가 모순되거나 상반된 내용을 갖는 상태를 의미
      •   데이터간 상호연관 관계를 명확히 정의
      •   데이터 품질 관리 필요
      •   데이터의 중복이 없더라도 비일관성은 발생할 수 있음
  4. 모델링의 세가지 관점
    1. 데이터 관점(What, Data)
      •   어떤 데이터들이 업무와 얽혀 있는지, 어떤 관계가 있는지에 대해 모델링 함
    2. 프로세스 관점(How, Process)
      •   실제로 처리하고 있는 일은 무엇인지, 앞으로 처리해야 하는 일이 무엇인지를 모델링 하는 방법
    3. 데이터와 프로세스의 상관 관점(Data vs. Process, Interaction)
      •   데이터와 프로세스의 관계를 위주로, 프로세스 흐름에 따라 데이터가 어떤 영향을 받는지 모델링 하는 방법
  5. 데이터 모델링의 3가지 요소
    1. 대상(Entity): 업무가 관리하고자 하는 대상(객체)
    2. 속성(Attribute): 대상들이 갖는 속성(하나의 특징으로 정의될 수 있는 것)
    3. 관계(Relationship) 대상들 간의 관계
  6. 모델링의 세가지 단계
    •   개념적 데이터 모델링(Conceptual Data Modeling)업무 중심적, 포괄적인 수준의 모델링이 진행 됨. 전사적 데이터 모델링 수행시 행해지며, 추상화 레벨이 가장 높은 모델링.
    •   논리적 데이터 모델링(Logical Data Modeling)재사용성이 가장 높음. Key, 속성, 관계 등 모두 표현
    •   물리적 데이터 모델링(physical Data Modeling)실제 데이터 베이스로 구현할 수 있도록 성능이나 가용성 등 물리적인 성격을 고려하여 모델을 표현
    T. 데이터 모델링의 절차에 대한 설명
    •   모델링의 첫번째 단계에는 (개념적) 데이터 모델링으로 업무 프로세스를 포괄적으로 모델링 하는 단계이다. 추상화 레벨이 제일 높고 전사적 데이터 모델링 수행시 행해진다. 모델링의 두 번째 단계는 (논리적) 데이터 모델링으로 데이터 모델에 대한 Key, 속성, 관계 등을 표현하며 재사용성이 가장 높다. 모델링의 세 번째 단계는 (물리적) 데이터 모델링으로 데이터 베이스에 실제로 구현하기 위해 성능이나 가용성 등을 고려하여 설계하는 모델링 단계이다.
  7. 3단계 스키마 구조
    1. 외부스키마(External Schema)
      •   사용자의 관점 : Multiple User's View 단계로 각 사용자가 보는 데이터베이스의 스키마를 정의
    2. 개념스키마(Conceptual Schema)
      •   통합된 관점 : Community View of DB 단계로 모든 사용자가 보는 데이터베이스의 스키마를 통합하여 전체 데이터베이스를 나타내는 것. 저장된 데이터들을 표현하고 데이터들 간의 관계를 나타냄
    3. 내부스키마(Internal Schema)
      •  물리적 관점 : Physical Representation 단계로 물리적인 저장 구조를 나타냄. 실질적인 저장 구조나 컬럼 정의, 인덱스 등이 포함됨
  8. 3단계 스키마 구조가 보장하는 독립성
    •   3단계 구조로 나누는 이유 : 사용자들의 관점과 실제로 표현되는 물리적인 방식의 데이터베이스를 분리하여 독립성을 보장하기 위함.㉠ 논리적 독립성 : 개념 스키마가 변경되어도 외부 스키마는 영향을 받지 않음㉡ 물리적 독립성 : 내부 스키마가 변경되어도 외부/개념 스키마는 영향을 받지 않음
  9. ERD(Entity Relationship Diagram)
    •   엔터티와 엔터티간의 관계를 시각적으로 그린 다이어그램 
    •   ERD 표기방식
      1. Peter Chen : 주로 대학교재에서 사용하는 표기법으로 실무에서 사용하는 경우는 드물다
      2. IDEF1X(Integration Definition for Information Modeling) : 실무에서 사용하는 경우도 있으며 ERWin 에서 사용되는 모델이기도 하다 ※ ERWin은 ERD를 그리는 모델링 툴
      3. IE/Crow's Foot : 까마귀발 표기법이라고 부르며 가장 많이 사용됨. ERWin, ERStudio에서 사용되는 모델
        •   SQL 개발자 (SQLD)과외노트 Chapter 1 데이터모델링의 이해 35P 그림 참조  
      4. Min-Max/ISO : 각 엔터티의 참여도를 좀더 상세하게 나타내는 표기법
      5. UML : 소프트웨어 공학에서 주로 사용되는 모델
      6. Case*Method/Barker : Oracle에서 사용되는 모델로 Crow's Foot과 비슷
    • ERD 작성 순서
      •   표기법 상관 없이 순서는 공통됨
        1. 엔터티를 도출하고 그린다.
        2. 엔터티를 적절하게 배치한다.
        3. 엔터티 간의 관계를 설정한다.
        4. 관계명을 기입한다.
        5. 관계의 참여도를 기입한다.
        6. 관계의 필수/선택 여부를 기입한다.
        7. 시스템에 어떤 엔터티들이 존재하며 그들 간에 어떤 관계가 있는지를 나타내는 다이어그램.
      •  

두개의 표기법을 비교해서 알아두면 좋다.

반응형