
[키워드]
Data ModelingRDB ModelingNoSQL Modeling
[질문리스트]
Data모델링이란 무엇일까요?RDB와NoSQL의 모델링 방법 차이를 설명해주세요.
🌸 목표
시간이 촉박한 해커톤에서 빠르고 정확한 모델링을 위한 공부
Data ModelingData Modeling)이란?현실 세계를 일정한 표기법에 의해 데이터베이스로 표현하는 일
정보들을 일정한 표기법에 따라 표현함으로써 정보 시스템 구축의 대상이 되는 업무 내용을 정확하게 분석하고, 분석된 모델을 통해 실제 데이터베이스를 생성하여 개발 및 데이터 관리에 사용하기 위해서!
현실세계에서 데이터베이스까지 만들어지는 과정은 시간에 따라 진행되는 과정으로서
추상화 수준에 따라 개념적 데이터 모델링, 논리적 데이터 모델링, 물리적 데이터 모델링으로 정의할 수 있다.
📌 추상화
현실세계를 일정한 형식에 맞추어 표현한다는 의미!

Conceptual Data Modeling)Entity)와 그들 간의 관계를 발견하고, 그것을 표현하기 위해서 엔터티-관계 다이어그램을 생성하는 것이다.Enterprise Data Model)이라고 부른다.📌 용어 정리
- 엔터티(
Entity): 업무의 관심 대상이 되는 정보를 가지고 있거나 그에 대한 정보를 알아야하는 유형, 무형의 사물이나 객체를 말한다. 쉽게 실체, 객체라고 생각하면 된다.- 엔터티-관계 다이어그램(
ER Diagram): 서로 관계되어 있는 엔터티를 다이어그램(그림)으로 표현한 것이다.
Logical Data Modeling)input으로써 비즈니스 정보의 논리적인 구조와 규칙을 명확하게 표현하는 기법 또는 과정이다.📌 용어 정리
- 스키마(
Schema): 데이터베이스에서 자료의 구조, 자료의 표현 방법, 자료 간의 관계를 형식 언어로 정의한 구조이다.
Physical Data Modeling)🔗 데이터 모델링을 예제와 함께 이해하고 싶다면? 여기 클릭
RDBMS와 NoSQL 모델링 비교🔗
RDB와NoSQL에 대해 궁금하다면? 여기 클릭
RDBMS 데이터 모델링 (개체 모델 지향)
RDMBS는 저장하고자 하는 도메인 모델을 먼저 분석하고, 이를 통해 개체 간의 관계(relationship)을 식별하여 테이블을 설계한다. RDBMS는 다양하고 복잡한 쿼리를 지원하기 때문에 테이블을 디자인한 후에 필요한 데이터를 가져올 수 있도록 쿼리를 작성한다. 테이블 설계 시 테이블 간 데이터 중복을 최소한으로 하는 정규화된 테이블을 설계한다.
NoSQL 데이터 모델링 (쿼리 결과 지향)
NoSQL은 복잡한 쿼리 기능이 없기 때문에 어떤 쿼리 결과가 필요한지를 먼저 정의한 다음, 그 결과를 얻을 수 있도록 테이블을 디자인해야 한다. 테이블 설계 시 데이터가 두 개 이상의 테이블에 중복되게 저장하는 비정규화된 테이블을 설계해야 한다.
💡
RDBMS와NoSQL의 차이점
- 개체 모델 지향 vs. 쿼리 결과 지향
- 정규화 vs. 비정규화
https://doorbw.tistory.com/229
https://dataonair.or.kr/db-tech-reference/d-guide/da-guide/?mod=document&uid=276
http://www.incodom.kr/%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%AA%A8%EB%8D%B8%EB%A7%81
https://byul91oh.tistory.com/8
https://rh-cp.tistory.com/76
https://programmingyoon.tistory.com/207
https://cyberx.tistory.com/166