1. 데이터 모델링의 정의
- 고객과 함께 고객의 업무 프로세스를 이해해야 데이터 모델링을 제대로 할 수 있다.
- 현실 세계를 데이터베이스에서 표현하기 위한 추상화 과정
- 데이터 모델링 표기법을 사용해 모델링
- 고객의 업무 프로세스내 비즈니스 프로세스 규칙을 정의하여 데이터 모델로 표현할 수 있어야 함.
- 고객이 이해하기 쉽게 간결하게 모델링 해야 함.
2. 데이터 모델링의 특징
추상화 Abstraction | 현실 세계를 일정한 양식에 맞게 간략하게 표현 |
단순화 Simplification | 누구나 이해하기 쉽게 약속된 규약의 표기법 또는 언어를 이용해 표현 |
명확화 Clarity | 명확하게 의미가 한 가지로 해석되어야 함. |
3. 데이터 모델링의 단계
1) 개념적 모델링 : 추상화 수준이 가장 높음. 업무 측면의 모델링. 전사적/포괄적 모델링. 핵심 엔터티(객체) 도출. ERD 작성
2) 논리적 모델링 : 특정 DB모델에 종속. 세부속성/식별자/관계 등 정확하게 표현. 정규화 완료. 재사용성 높음
3) 물리적 모델링 : 물리적 성능과 데이터 저장을 고려한 설계. 가장 구체적. 추상화 수준이 가장 낮음.
4. 데이터 모델링의 3과지 관점
* 데이터 관점
- 데이터와 업무 간의 어떤 관련이 있는지, 데이터 사이의 관계가 무엇인지에 따라 모델링함.
- 비즈니스 프로세스에 사용되 는 데이터 의미
- 구조분석, 정적분석
* 프로세스 관점
- 실제 하는 업무에 따라 무엇을 어떻게 하는지 모델링 함.
- 비즈니스 프로세스에서 수행하는 작업 의미
- 시나리오 분석, 도메인 분석, 동적 분석
* 데이터와 프로세스의 상관 관점
- 업무의 처리(프로세스)와 데이터 간의 서로 어떤 영향을 주고 받는지를 모델링
- 프로세스와 데이터 간의 관계 의미
- CRUD ( Create, Read, Update, Delete)
5. 데이터 모델링을 위한 ERD
- 1976년 피터첸이 만든 표기법
- 대표적 표기법 : IE, Barker
* ERD 작성순서
1) 엔티티 도출
2) 엔티티 배치
3) 엔티티 관계 설정
4) 관계명 기술
5) 관계 참여도 기술
6) 관계 필수 여부 기술
6. 3단계 구조 스키마(3-Level Schema)
- 데이터베이스 독립성을 위해 3단계 구조 스키마 존재
- 사용자(외부 스키마), 설계자(내부 스키마), 개발자(개념 스키마)의 각기 관점에 따라 데이터베이스를 기술하고 이들간의 관계를 ANSI표준으로 정했다.
- 데이터의 독립성 확보를 통해 데이터 복잡도 감소, 데이터 중복 제거, 사용자 요구사항 변경에 따른 대응력 향상, 관리 및 유지보수 비용 절감등의 장점이 생긴다.
- 각 계층을 뷰라고 부르며 3단계 계층으로 분리되어 서로 독립성을 확보한다.
7. 데이터베이스 3단계 구조 특징
외부 스키마 (외부 단계) |
데이터베이스의 개별 사용자 관점의 이해와 표혐 응용프로그램이 접근하는 데이터베이스 여러 개의 외부 스키마 존재 |
개념 스키마 (개념 단계) |
데이터베이스 관리자의 관점으로 규칙과 구조 표현 데이터베이스의 전체적인 논리구조 일반적으로 스키마는 개념 스키마를 지칭 |
내부 스키마 (내부 단계) |
데이터베이스 시스템의 설계자 관점으로 저장 장치 관점의 이해 및 표현 데이터가 실제로 데이터베이스에 물리적으로 어떻게 저장되는지 확인 |
8. 엔티티(Entity)
- 데이터의 집합
- 저장되며 관리되는 데이터
- 개념, 사건, 장소 등의 명사
- 유형과 무형에 따른 분류
유형 엔티티 | 물리적 / 안정적 / 지속적 ex) 사원, 제품, 교수 등 |
개념 엔티티 | 물리적이지 않지만 개념적으로 존재하며 정보로 구분 ex) 강의, 금융상품, 부서 등 |
사건 엔티티 | 비즈니스 프로세스에 따라 발생되는 엔티티 데이터가 많음 ex) 구매, 판매, 영업, 수납 등 |
- 발생 시점에 따른 엔티티 분류
기본 엔티티 | 키 엔티티라고 하며, 독립적으로 생성 및 관리됨 ex) 고객, 부서, 판매제품 |
중심 엔티티 | 기본 엔티티로부터 발생되는 행위 엔티티를 생성하는 중간 엔티티 ex) 계좌, 주문, 수납 등 |
행위 엔티티 | 상위에 있는 2개 이상의 엔티티로부터 발생되는 엔티티 ex) 주문이력, 접속 이력, 수납 이력 등 |
9. 속성(Attribute)
- 엔티티가 가지는 항목
- 속성은 더 이상 분리되지 않음
- 업무에 필요한 데이터를 저장
- 인스턴스의 구성 요소로 최소의 데이터 단위
- 속성의 특징
1) 속성은 업무에서 관리되는 정보
2) 속성은 하나의 값만 가짐
3) 주식별자에게 함수적으로 종속. 기본키에 따라 속성의 값도 변경될 수 있음
- 특성에 따른 속성 종류
기본 속성 | 비즈니스 프로세스에서 도출한 본래의 속성 ex) 이름, ID, 전화번호, 등록일시 등 |
설계 속성 | 데이터 모델링 과정에서 발생되는 속성 ex) 상품코드, 지점코드 등 |
파생 속성 | 다른 속성에 의해 만들어지는 속성 ex) 합계, 평균 등 |