SQLD 시험에서는 단순히 SQL 문법뿐만 아니라, 데이터를 어떻게 구조화할 것인지에 대한 설계 능력도 중요하게 평가합니다. 이 글에서는 데이터 모델의 개념과 이를 구성하는 주요 요소들을 쉽게 정리해보겠습니다.
데이터 모델이란?
데이터 모델(Data Model)이란, 현실 세계의 데이터를 컴퓨터 시스템 안에서 표현하는 방법입니다. 다시 말해, 현실의 객체(사람, 상품, 주문 등)를 데이터베이스에 효과적으로 저장하고 활용하기 위한 추상화 작업입니다.
데이터 모델의 3단계
SQLD에서는 다음과 같은 3단계 모델링 과정을 이해하는 것이 중요합니다.
모델 구분 | 설명 | 주요 사용자 |
개념적 모델 (Conceptual) | 현실 세계의 정보를 고수준에서 개략적으로 표현 | 도메인 전문가, 기획자 |
논리적 모델 (Logical) | 개념적 모델을 기반으로 관계형 모델로 정제 | DB 설계자 |
물리적 모델 (Physical) | 논리적 모델을 실제 DBMS에 구현 가능한 구조로 설계 | DBA, 개발자 |
ER 모델 (Entity-Relationship Model)
데이터 모델링의 대표적인 표현 방식은 ER 다이어그램입니다.
주요 구성요소
구성요소 | 설명 | 예시 |
엔터티(Entity) | 독립적으로 존재할 수 있는 객체 | 고객, 주문, 상품 |
속성(Attribute) | 엔터티가 가지는 정보 | 고객명, 주소, 주문일자 |
관계(Relationship) | 엔터티 간의 연관성 | 고객 - 주문 (1\:N 관계) |
정규화(Normalization)와 모델링의 관계
- 정규화는 데이터의 중복을 제거하고, 이상현상을 방지하는 모델링 작업입니다.
- 정규화의 각 단계(1NF, 2NF, 3NF 등)는 이후 별도 챕터에서 자세히 다룹니다.
- 모델링과 정규화는 함께 이해해야 안정적인 스키마 설계가 가능해집니다.
데이터 모델 설계 시 유의사항
- 현실을 최대한 정확하게 반영할 것
- 업무 흐름을 고려한 관계 설정
- 중복 제거와 무결성 보장
- 확장성과 유지보수성을 고려한 구조 설계
정리
구분 | 설명 |
데이터 모델 | 현실 세계의 데이터를 구조화하는 방법 |
3단계 모델 | 개념적, 논리적, 물리적 |
ER 모델 | 엔터티, 속성, 관계로 구성된 모델링 방식 |
설계 포인트 | 현실 반영, 중복 제거, 무결성 유지 등 |
데이터 모델링은 단순히 그림을 그리는 것이 아니라, 어떻게 데이터를 저장하고 활용할지를 결정하는 핵심 설계 과정입니다. SQLD 자격증뿐 아니라 실무에서도 반드시 알아야 할 중요한 개념이니, ERD 도구를 활용해 직접 설계해보는 연습도 추천합니다.