점점 강해지고 있습니다.
[DB] 데이터 모델링이란?
주제 - 데이터 모델링에 관해 미래에 까먹었을 나에게 설명하는 글
데이터 모델링에 대해 설명하는 여러 글을 볼 때 데이터 모델링이란 다음과 같이 설명한다 :
주어진 개념으로부터 논리적인 데이터 모델을 구성하는 작업
조직의 정보 수집과 관리 시스템을 정의하는 시각적 표현
하지만 가장 와닿았던 설명은 다음 문장이었다.
복잡한 현실세계의 데이터를 단순화시켜 데이터베이스로 표현하기 위한 변환 작업
따라서, 현실 세계의 여러 사물들의 관련점이나 속성 등을 추출해 내서 데이터베이스의 테이블 및 테이블 간의 연관 관계를 만드는 것이라고 할 수 있겠다.
데이터 모델링의 특징
-
추상화 : 현실세계를 일정한 형식에 맞춰 간략하게 표현해야 함
-
단순화 : 누구나 쉽게 이해할 수 있도록 제한된 표기법이나 언어를 사용
-
명확화 : 명확하게 의미가 해석되어야 하고, 한 가지 의미만을 가져야 함
그럼… 그냥 DB에 접근하는 백엔드 개발자들 끼리 대충 하면 되는 거 아닌가? DBA, 데이터 모델러 이런 거는 왜 있을까???
데이터 모델링은 왜 할까?
DB의 자원은 무한하지 않기 때문에 자원을 최대한 효율적으로 사용하고, 비즈니스 로직이 이해하기 쉽게 하기 위해 한다.
이 과정이 잘 되어야 데이터가 꼬이거나 SQL을 비효율적으로 작성하는 문제를 방지하고 추후 시스템을 확장시키는 데도 더욱 쉽게 할 수 있다.
물론 DBA, 데이터 모델러 분들은 더욱 포괄적인 범위의 업무를 가지고 있지만… 이들이 존재하는 이유 중 하나가 되겠다~
데이터 모델링 과정
단계 | 산출물 |
---|---|
요구사항 분석 | 요구사항 분석서 |
개념적 데이터 모델링 | ERD(Entity-Relation-Diagram) |
논리적 데이터 모델링 | 관계형 데이터 모델 |
물리적 데이터 모델링 | SQL(Structed Query Language) |
- 요구사항 분석
- 개념적 데이터 모델링
Thank You For Reading