본문 바로가기

CERTIFICATION/SQLD

[SQLD/데이터 모델링의 이해]1-1. 데이터 모델의 이해

1. 데이터 모델링의 이해

1-1. 데이터 모델의 이해

(01) 모델링 특징 3가지

  • 추상화 : 일정한 형식에 맞추어 표현
  • 단순화 : 제한된 표기법, 언어로 표현해서 쉽게 이해하도록 함
  • 명확화(=정확화) : 누구나 쉽게 이해하도록 애매모호함을 제거해 정확하게 현상을 기술

 

 (02) 정보시스템 구축에서 모델링 활용

  • 계획/ 분석/ 설계할 때 업무를 분석하고 설계하는데 이용 
  • 구축/ 운영 단계에서는 변경과 관리의 목적으로 이용

 

(03) 모델링의 3가지 관점

  • 데이터 관점 (Data, what) : “업무”와 데이터 // 데이터와 데이터간의 관계
  • 프로세스 관점 (Process, How) : “업무 프로세스”가 실제 하는 일 or 무엇을 해야하는지 
  • 상관 관점 (Interaction) : “업무”가 처리하는 일의 “방법”에 따른 “데이터가 받는 영향

 

(04) 데이터 모델링 정의

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

 

(05) 데이터 모델링 기능

  • 시스템 가시화, 시스템 구조&행동 명세화, 시스템 구축의 구조화 틀 제공 
  • 시스템 구축 과정을 문서화, 세부사항은 숨기는 다양한 관점 제공
  • 상세한 수준의 표현방법 제공

 

(06) 데이터 모델링 필요한 이유

  • 업무 정보를 일정한 표기법으로 표현 (!=별도의 표기법 아님) 
  • 분석된 모델로 DB 생성 및 개발
  • 업무 흐름을 설명

 

(07) 데이터 모델링의 중요성 ⇒ 간결 정확 신뢰

  • 파급효과 큼 : 일련의 변경 시 다른 것도 다 바꿔야 
  • 복잡한걸 간결하게 표현 : 명확하고 간결하게 함
  • 데이터 품질을 유지 : 오래된 데이터의 정확성과 신뢰성

 

(08) 데이터 모델링의 유의점 ⇒ 중복없이 명확하게 분리 

  • 중복 : 데이터베이스가 여러 장소에 같은 정보 저장되는 것을 주의
  • 비유연성 : 데이터 정의를 데이터 프로세스와 “분리”해야함 (분리해서 유연하게)  
  • 비일관성 : 데이터간 “상호 연관관계를 명확”히 정의해야함 (일관되고 명확하게)

 

(09) 데이터 모델링 3단계

  • 개념적 : 추상화 수준이 높고, 업무중심적, 전체에 대해 포괄적인 수준의 모델링
  • 논리적 : { 키, 속성, 관계 }를 표현, 재사용성 높음, 정규화를 수행
  • 물리적 : 실제 DB에 이식, 물리적 성격, 개념적보다 구체적

 

(10) 프로젝트 생명주기

  • 폭포수 : 데이터 모델링이 명확히 구분됨 (분석 → 개념, 논리 // 설계 → 물리) 
  • 정보공학/구조적 방법론 : (분석 → 논리) // (설계 → 물리)
  • 나선형 : 업무 크기에 따라 논리, 물리적 설계가 분석, 설계 양쪽에서 수행

 

(11) 독립성 필요성

  • 유지보수 비용 절감
  • 중복된 데이터 줄이기
  • 데이터 복잡도 낮추기
  • 요구사항 대응을 높히고자

 

(12) 데이터베이스 3단계 구조 

  • 외부 단계
  • 개념적 단계
  • 내부적 단계

 

(13) 데이터 독립성 요소

  • 외부 스키마
  • 개념 스키마
  • 내부 스키마

 

(14) 두 영역의 데이터 독립성

  • 논리적 독립성 (외부 ↔ 개념)
  • 물리적 독립성 (개념 ↔ 내부)
외부단계 외부스키마  (= 사용자와 가까운 단계)
[논리적 데이터 독립성]
개념적 단계 개념스키마(= DB에 저장되는 데이터와 사용자 관계 표현) 
                      모든 사용자 관점을 통합, 조직 전체 통합
[물리적 데이터 독립성]
내부단계 내부 스키마

 

(15) 사상 (Mapping)

  • “상호 독립적인 두 개념을 연결시키는 다리” (= 매핑)
  • 외부적/개념적 사상 + 개념적/물리적 사상

 

(16) 데이터모델링 주요 세가지 개념 

  • 업무가 관여하는 어떤 것 (Things) 
  • 어떤 것이 가지는 성격 (Attributes)
  • 업무가 관여하는 어떤 것(Things) 간의 관계 (Relationships)
개념 복수/집합개념 & 타입/클래스 개별/단수개념 & 어커런스/인스턴스
어떤 것(Things) 엔터티타입(Entity Type) 엔터티(Entity)
엔터티(Entity) 인스턴스(Instance) / 어커런스(Occurrence)
어떤 것의 성격(Attributes) 속성(Attribute) 속성값(Attribute Value)
어떤 것 간의 관계(Relationships) 관계(Relationship) 페어링(Pairing)

 

(17) 데이터모델 표기법 ERD 이해

  • ERD 표기법 : 엔터티 = 사각형 // 관계 = 마름모 // 속성 = 타원형 
  • ERD로 모델링하는 방법
    엔터티 그리기 → 엔터티 배치 → 엔터티간 관계 설정 → 관계의 참여도 설정 → 관계의 필수 여부 설정

 

(18) 좋은 데이터모델의 요소

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