1. 데이터 모델링 (Data Modeling) 또는 데이터 설계 또는 데이터베이스 설계 이란?
ㅇ 현실세계의 정보 구조를 컴퓨터 정보 구조로 변환시키는 과정
ㅇ (단계별 모델링) : 개념적 모델링 -> 논리적 모델링 -> 물리적 모델링
- 때론, 개념적 및 논리적 모델링을 합쳐,
- `논리적 데이터 모델링` 또는 그냥 `데이터 모델링`이라고도 함
2. 데이터 모델링의 목적, 고려사항, 필요사항
ㅇ 목적
- 사용자에게 내부 저장 방식의 세세한 사항은 숨기면서,
- 데이터에 대한 직관적인 뷰를 제공하는 동시에 이들 간의 사상(Mapping)을 제공
ㅇ 고려사항
- 구조 : 논리적인 관계 구조 (데이터타입과 데이터 간의 관계)
- 제약 : 데이터구조 및 연산에 부가하는 제약조건(Constraint)
- 연산 : 실제 표현 값들을 처리하는/얻어내는 연산(Operation)
ㅇ 필요사항
- 데이터베이스 내 데이터의 일관성, 무결성, 정확성의 유지에 필요함
3. 개념적 모델링 (Conceptual Modeling) : 고수준 데이터 모델
ㅇ 사용자가 이해할 수 있는 수준
- 현실세계를 개념세계로 추상화시키는 것
ㅇ 뷰 단계(View level) 라고도 함
ㅇ 기본 개념(타입) 셋(3)
- 개체 : 실세계에 존재하며, 서로 구별이 되는 유무형 정보의 대상임
- 속성 : 개체 특성이나 상태를 나타냄
- 관계 : 개체나 속성 사이의 상호 연관성을 보여줌
ㅇ 관계의 종류
- 1:1 (일 대 일) 관계
. 관계되어 있는 두 개체 타입이, 모두 단일 개체 어커런스를 갖는 관계
- 1:N (일 대 다) 관계
. 한 개체 타입은 여러 개체 어커런스를 갖고, 다른 한쪽은 단일 개체 어커런스를 갖는 관계
- N:M (다 대 다) 관계
. 두 개체 타입이, 모두 여러 개체 어커런스를 갖는 관계
ㅇ 도구 例)
- 개체 관계 모델 (개체,관계,속성)
- 개체 관계 다이어그램 (E-R Diagram : 사각형,마름모,타원) 등
. 사각형(개체), 마름모(관계), 타원(속성)
4. 논리적 모델링 (Logical Modeling) : 표현(구현) 데이터 모델
ㅇ 데이터베이스에 저장할 구조 결정 및 그 구조로 표현하는 작업
ㅇ 통상, 전체를 몇개의 간단한 데이터 구조 모델로 표현 함
ㅇ 도구 例)
- 관계 데이터 모델(릴레이션), 네트워크 데이터 모델(그래프), 계층 데이터 모델(트리) 등
5. 물리적 모델링 (Physical Modeling) : 저수준 데이터 모델
ㅇ 실제 컴퓨터 저장장치에 물리적으로 데이터를 어떻게 저장하는가를 결정하는 과정
ㅇ 저장방식 例) ISAM, VSAM 등