모델링(Modeling)
- 정의 : 현실 세계를 추상화/단순화/명확화하기 위해 일정한 표기법에 의해 표현하는 기법
- 조건 : 현실세계 반영, 단순화하여 표현, 관리하고자 하는 데이터를 모델로 설계
▶ 모델링의 특징
- 추상화(Abstraction) : 일정한 형식으로 표현하는 것
- 단순화(Simplification) : 정해진 표기법으로 단순하고 쉽게 표현하는 것
- 명확화(Clarity) : 불분명함(애매모호함)을 제거하고 명확하게 해석할 수 있도록 기술하는 것
▶ 모델링의 세 가지 관점
- 데이터 관점(What, Data)
- 비즈니스 프로세스에서 사용되는 데이터
- 구조 분석, 정적 분석
- 프로세스 관점(How, Process)
- 비즈니스 프로세스에서 수행하는 작업
- 시나리오 분석, 도메인 분석, 동적 분석
- 데이터와 프로세스의 상관 관점(Data vs. Process, Interation)
- 프로세스와 데이터 간의 관계
- CRUD(Create, Read, Update, Delete) 분석
▶ 모델링의 세 가지 단계: "개논물"
- 개념적 모델링(Conceptual Modeling)
- 전사적 데이터 모델링, 추상화 레벨 가장 높음
- 업무 중심적이고 포괄적인 수준의 모델링 진행
- 엔터티(Entity)와 속성(Attribute) 도출 및 개념적 ERD 작성
- 논리적 모델링(Logical Modeling)
- 재사용성이 가장 높은 모델링, (Key, 속성, 관계 등) 표현
- 식별자 도출 및 필요한 모든 릴레이션 정의
- 정규화 수행 (모델의 독립성 확보, 무결성(Integrity) 유지)
- DB 저장 용량 감소
- 물리적 모델링(Physical Modeling)
- 실제 DB 구축 (테이블, 인덱스, 함수 등 생성)
- 성능, 보안, 가용성 등 물리적 성격 고려
▶ 데이터 모델링의 중요성(고려사항)
- 데이터 모델의 독립성
- 업무 변화에 능동적 대응 가능
- 독립성 확보를 위해 중복 데이터 제거 (정규화)
- 고객 요구사항의 표현
- 고객의 요구사항 간결하고 명확하게 표현
- 데이터 품질 확보
- DB 구축 시 데이터 표준 정의 및 표준 준수율 관리
- 데이터 표준 확보로 데이터 품질 향상
▶ 데이터 모델링의 유의사항
- 중복(Duplication) : 여러 장소에 같은 정보를 저장하지 않도록 함
- 비유연성(Inflexibility) : 데이터의 정의를 데이터의 사용 프로세스와 분리함
- 비일관성(Inconsistency) : 데이터 간 상호 연관 관계를 명확하게 정의함
3단계 스키마
- 사용자, 설계자, 개발자가 DB 관점에 따라 DB를 기술하고 이들 간의 관계를 정의한 ANSI 표준
- DB의 독립성 확보를 위한 방법, 각 계층을 뷰(View, 가상테이블)이라고도 함
▶ 3단계 스키마 구조
- 외부 스키마(External Schema) : 사용자 관점, View 단계
- 개념 스키마(Conceptual Schema) : 모든 사용자 관점을 통합한 조직 전체 관점의 통합적 표현,
- 내부 스키마(Internal Schema) : 물리적 저장 구조, 데이터의 저장 구조, 컬럼 정의, 인덱스 등 포함
▶ 3단계 스키마 구조가 보장하는 독립성
- 데이터 독립성 확보
- 데이터 복잡도 감소, 데이터 중복 제거, 사용자 요구사항 변경에 따른 대응력 향상, 관리 및 유지보수 비용 절감 등
- 논리적 독립성
- 논리적 사상(외부적 + 개념적)을 통해 논리적 독립성 보장
- 개념 스키마 변경되어도 외부 스키마에 영향 없음
- 논리적 구조가 변경되어도 응용 프로그램에 영향 없음, 통합 구조 변경 가능
- 물리적 독립성
- 물리적 사상(개념적 + 내부적)을 통해 물리적 독립성 보장
- 내부 스키마가 변경되어도 외부/개념 스키마에 영향 없음
- 응용프로그램과 개념 스키마에 영향 없이 저장장치 구조 변경 가능
ERD(Entity Relationship Diagram)
- 1976년 피터첸(Peter Chen)에 의해 표기법이 만들어 졌고, 사실상 데이터 모델링의 표준으로 사용되고 있음
- 엔터티와 엔터티 간의 관계를 정의하는 모델링 방법
▶ ERD 표기방식
- Peter Chen, IDEF1X, IE/Crow's Foot, Min-Max/ISO, UML, Case*Method/Barker
- 주로 IE/Crow's Foot 표기법 사용
▶ 작성순서
- 엔터티 도출 및 그린 후 적절하게 배치
- 엔터티 간 관계 설정
- 관계명 정의
- 관계의 참여도 기입
- 관계의 필수/선택 여부 기입
'분석가 Step 0. 자격증 > SQLD' 카테고리의 다른 글
[1장] 반정규화, 대량 데이터에 따른 성능 (0) | 2023.03.22 |
---|---|
[1장] 데이터 모델, 정규화, 반정규화 (0) | 2023.03.20 |
[1장] 데이터 모델링의 이해 4절 (0) | 2023.03.17 |
[1장] 데이터 모델링의 이해 3절 (0) | 2023.03.17 |
[1장] 데이터 모델링의 이해 2절 (0) | 2023.03.17 |