STUDY/IT

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

Json웅 2021. 5. 10. 17:35

I. 데이터 모델링의 이해

1. 모델링의 이해

- 모델링 : 가설적 또는 일정양식에 맞춘 표현, 복잡한 현실세계를 단순화 시켜 표현,
             사물이나 사건에 대한 양상이나 관점을 명확하게 하는 것, 현실세계의 추상화된 반영

- 모델링의 특징
   a. 추상화 : 현실세계를 일정한 양식에 맞추어 표현
   b. 단순화 : 복잡한 현실세계를 약속된 규약에 의해 제한된 표기법이나 언어로 표현
   c. 명확화 : 대상에 대한 애매모호함을 제거하고 정확하게 현상을 기술

- 모델링의 세가지 관점 : 데이터 관점, 프로세스 관점, 데이터와 프로세스 상관관점

- 데이터 모델링이란?
   a. 정보시스템을 구축하기 위한 데티어 관점의 업무 분석 기법
   b. 현실세계의 데이터에 대해 약속된 표기법에 의해 표현하는 과정
   c. 데이터베이스를 구축하기 위한 분석/설계 과정

- 데이터 모델링의 중요성 및 유의점 : 파급효과, 간결한 표현, 데이터 품질

- 데이터 모델링의 3단계 진행
   a. 개념적 모델링 : 추상화 수준이 높고 업무 중심적이고 포괄적인 수준의 모델링
   b. 논리적 모델링 : 키, 속성, 관계등을 정확하게 표현. 재사용성 높음. 정규화
   c. 물리적 모델링 : 성능, 저장등의 물리적인 성격을 고려하여 설계

 

 

 

 

- 데이터 독립성 : 구조, 독립성, 사상

- 데이터베이스의 3단계 구조 : 외부단계, 개념적 단계, 내부적 단계

- 데이터독립성 요소 
   a. 외부스키마 : 각 사용자 단계로서 각 사용자가 보는 개인적 DB 스키마
   b. 개념스키마 : 모든 사용자 관점을 통합한 조직 전체의 DB를 기술
   c. 내부스키마 : DB가 물리적으로 저장된 형식

- 논리적 독립성/물리적 독립성
   a. 논리적 독립성 : 개념 스키마가 변경되어도 외부 스키마에는 영향을 미치지 않도록 지원
                           논리적 구조가 변경되어도 프로그램에 영향 없음
                           사용자 특성에 맞는 변경 가능. 통합구조 변경 가능
   b. 물리적 독립성 : 내부 스키마가 변경되어도 외부/개념 스키마는 영향을 받지 않도록 지원
                           저장장치의 구조변경은 응용프로그램과 개념 스키마에 영향 없음
                           물리적 구조 변경 없이 개념구조 변경 가능. 
                           개념구조 영향 없이 물리적 구조 변경 가능

- 사상
   a. 외부적/개념적 사상 : 외부적 뷰와 개념적 부의 상호 관련성을 정의
   b. 개념적/내부적 사상 : 개념적 뷰와 저장된 데이터 베이스의 상호관련성을 정의

- 데이터 모델링의 3가지 요소 : 업무가 관여하는 어떤 것, 어떤 것이 가지는 성격, 업무가 관여하는 어떤 것 간의 관계

- 데이터 모델링 용어의 구분 정의 : 어떤것 - 엔티티, 연관 - 관계, 성격 - 속성

- ERD(Entity Relationship Diagram) : 각 업무분석에서 도출된 엔터티간의 관계를 이해하기 쉽게 도식화된 다이어그램

- ERD 작업 순서
    : 엔터티를 그린다 - 엔터티를 배치 - 엔터티간 관계 설정 - 관계명 기술 - 관계의 참여도 기술 - 관계의 필수여부 기술

-좋은 데이터 모델의 요소
   a. 완전성 : 업무에서 필요로 하는 모든 데이터가 데이터 모델에 정의되어 있어야 함
   b. 중복배제 : 하나의 데이터베이스 내에 동일한 사실은 반드시 한번만 기록하여야 함
   c. 업무규칙 : 업무규칙을 데이터 모델에 표현
   d. 데이터 재사용 : 데이터의 통합성과 독립성에 대해서 충분히 고려
   e. 의사소통 : 관련자들이 설계자가 정의한 업무규칙들을 동일한 의미로 받아들이고, 활용할 수 있어야 함
   f. 통합성 : 동일한 데이터는 조직의 정체에서 한번만 정의되고 이를 다른 영역에서 참조, 활용하여야 함
   

 

 

반응형

'STUDY > IT' 카테고리의 다른 글

[SQLD] 데이터 모델과 성능  (0) 2021.05.13
[SQLD] 데이터 모델링의 이해 2  (0) 2021.05.11
Conda 명령어 모음  (0) 2020.06.30
DBeaver 설치 및 사용  (0) 2019.04.15
리눅스 vi 에디터 명령어 모음  (0) 2017.09.28