본문 바로가기
Certificate/SQLD

[SQLD]1과목 - 1장 1절. 데이터 모델링의 이해

by Istj_eff 2022. 10. 6.

1절. 데이터 모델의 이해

1. 모델링

: 현실 세계를 단순화하여 표현한 것

  • 특징 (단 추 명)
    • 추상화 : 일정한 형식에 맞춰 표현함
    • 단순화 : 제한된 표기법이나 언어로 표현함
    • 명확성 : 이해가 쉽게 표현함
  • 관점
    • 데이터 관점 : 업무와 데이터 및 데이터 사이의 관계
    • 프로세스 관점 : 진행되고 있거나 진행되어야 하는 업무
    • 상관 관점 : 데이터에 대한 업무 처리 방식의 영향 

2. 데이터 모델링

: 정보 시스템 구축을 위한 데이터 관점의 업무 분석 기법
 현실세계의 데이터에 대해 약속된 표기법에 의해 표현하는 과정

  • 목적
    1) 정보에 대한 표기법을 통일하여 업무 내용 분석 정확도 증대
    2) 데이터 모델을 기초로 DB 생성
  • 기능
    1) 원하는 모습으로 가시화하도록 도와준다.
    2) 시스템의 구조와 행동을 명세화할 수 있게 한다.
    3) 구조화된 틀을 제공한다.
    4) 시스템 구축과정에서 결정한 것을 문서화한다.
    5) 영역에 집중하기 위해 다른 영역의 세부사항은 숨기는 다양한 관점인 추상화를 실행한다.
    6) 특정 목표에 따라 구체화된 상세 수준의 표현방법을 제공한다.
    7) 분석모델을 가지고 데이터베이스를 생성하여 개발 및 데이터관리에 사용
  • 중요성
    • 파급효과(Leverage)가 크다.
    • 간결한 표현(Conciseness) : 정보 요구사항과 한계를 간결하게 표현하는 도구
    • 데이터 품질 유지 (유 유 일)
      • 유일성 : 데이터 중복 저장 방지
      • 유연성 : 데이터 정의와 데이터 사용 프로세스 분리
      • 일관성
  • 유의점 ★
    • 중복(duplication) : 데이터베이스가 여러 장소에 같은 정보를 저장하지 않게 함
    • 비유연성(inflexibility) : 데이터 정의를 데이터 사용프로세스와 분리
    • 비일관성(inconsistency) : 중복이 없어도 비일관성은 발생함. 데이터간의 상호연관 관계에 대한 명확한 정의는이러한 위험을 사전에 예방할 수 있도록 해준다.
      ex)신용상태에 대한 갱신없이 고객의 납부이력정보 갱신
  • 이해관계자
    1) 개발자 
    2) DBA
    3) 모델러 
    4) 현업업무전문가, 완성된 모델을 정확히 해석할 수 있어야 함

3. 데이터 모델링 3단계 

개념 > 논리 > 물리 순으로 구체적이다.

  • 개념적 모델링
    추상화 수준이 높고, 업무 중심적, 포괄적인 수준의 모델링. 전사적 데이터 모델링, EA수립
  • 논리적 모델링
    식별자를 도출하고 속성과 관계, key 등을 정확하게 정의, 정규화를 수행하여 데이터 모델의 독립성재사용성 확보, 논리 데이터 모델은 데이터 모델링 완료 상태, 주제 영역을 설정 재사용성이 높음 , 외래키는 물리모델에서 반드시 구현되지는 않음.
  • 물리적 모델링
    실제로 DB에 이식할 수 있도록 성능, 보안 등 물리적인 성격 고려해서 설계, 슈퍼/서브타입 분리 및 통합. 실제 데이터베이스 구축시 참고됨


 

4. DB 3단계 구조 

:  데이터 독립성 확보를 목표로 함

  • DB 독립성의 필요성
    데이터의 중복성과 데이터 복잡도 증가로 인한
    1) 유지보수 비용 증가
    2) 데이터 중복성 증가
    3) 데이터 복잡성 증가
    4) 요구사항 대응 저하
  • 데이터 독립성 효과
    1) view의 독립성 유지
    2) 계층별 view에 영향을 주지않고 변경 가능
    3) 단계별 스키마에 따라 DDLDML 다름
    4) 사상(Mapping) : 상호 독립적인 개념을 연결시켜주는 다리
    5) 외부적/개념적 사상 + 개념적/물리적 사상
  • 3층 스키마 (3-level Schema) (서로 간섭 x)
    1. 외부 스키마
      :
      각 사용자 단계의 개인적 DB 스키마, 사용자 관점, 응용 프로그램이 접근하는 DB를 정의함
    2. 개념 스키마
      : 모든 사용자 관점을 통합한 조직 전체 관점의 통합적 표현
       설계자 관점, 데이터 모델링의 지향점
       모든 응용시스템이나 사용자들이 필요로하는 데이터를 통합한 조직 전체의 DB를 기술한 것
    3. 내부 스키마
      : 물리적으로 데이터가 저장되는 방법을 표현하는 스키마, 개발자 관점, 물리적 저장 구조임
  • 데이터 독립성
논리적 독립성(외부-개념) 개념스키마 변경  외부스키마 영향 없음. 
논리적 사상 없음. 
논리적 구조 변경되어도 응용프로그램 영향없음 사용자 특성에 맞게 변경 가능
통합 구조 변경 가능
물리적 독립성(개념-내부) 내부스키마 변경  외부/개념스키마 영향 없음. 
물리적 사상 없음. 
물리적 구조
개념 구조 상호간 영향없이 서로 변경가능 
저장장치의 구조변경은 응용프로그램과 개념스키마에 영향없음.

5. 데이터 모델링 3요소 : Thing, Relationships, Attributes ★

6. 데이터 모델에 표시할 요소

  • 구조(Structure) : 논리적으로 표현된 개체 타입들 간의 관계, 데이터 구조 및 정적 성질을 표현
  • 연산(Operation) : 데이터베이스에 저장된 실제 데이터를 처리하는 작업에 대한 명세 데이터베이스를 조작하는 기본도구
  • 제약조건(Constraint) : 데이터베이스에 저장될 수 있는 실제 데이터의 논리적인 제약 조건 사용자가 원하는 조건의 데이터만 유지하기 위한 즉, 데이터의 무결성을 유지하기 위한 데이터베이스의 보면적인 방법으로 테이블의 특정 칼럼에 설정하는 제약이다.

 

7. 좋은 모델링의 요건 6가지

  • 완전성
  • 중복 배제
  • 업무 규칙
  • 데이터 재사용
  • 의사소통
  • 통합성

8. ERD (Entity Relationship Diagram)

엔터티는 사각형, 관계는 마름모, 속성은 타원형으로 표현현실의 데이터 모두 표현 가능

  1. 엔터티 그리기
  2. 엔터티 배치 : 가장 중요한 엔터티를 왼쪽 상단에 배치
  3. 엔터티 간 관계 설정
  4. 관계명 기술 : 관계의 명칭은 관계 표현에 있어서 매우 중요
  5. 관계차수 표현 : 1:1, 1:N, M:N
  6. 관계선택사양 표현 : 필수, 선택

9. 데이터 모델링 표기법

1976년 피터첸이 Entity Relationship Model 개발, ER모델 (chen은 이론상, IE는 협업에서 많이 사용)

10.프로젝트 생명주기(Life Cycle)

  • Waterfall 기반 : 분석과 설계단계로 구분되어 명확하게 정의
  • 정보공학/구조적 방법론 : 분석단계 - 업무중심 논리적 모델 
                                             설계단계 - 하드웨어 및 성능 고려한 물리적 모델링
  • 나선형 모델 (RUP, 마르미) : 업무크기 따라 논리적/물리적 모델링이 분석/설계 양쪽 수행
    비중은 분석단계에서 논리적 모델이 더 많이 수행. 데이터/애플리케이션 축 구분 진행, 상호검증, 단계별 완성도
 계획 > 분석 > 설계 > 개발 > 테스트 > 전환/이행 단계로 구성됨
  1. 계획과 분석 단계는 개념적 모델링
  2. 분석 단계는 논리적 모델링
  3. 설계 단계는 물리적 모델링에 해당
  4. 실제는 개념 단계 생략
  5. 객체지향 개념은 데이터/프로세스 모델링 구분 X 일체형으로 진행

 

댓글