“SQL은 문법이 아니라 구조를 이해하는 과정이다.”
오늘은 DDL, DML, 그리고 데이터베이스 모델링의 개념을 정리했다.
SQL을 단순한 조회 도구로 이해하는 것을 넘어,
데이터가 어떻게 설계되고 저장되는지를 이해하는 것이 중요하다는 점을 느꼈다.
데이터 분석에서 중요한 것은
데이터를 잘 뽑는 능력보다, 데이터를 정확히 이해하는 능력이라는 생각이 들었다.
DDL은 데이터베이스의 구조를 정의하는 언어다.
데이터를 담는 틀을 설계하는 단계라고 볼 수 있다.
CREATE TABLE users (
user_id INT PRIMARY KEY,
name VARCHAR(50),
created_at DATE
);
위 쿼리는 데이터를 저장하기 위한 구조를 정의한다.
아직 데이터는 존재하지 않으며, 저장 방식을 설계하는 단계다.
DDL은 설계 관점의 명령어다.
DML은 테이블 안의 데이터를 조작하는 언어다.
DDL이 구조를 만든다면, DML은 그 구조 안에서 데이터를 다룬다.
SELECT * FROM users;
INSERT INTO users (user_id, name, created_at)
VALUES (1, 'Kani', '2026-02-12');
| 구분 | DDL | DML |
|---|---|---|
| 대상 | 구조 | 데이터 |
| 목적 | 설계 | 조작 |
| 트랜잭션 | 자동 커밋 | 롤백 가능 |
핵심은 명확하다.
DDL은 설계,
DML은 활용이다.
데이터베이스 모델링은
현실 세계의 정보를 논리적으로 구조화하여
테이블 형태로 설계하는 과정이다.
단순히 테이블을 만드는 것이 아니라,
비즈니스 구조를 데이터 구조로 표현하는 작업이라고 이해했다.
예시:
고객 1 : N 주문
한 명의 고객은 여러 번 주문할 수 있다.
이 관계를 정확히 이해해야 올바른 JOIN이 가능하다.
처음에는 SQL 문법이 더 중요하다고 생각했다.
하지만 모델링을 이해하지 못하면:
결국 SQL 실력은
구조를 얼마나 이해하고 있는가에 달려 있다고 느꼈다.
마케팅 데이터를 예로 들면,
이 세 가지가 어떤 관계를 가지는지 이해해야
정확한 전환율과 성과 분석이 가능하다.
모델링을 이해한다는 것은
단순히 데이터를 조회하는 것이 아니라
비즈니스 흐름을 데이터 구조로 해석하는 능력이라고 생각한다.
앞으로는 단순히 쿼리를 작성하는 것이 아니라,
“이 데이터는 어떤 구조로 설계되었는가?”를 먼저 고민하며 공부하려 한다. 🌸