본문 바로가기

DB

[SQL] 데이터 모델링의 이해 (1)

728x90

1. 데이터 모델링

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

 

2. 데이터 모델링의 특징

- 추상화 (Abstraction) 
- 단순화 (Simplification)
- 명확성 (Clarity)

 

3. 데이터 모델링 단계

- 개념적 모델링 (Conceptual Data Modeling)
 : 고객의 비즈니스 프로세스를 분석하고 업무 전체에 대해서 데이터 모델링을 수행한다.
   엔터티와 속성을 도출하고, 개념적 ERD를 작성 .
   추상화 수준이 가장 높은 단계

- 논리적 모델링 (Logical Data Modeling)
 : 식별자 도출, 필요한 모든 릴레이션 정의
  정규화를 수행해서 데이터 모델의 독립성을 확보 , 재사용을 높인다.

- 물리적 모델링 (Phsical Modeling)
 : 데이터베이스를 실제 구축한다. (테이블, 인덱스, 함수 등을 생성)
  성능, 보안, 가용성을 고려해서 구축한다.

 

4. 데이터 모델링 관점

- 데이터  : 비즈니스 프로세스에서 사용되는 데이터를 의미
                 구조 분석, 정적 분석

- 프로세스 : 비즈니스 프로세스에서 수행하는 작업을 의미
                    시나리오, 도메인, 동적 분석

- 데이터와 프로세스 : 프로세스와 데이터 간의 관계를 의미
                                   CRUD 분석

 

5. ERD (Entity Relationship Diagram)

1. ERD 작성 절차
 1.1 엔터티를 도출하고 그린다.
 1.2 엔터티를 배치한다.
 1.3 엔터티 간의 관계를 설정한다.
 1.4 관계명을 서술한다.
 1.5 관계 참여도를 표현한다.
 1.6 관계의 필수 여부를 표현한다.

2. ERD 작성 시 고려사항 
- 중요한 엔터티를 가급적 위쪽 상단에 배치한다.
 - ERD는 이해가 쉬워야 하고 너무 복잡하지 않아야 한다.

 

6. 데이터 모델링 고려사항

1. 데이터 모델의 독립성
 - 독립성을 확보하기 위해서는 중복된 데이터를 제거해야 한다.
 - 데이터 중복을 제거하는 방법이 바로 정규화다.

2. 고객 요구사항의 표현
 - 고객의 요구사항을 간결하고 명확하게 표현해야 한다.

3. 데이터 품질 확보
 - 데이터베이스 구축 시에 데이터 표준을 정의하고 표준 준수율을 관리해야 한다.
 - 데이터 표준을 확보해야 데이터 품질을 향상시킬 수 있다.

'DB' 카테고리의 다른 글

[SQL] 데이터 모델링의 이해 (3)  (0) 2024.03.08
[SQL] 데이터 모델링의 이해 (2)  (0) 2024.03.08
[DB] Raw Device란?  (0) 2024.01.23