SQLD 1과목 데이터 모델링의 이해
<목차> |
1. 데이터모델의 이해
A. 데이터 모델링의 정의
- 정보시스템을 구축하기 위한 데이터 관점의 업무 분석 기법 (분석/설계의 과정)
- 고객과 함께 고객의 업무 프로세스를 이해해야 데이터 모델링을 제대로 할 수 있음.
- 현실 세계의 데이터에 대해 데이터베이스에서 표현하기 위한 추상화 과정
- 약속된 데이터 모델링 표기법을 사용하여 모델링
- 고객의 업무 프로세스 내 비즈니스 프로세스 규칙을 정의하여 데이터 모델로 표현할 수 있어야 함.
- 고객이 이해하기 쉽게 간결하게 모델링해야 함.
B. 데이터 모델링의 특징
(1) 추상화 (Abstraction): 현실 세계를 일정한 양식 (표기법)에 맞게 간략하게 표현
(2) 단순화 (Simplification): 누구나 이해하기 쉽도록 약속된 규약에 의한 제한된 표기법 또는 언어를 이용하여 표현
(3) 명확화 (Clarity): 명확하게 의미가 한 가지로 해석되어야 하므로 애매모호함을 제거하고 정확하게 현상을 기술.
C. 데이터 모델링의 단계
개념적 모델링 | 논리적 모델링 | 물리적 모델링 |
- 추상화 수준이 가장 높음 - 업무 측면의 모델링 - 전사적이고 포괄적인 모델링 - 핵심 엔터티 도출 - ERD 작성 |
- 특정 데이터베이스 모델에 종속됨 (Oracle, MY SQL....) - 세부속성, 식별자, 관계 등을 정확하게 표현 - 데이터 정규화 완료 - 재사용성이 높음. |
- 물리적인 성능과 데이터 저장을 고려한 설계 - 가장 구체적인 데이터 모델링 - 추상화 수준이 가장 낮은 단계 - 성능, 보안, 가용성을 고려한 데이터베이스 모델링 진행 |
D. 데이터 모델링의 3가지 관점
(1) 데이터 관점
- 데이터와 업무 간의 어떤 관련이 있는지, 데이터와 데이터 사이의 관계가 무엇인지에 따라 모델링. 비즈니스 프로세스에서 사용되는 데이터를 의미.
- 구조분석, 정적분석
(2) 프로세스 관점
- 실제 하는 업무에 따라 무엇을 어떻게 하는지 모델링. 비즈니스 프로세스에서 수행하는 사업을 의미.
- 시나리오 분석, 도메인 분석, 동적 분석
(3) 데이터와 프로세스의 상관 관점
- 업무의 처리(프로세스)와 데이터 간의 서로 어떤 영향을 주고받는지를 모델링. 프로세스와 데이터 간의 관계를 의미.
- CRUD (CREATE, READ, UPDATE, DELETE)
E. 데이터 모델링을 위한 ERD(ENTITY RELATIONSHIP DIAGRAM)
1976년 피터 첸이 만든 표기법. 데이터모델링의 표준으로 지금까지 사용.
- 대표적인 표기법; CHEN, IE/CROW'S FOOT, BARKER, UML
- 관계의 명칭은 관계 표현에 있어서 매우 중요한 부분에 해당함.
- 가장 중요한 엔터티를 왼쪽 상단에 배치하고 이것을 중심으로 다른 엔터티를 나열하면서 전개
- ERD를 작성하는 순서
(ㄱ) 엔터티 도출
(ㄴ) 엔터티 배치
(ㄷ) 엔터티 관계설정
(ㄹ) 관계명 기술
(ㅁ) 관계 참여도 기술
(ㅂ) 관계 필수 여부 기술
F. 3단계 구조 스키마 (3 - LEVEL SCHEMA)
- 데이터베이스의 독립성을 위해서 3단계 구조 스키마 존재
- 사용자 (외부 스키마), 설계자 (내부 스키마), 개발자 (개념 스키마)의 각기 관점에 따라 데이터 베이스를 기술하고 이들 간의 관계를 ANSI 표준으로 정함.
- 데이터의 독립성 확보를 통해서 데이터 복잡도 감소, 데이터 중복 제고, 사용자 요구 사항 변경에 다른 대응력 향상,
관리 및 유지보수 절감 등의 장점 생김.
- 각 계층을 '뷰(VIEW)' 라고 부르며 3단계 계층으로 분리되어 서로 독립성을 확보
G. 데이터 베이스 3단계 구조 특징 (ANSI-SPARC에서 정의한 3 - LEVEL ARCHITECTURE)
* ANSI-SPARC: DB 구축을 위한 추상적인 설계표준. DB 구조를 크게 외부단계, 개념단계, 내부단계로 구분.
외부스키마 (외부 단계) |
- 데이터베이스의 개별 사용자 관점의 이해와 표현 - 응용 프로그램이 접근하는 데이터 베이스 - 여러 개의 외부 스키마 존재 |
개념 스키마 (개념 단계) |
- 데이터베이스 관리자의 관점으로 규칙과 구조 표현 - 데이터베이스의 전체적인 논리구조 - 일반적으로 스키마는 개념 스키마 지칭 |
내부 스키마 (내부 단계) |
- 데이터베이스 시스템의 설계자 관점으로 저장 장치 관점의 이해 및 표현 - 데이터가 실제로 데이터베이스에 물리적으로 어떻게 저장되는지 확인 |
H. 데이터 모델링 유의점
(1) 중복(Duplication): 여러 장소의 데이터베이스에 같은 정보를 저장하지 않도록 하여 중복성을 최소화
(2) 비유연성(inflexibility): 데이터의 정의를 데이터의 사용 프로세스와 분리하여 유연성을 높임
(3) 비일관성(inconsistency): 데이터 간의 상호 연관관계를 명확하게 정의하여 일관성 있게 데이터가 유지되도록 함.
I. 데이터 모델링의 3요소
(1) 어떤 것 (Things) : 업무와 관련된 어떤 것 = 엔터티
(2) 성격 (Attributes): 어떤 것이 갖는 성격
(3) 관계 (Relationship) : 어떤 것 간의 관계
다음글
'자격증 > SQLD' 카테고리의 다른 글
데이터 모델링의 이해 - 식별자 (1) | 2023.12.27 |
---|---|
데이터 모델링의 이해 - 관계 (0) | 2023.12.27 |
데이터 모델링의 이해 - 속성 (0) | 2023.12.27 |
데이터 모델링의 이해 - 엔터티 (1) | 2023.12.26 |
24년 1월부터 변경되는 sqld 검정과목과 검정방법 (0) | 2023.12.26 |