[SQLD] 1_데이터 모델링의 이해(1)

잠이보약·2023년 8월 26일

자격증

목록 보기
1/7

1장. 데이터 모델링의 이해

1. 데이터 모델의 이해

  1. 데이터 모델링: 현실 세계를 단순화하여 표현하는 것.
    1. 현실 세계의 정보와 업무를 데이터와 기능의 관점으로 분석하는 것
    2. 데이터베이스를 구축하기 위한 분석 및 설계의 과정
  2. 데이터 모델링의 특징
    1. 추상화: 현실을 일정한 양식(표기법)에 맞추어 표현
    2. 단순화: 누구나 이해하기 쉽도록 약속된 규약에 의한 제한된 표기법 또는 언어를 이용하여 표현
    3. 명확화: 명확하게 한 가지 해석될 수 있도록 애매모호함을 제거하고 정확하게 현상을 기술
  3. 데이터 모델링의 관점
    1. 데이터 관점: 데이터와 업무 간의 관계, 데이터와 데이터 간의 관계가 무엇인지에 따라 모델링. 비즈니스 프로세스에서 사용되는 데이터를 의미.
      1. 구조 분석, 정적 분석
    2. 프로세스 관점: 실제 하는 업무에 따라 무엇을 어떻게 하는지 모델링. 비즈니스 프로세스에서 수행하는 작업을 의미.
      1. 시나리오 분석, 동적 분석
    3. 데이터와 프로세스의 상관 관점: 업무의 처리(프로세스)와 데이터 간에 서로 어떤 영향을 주고받는지 모델링. 프로세스와 데이터 간의 관계를 의미. 실무에서 가장 많이 쓰임.
      1. CRUD(Create, Read, Update, Delete)
  4. 데이터 모델링의 단계
    1. 개념적 모델링: 추상화 수준이 높고, 업무 중심적인 포괄적인 수준의 모델링
      1. 엔티티와 속성을 도출하며, 개념적 ERD를 작성하는 단계
    2. 논리적 모델링: 식별자를 도출하고 속성과 관계 등을 정의
      1. 정규화를 수행하여 데이터 모델의 독립성과 재사용성을 확보
      2. 데이터 모델링이 완료된 상태
    3. 물리적 모델링: 실제 DB에 적용할 수 있도록 물리적인 성능과 데이터 저장을 고려한 설계 단계
      1. 가장 구체적인 수준의 데이터 모델링으로, 추상화 수준이 가장 낮은 단계
      2. 성능, 보안, 가용성 등을 고려한 DB 모델링 진행
  5. 3단계 구조 스키마(3-Level Schema)
    1. DB의 독립성을 위해 3단계 구조 스키마가 존재
    2. 사용자(외부 스키마), 설계자(내부 스키마), 개발자(개념 스키마)의 각 관점에 따라 DB를 기술하고, 이들 간의 관계를 ANSI 표준으로 지정
    3. 데이터의 독립성 확보를 통해 얻는 장점
      1. 데이터 복잡도 감소
      2. 데이터 중복 제거
      3. 사용자 요구 사항 변경에 따른 대응력 향상
      4. 관리 및 유지보수 비용 절감
    4. 각 계층을 뷰(VIEW)라고 부르며, 3단계 계층으로 분리되어 서로 독립성을 확보
  6. 3단계 구조 스키마의 특징
    1. 외부 스키마: DB의 개별 사용자 관점의 이해와 표현
      1. 응용 프로그램이 데이터에 접근하는 View를 표현
    2. 개념 스키마: DB 관리자의 관점으로 규칙과 구조 표현
      1. DB의 전체적인 논리 구조
    3. 내부 스키마: DB 시스템 설계자의 관점으로 저장 장치 관점의 이해 및 표현
      1. 데이터가 실제로 DB에 물리적으로 어떻게 저장되는지 확인
  7. 데이터 모델링을 위한 ERD(Entity Relationship Diagram)
    1. 대표적인 표기법: 바커 표기법 (Baker Notation), I/E 표기법 (Information Engineering Notation)
    2. ERD 작성 순서
      1. 엔티티 도출
      2. 엔티티 배치
      3. 엔티티 관계 설정
      4. 관계명 기술
      5. 관계 참여도 기술 → 1:1, 1:N, N:N
      6. 관계 필수 여부 기술

참고: https://mjn5027.tistory.com/100

profile
백엔드 개발자 지망생

0개의 댓글