티스토리 뷰

데이터 모델링?


- 데이터 모델링은 현실세계를 데이터베이스로 표현하기 위해 추상화한다.
- 고객과의 의사소통을 통해 고객의 업무 프로세스를 이해해야한다.
- 업무 프로세스를 이해하면, 데이터 모델링 표기법을 사용해서 모델링한다.
- 데이터 모델리은 복잡하지 않도록 모델링을 해서 고객이 쉽게 이해할 수 있어야 한다.
- 데이터 모델링은 고객의 업무 프로세스를 추상화하고, 소프트웨어를 분석 설계 하면서 점점 더 상세해진다.
- 고객의 비즈니스 프로세스를 이해하고 비즈니스 프로세스의 규칙을 정의한다. 정의된 비즈니스 규칙을 모델로 표현한다.


1. 데이터 모델링의 특징

- 데이터 모델링은 추상화 해야한다. 공통적인 특징을 찾고 간략하게 표한한다.
1) 추상화 : 현실세계를 간략하게 표현한다.
2) 단순화 : 누구나 쉽게 이해할 수 있도록 표현한다.
3) 명확성 : 명화하게 의미가 해석되어야 하고 한 가지 의미를 가져야 한다.


2. 데이터 모델링 단계

1) 개념적 모델링
- 고객의 비즈니스 프로세스를 분석하고 업무 전체에 대해서 데이터 모델링을 수행한다.
- 업무관점에서 모델링하며 기술적인 용어는 사용하지 않음.
- 엔터티, 속성 도출 개념적 ERD를 작성한다.
- 전사적 관점에서 기업의 데이터를 모델링
- 추상화 수준이 가장 높은 수준의 모델링이다.

2) 논리적 모델링
- 개념적 모델링을 논리적 모델링으로 변환하는 작업
- 식별자를 도출하고 필요한 모든 릴레이션을 정의한다.
- 정규화를 수행해서 데이터 모델의 독립성을 확보한다.

3) 물리적 모델링
- 데이터 베이스를 실제로 구축한다. (테이블, 인덱스, 함수 생성)
- 성능, 보안, 가용성을 고려하여 데이터 베이스를 구축


3. 데이터 모델링 관점

1) 데이터
- 비즈니스 프로세스에서 사용되는 데이터를 의미한다.
- 구조 분석, 정적 분석
2) 프로세스
- 비즈니스 프로세스에서 수행하는 작업을 의미한다.
- 시나리오 분석, 도메인 분석, 동적 분석
3) 데이터와 프로세스
- CRUD 분석


4. 데이터 모델링을 위한 ERD(Entity Relationship Diagram)

- 피터첸이 만듦 사실상 표준으로 사용됨.
- 엔터티와 엔터티 간의 관계를 정의함.

* 작성 절차
1) 엔터티 도출후 그림
- 업무에서 관리해야 하는 집합 도출
2) 엔터티 배치
- 중요한거 왼쪽 상단
3) 엔터티 관계설정
4) 관계명 서술
-어떤 행위나 존재가 있는지 표현
5) 관계 참여도 표현
6) 관계 필수 여부 표현


5. 3층 스키마(3-Level Schema)

- 사용자, 설계자, 개발자가 데이터베이스를 보는 관점에 따라 데이터베이스를 기술하고 이들간의 관계를 정의한 ANSI 표준.
- 데이터 베이스 독립성을 확보하기 위한 방법
-  각 계층을 View라고도 한다.

* 3층 스키마의 독립성
1) 논리적 독립성 : 저장구조가 변경되어도 응용 프로그램 및 개념 스키마에 영향이 없다.
2) 물리적 독립성 : 데이터베이스 논리적 구조가 응용 프로그램에 변화가 없다.

* 3층 스키마 구조

3층 스키마


1) 외부 스키마
- 사용자 관점, 업무상 관련이 있는 데이터 이다.
- 관련 데이터베이스의 뷰를 표시한다.
- 응용프로그램이 접근하는 데이터베이스를 정의한다.

2) 개념 스키마
- 설계자 관점, 사용자 전체 집단의 데이터베이스 구조이다.
- 전체 데이터베이스 내의 규칙과 구조를 표현한다.
- 통합 데이터베이스 구조이다.

3) 내부 스키마
- 개발자 관점, 데이터베이스의 물리적 저장구조이다.
- 데이터 저장구조, 레코드 구조, 필드 정의, 인덱스를 의미함.