상세 컨텐츠

본문 제목

[DB] 데이터 모델링의 과정

DevOps/DB-데이터베이스설계

by 사랑짱 2021. 5. 25. 08:15

본문

데이터 모델링의 과정은 크게 업무파악, 설계, 데이터베이스 구현 3가지로 나눌 수 있다.

여기서 설계에 대한 세부적인 내용을 포함하여 5단계로 나누어 표현해보았다.

 

<데이터 모델링의 과정>

① 업무파악
② 개념 모델링(개념 스키마 설계)
③ 논리 모델링(DBMS에 따라 논리적 스키마 설계)
④ 물리 모델링(실제 시스템에 구현)
⑤ 데이터 베이스 구현

 

각 과정에 대해 정리해보자.

 

 

1단계. 업무파악

- 의뢰한 사람의 요구를 파악/기획서 작성

- UI(User Interface) 작업 -> 요구를 파악할 수 있는 수단, 도구

- 이 과정에서 컴퓨터가 해야 할 일을 정확하게 이해하고 기획/구현해야함.

 

<요구의 종류>
- 컴퓨터 자체의 문제 해결 (EX. DB프로그램을 만드는 경우)
- 현실의 문제 해결 (EX. 인터넷 뱅킹 시스템, 아이디어 구현 등)

 

UML(Unified Modeling Language)이란?

 

- 시스템 개발 과정에서 산출물의 명세화, 시각화, 문서화할 때 사용하는 모델링 언어

- 하나의 시스템으 표현하기 위한 표준적인 방법을 제공

 

 

 

2단계. 개념적 데이터 모델링

- 요구에 부합하는 핵심 개념(Entity)들을 확보하고 개념들 간의 관계(구조)를 파악하고 정의

- 전체적인 뼈대(ERD)를 만드는 과정(가장 중요★★★)

 

 

◆ 효용적 의미

 

- 현실에서 개념(Entity)을 추출하는 필터

- 다른 사람과 대화하게 해주는 언어’(ERD)

Entity Relationship Diagram
1. 정보를 발견
2. 연관된 정보를 그룹화
3. 정보 그룹 사이의 관계를 표현

 

◆ ERD의 구성요소 

 

ERD 구성요소 Entity -> Table
Attribute -> Column
Relation -> PK, FK, JOIN
Tuple -> Row

- RDB는 내포관계를 허용하지 않는다.
- Entity를 통합적, 포괄적으로 표현하면 중복이 발생한다.
  따라서, 정보를 주제별로 쪼개어 만드는 것이 좋다.
  (중복을 줄일 수 있다(JOIN을 통해서))

 

◇ Entity : 실체, 객체

- 업무적 의미 : 업무에 필요한 정보를 저장하고 관리하기 위한 집합적인 것

- 시스템적 의미 : 동일한 성격의 entity의 인스턴스(테이블의 행)들을 보관하는 저장장소

 

◇ Attribute : 속성

- 업무에 필요한 데이터로 엔티티의 성질, 분류, 수량, 상태, 특성 등을 나타내는 세부 항목

 

◇ Identifier : 식별자

- 누구도 같은 값을 가지지 않는 속성(인스턴스의 유일성을 보장)

- 엔티티 간의 연결고리

 

Relationship : 관계

- 두 엔티티 간의 업무적인 연관성(논리적인 관계)

 

Q. Entity VS. Object 같은가? 다른가?
A. 다르다.

- Entity : 개체(부분집합) / 정보를 표현하는 단위(Attribute의 묶음)
- Object : 객체(소프트 웨어를 구성하는 요소) / 사물(소프트웨어 또는 시스템)을 표현하는 단위

 

 

 

3단계. 논리적 데이터모델링

- 추출된 개념을 관계형 데이터베이스에 걸맞게 DBMS에 논리적 스키마를 설계

- 개념 데이터 모델링에서 만든 ERD를 DBMS에 맞게 Mapping하여

  실제 데이터베이스로 구현하기 위한 모델을 만드는 과정

  => □ Entity -> Table ,  Attribute -> Column , ◇ Relation -> PK, FK

 

<논리 데이터 모델링 과정>

1. 개념 모델링에서 추출하지 않았던 상세 속성들을 모두 추출(모든 Entity와 속성을 표현)
2. 정규화 수행
3. 데이터 표준화 수행

 

 

 

4단계. 물리적 데이터 모델링

- 작성된 논리 모델을 저장하기 위한 물리적 구조를 정의하고 실제 시스템에 구현하는 과정(성능 중요)

- 사용자 또는 프로그램이 직접 접근하여 사용할 수 있는 구체적인 물리적인 모습을 표현

 

<물리 데이터 모델링 과정>

1. 데이터베이스에 사용할 제품 선택
2. 최적화된 실제 코드를 작성하여 데이터를 표로 작성

 

 

 

5단계. 데이터 베이스 구현

- 설계 단계에서 생성된 스키마를 실제 DBMS에 적용하여 에티블 및 관련 객체(뷰, 인덱스 등) 만듬.

- 구현된 데이터베이스를 기반으로 소프트웨어를 구축하여 서비스 제공

 

 

관련글 더보기