[키워드]
Data Modeling
RDB Modeling
NoSQL Modeling
[질문리스트]
Data
모델링이란 무엇일까요?RDB
와NoSQL
의 모델링 방법 차이를 설명해주세요.
🌸 목표
시간이 촉박한 해커톤에서 빠르고 정확한 모델링을 위한 공부
Data Modeling
Data 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