[SQLD / 자격증 공부] 요약 정리 1. 데이터 모델의 이해
my code archive
article thumbnail
반응형

데이터 모델링의 이해

 

모델링의 정의

  • Webster 사전
  • 복잡한 현실 세계를 단순화시켜 표현하는 것.
  • 모델이란 사물 또는 사건에 관한 양상(Aspect)이나 관점(Perpective)을 연관된 사람이나 그룹을 위하여 명확하게 하는 것.

모델링의 특징

  • 추상화, 단순화, 명확화
  • 정보 시스템 구축에서는 모델링을 계획, 분석, 설계할 때 업무를 분석하고 설계하는데 이용하고 이후 구축, 운영 단계에서는 변경과 관리의 목적으로 이용.

모델링의 세 가지 관점

  • 데이터 관점 : 업무가 어떤 데이터와 관련이 있는지, 데이터간의 관계는 무엇인지에 대해 모델링하는 방법
  • 프로세스 관점 : 업무가 실제하고 있는 일은 무엇인지 또는 무엇을 해야하는지를 모델링하는 방법
  • 데이터와 프로세스의 상관관점 : 업무가 처리하는 일의 방법에 따라 데이터는 어떻게 영향을 받고 있는지 모델링하는 방법
데이터 모델링이란
-정보시스템을 구축하기 위한 데이터관점의 업무 분석 기법
-현실세계의 데이터(what)에 대해 약속된 표기법에 의해 표현하는 과정
-데이터베이스를 구축하기 위한 분석, 설계의 과정

 

데이터 모델링의 중요성 및 유의점

중요성

  • 파급효과(Leverage)
  • 복잡한 정보 요구사항의 간결한 표현(Conciseness)
  • 데이터 품질(Data Quality)

유의점

  • 중복(Duplication) : 데이터베이스가 여러 장소에 같은 정보를 저장하면 X
  • 비유연성(Inflexibility) : 데이터 정의를 데이터의 사용 프로세스와 분리 
  • 비일관성(Inconsistency) : 데이터 모델링 시 데이터와 데이터간 상호 연관 관계에 대한 명확한 정의 필요

데이터 모델링의 3단계 진행

  • 개념적 데이터 모델링 : 추상화 수준이 높고 업무중심적이고 포괄적인 수준의 모델링 진행. 전사적 데이터 모델링, EA 수립 시 많이 이용
  • 논리적 데이터 모델링 : 시스템으로 구축하고자 하는 업무에 대해 Key, 속성, 관계 등을 정확하게 표현, 재사용성이 높음. (정규화)
  • 물리적 데이터 모델링 : 실제로 데이터베이스에 이식할 수 있도록 성능 ,저장 등 물리적인 성격을 고려하여 설계

데이터 독립성의 필요성

어떤 단위에 대해 독립적인 의미를 부여, 그것을 효과적으로 구현 => 자신이 갖는 고유한 특징이 명확해지고 다른 기능의 변경으로부터 쉽게 변경되지 않고 자신의 고유한 기능을 갖게되는 장점이 있다.

데이터 독립성 <-> 데이터 종속성

데이터 독립성의 출현 배경 : 과거에 파일 방식으로 데이터 구성 시 데이터가 있는 파일, 데이터에 접근하기 위한 인덱스를 별도로 구현했음. 

 

데이터 독립성은 지속적으로 증가하는 유지보수 비용을 절감, 데이터 복잡도를 낮춤, 중복된 데이터를 줄이기 위한 목적이 있다. 끊임없이 요구되는 사용자 요구사항에 대해 화면, 데이터베이스 간에 서로 독립성을 유지.

  • 각 Vuew의 독립성을 유지하고 계층별 View에 영향을 주지 않고 변경이 가능
  • 단계별 스키마에 따라 데이터 정의어(DDL), 데이터 조작어(DML)가 다름을 제공.

데이터 독립성 요소

  • 외부 스키마 : View 단계 여러 개의 사용자 관점으로 구성, 개개인 사용자가 보는 개인적 DB 스키마. (사용자 관점)
  • 개념 스키마 : 하나의 개념적 스키마로 구성된 모든 사용자 관점을 통합한 조직 전체의 DB를 기술하는 것. DB에 저장되는 데이터와 그들간의 관계를 표현하는 스키마. (통합 관점)
  • 내부 스키마 : DB가 물리적으로 저장된 형식. 물리적 장치에서 데이터가 실제적으로 저장되는 방법을 표현하는 스키마. (물리적 저장 구조)

데이터베이스 스키마 구조는 3단계로 구분되고 각각은 상호 독립적인 의미, 고유한 기능을 갖는다. 데이터모델링은 통합 관점의 뷰를 가지고 있는 개념 스키마를 만들어가는 과정으로 이해할 수 있다.

 

데이터 모델링의 3가지 요소

  • 업무가 관여하는 어떤 것(Things)
  • 어떤 것이 가지는 성격(Attributes)
  • 업무가 관여하는 어떤 것간의 관계(Relationships)

=> 엔티티, 속성 관계

ERD

  • ERD는 각 업무 분석에서 도출된 엔티티와 엔티티간의 관계를 이해하기 쉽게 도식화된 다이어그램으로 표시하는 방법
  • 1. 엔티티를 그린다 -> 2. 엔티티를 적절하게 배치한다. -> 3. 엔티티간의 관계 설정 -> 4. 관계명 기술 -> 5. 관계의 참여도 기술 -> 6. 관계 필수여부 기술

좋은 데이터 모델의 요소

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

my code archive

@얼레벌레 개발자👩‍💻

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

반응형