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

김정인·2021년 1월 7일
0

SQLD

목록 보기
1/16

데이터 모델의 이해

💡 모델링의 정의

  • 데이터 모델링이란 복잡한 현실세계를 일정한 표기법에 의해 단순화하여 표현하는 것
  • 시스템 구현, 업무분석, 업무형상화를 위해 진행하는 사전단계의 작업으로 데이터베이스 구축을 위한 사전작업

💡 모델링의 특징

특징내용
추상화(모형화, 가설적)현실세계를 일정한 양식에 맞추어 표현
단순화복잡한 현실세계를 약속된 규약에 의해 쉽게 이해할 수 있도록 표현
명확화누구나 이해하기 쉽게 하기 위해 대상에 대한 애매모호함 제거, 정확하게 현상을 기술

💡 모델링의 관점

관점내용
데이터 관점(What)업무와 데이터 및 데이터 사이의 관계
프로세스 관점(How)진행되고 있거나 진행되어야 하는 업무
상관 관점데이터에 대한 업무 처리 방식의 영향

💡 데이터 모델링

    정보시스템 구축을 위한 데이터 관점의 업무 분석 기법. 단지 데이터베이스만을 구축하기 위한 용도로만 쓰이는 것이 아니라 데이터 모델링 자체로서 업무를 설명하고 분석하는 부분에도 매우 중요한 의미를 가짐

  • 목적: 정보시스템 구축의 대상이 되는 업무 내용 정확한 분석, 분석된 모델을 이용해 실제 데이터베이스 생성
  • 기능: 가시화, 명세화, 구조화된 틀 제공, 문서화, 다양한 관점 제공, 구체화
  • 중요성: 파급효과(Leverage), 간결한 표현(Conciseness), 데이터 품질(Data Quality)

💡 데이터 모델링 유의점

유의점내용
중복(Duplication)데이터 중복 저장 주의
비유연성(Inflexibility)사소한 업무변화에 데이터모델을 수시로 변경되면 유지보수 어려움. 데이터의 정의를 데이터의 사용 프로세스와 분리해야 함
비일관성(Inconsistency)데이터의 중복이 없어도 비일관성 발생 가능. 모델링 시 데이터간 상호 연관관계를 명확히 정의

💡 데이터 모델링의 3단계

단계내용수준
개념적 모델링-업무중심적이고 포괄적인 수준의 모델링
-전사적 데이터 모델링
추상적
논리적 모델링-식별자를 도출하고 속성과 관계 정의
-정규화 수행하여 높은 재사용성

물리적 모델링-성능, 저장 등 물리적 성격을 고려데이터베이스 이식구체적

💡 데이터베이스 3단계 구조

    데이터 독립성 확보가 목적. 다른 스키마의 변화에 무관

항목내용
외부 스키마개개 사용자가 보는 개인적 DB 스키마
개념 스키마-조직 전체의 통합된 DB 스키마
-설계자 관점
내부 스키마-물리적으로 데이터가 저장되는 방법을 표현
-개발자 관점
-물리적 저장 구조

💡 데이터 모델링의 3요소

  • Things: 엔티티
  • Relationships: 관계
  • Attributes: 속성

💡 ERD (Entity Relationship Diagram) 작업 순서

 ① 엔터티 도출
 ② 엔터티 배치
 ③ 엔터티 간 관계 설정
 ④ 관계명 기술
 ⑤ 관계차수 표현: 1:1, 1:N, M:N
 ⑥ 관계선택사양 표현: 필수, 선택

💡 좋은 데이터모델의 요소

요소내용
완전성 (Completeness)업무에서 필요로 하는 모든 데이터가 데이터 모델에 정의
중복배제 (Non-Redundancy)하나의 데이터베이스 내에 동일한 사실은 반드시 한 번만 기록
업무규칙 (Business Rules)데이터 모델링 과정에서 도출되고 규명되는 수많은 업무규칙을 데이터 모델에 표현
데이터 재사용 (Data Reusability)데이터의 통합성과 독립성에 대해 고려해야 함
의사소통 (Communication)데이터 분석 과정에서 도출되는 많은 업무 규칙들은 데이터 모델에 엔터티, 서브타입, 속성, 관계 등의 형태로 최대한 자세하게 표현되어야 함
통합성 (Integration)동일한 데이터는 조직의 전체에서 한번 만 정의되고 이를 여러 다른 영역에서 참조, 활용

데이터 전문가 지식포털 참고

0개의 댓글