IEIP_Note

데이터 모델 Data Model


요소 설명
Structure
구조
DB에 논리적으로 표현될 대상으로서의 개체 타입과 개체 타입 들 간의 관계
데이터 구조 및 정적 성질을 표현하는 요소
Operation
연산
DB에 저장된 실제 데이터를 처리하는 작업에 대한 명세
DB 조작하는 요소
Constraint
제약 조건
DB에 저장될 수 있는 실제 데이터의 논리적인 제약 조건

DB 설계 / 데이터 모델 분류

1. 요구 조건 분석


2. 개념적 설계

- 트랜잭션 모델링, View 통합 방법 및 Attribute 합성 고려
- 개념적 데이터 모델은 DB 종류와 관계가 없음
- 주요 산출물은 '개체 관계 다이어그램'이 있음

3. 논리적 설계

- 논리적 설계 단계에서 정규화를 수행
- 논리적 DB 구조로 Mapping
- Schema 평가 및 정제
- 논리적 데이터 모델을 통해 '관계 데이터 모델', '계층 데이터 모델', '네트워크 데이터 모델',
  '객체지향 데이터 모델', '객체-관계 데이터 모델' 중 하나의 모델에 맞게 설계
- RDB (관계형 DB)에서는 테이블을 설계하는 단계

4. 물리적 설계

- `Table`, `Index`, `View`, `Partition` 등 객체를 생성
- 응답 시간, 저장 공간의 효율화, 트랜잭션 처리를 고려하여 설계
- 성능 측면에서 '반 정규화' 수행한다.
  - 반 정규화 De-Normalization
    - 정규화된 엔티티, 속성, 관계에 대해 성능 향상과 개발 운영의 단순화를 위해
      중복, 통합, 분리 등을 수행하는 데이터 모델링 기법
- 레코드 집중의 분석 및 설계
- 저장 레코드 양식 설계
- 접근 경로 설계

개체 - 관계 모델 (E - R)

E-R 구성 설명
개체
Entity
사물, 사물 등의 유/무형의 정보를 가지고 있는 요소
물리 단계에서 Table로 변환한다.
속성
Attribute
개체가 갖는 속성을 의미한다.
물리 단계에서 Column으로 변환한다.
관계
Relationship
두 개 이상의 개체 사이에 존재하는 연관성
1:1, 1:N (1: 다수), N:M (다 : 다) 관계 존재

E-R Diagram 예시


구성 E-R 다이어그램 기호
개체 사각형
관계 마름모
속성 타원
다중 값 속성 이중 타원
관계 - 속성 연결 -

논리적 데이터 모델링

종류 설명
관계 데이터 모델 논리적 구조가 2차원 Table 형태로 구성된 모델
기본 키 (Primary Key)와 이를 참조하는 외래 키 (Foreign Key)로 관계를 표현한다.
1:1, 1:다수, 다수:다수 관계를 자유롭게 표현한다.
계층 데이터 모델 논리적 구조가 Tree 형태로 구성된 모델
상하 관계가 존재한다.
1: 다수 관계만 허용한다.
네트워크 데이터 모델 논리적 구조가 Graph 형태로 구성된 모델
상위와 하위 레코드 사이에 다수 : 다수 / N:M 관계를 만족하는 구조
Owner-Member 관계 존재
CODASYL DBTG MODEL 불리기도 한다.