SQL라이브세션_ 데이터 정규화 편

라라·2025년 5월 26일
0

SQL 시리즈

목록 보기
11/11
post-thumbnail

데이터 정규화란?

데이터의 중복을 줄이고, 무결성을 유지하며, 유지 보수와 확장에 용이하게 만드는 데이터 모델링 방법

  • 주요 단계:
  • 1NF: 원자값(Atomic)만 존재
  • 2NF: 부분 함수 종속 제거 (복합키 분리)
  • 3NF: 이행 함수 종속 제거 (비-키 간의 종속 제거)

✅ 데이터 정규화를 할 때는 키를 중심으로 분리해야한다.
✅ 분류된 카테고리들은 PK(Primary Key), FK(Foregin Key)키로 연결된다.

🔥 모든 컬럼명은 데이터의 속성을 가지고 있어야한다.🔥

❌ 잘못된 예시 ❌

  • row 값 = 핸드폰, 자동차
  • 카테고리 = 전자기기

⭕️ 올바른 예시 ⭕️

  • row 값 = 현대, 기아, 르노
  • 카테고리 = 자동차 브랜드

데이터 구조

테이블 간의 데이터 구조를 이해하고 있어야 정확한 쿼리문을 작성할 수 있다.

예시)

❓고객의 주문상황을 조회하기❓

FROM 주문 o
INNER JOIN 고객 c
ON c.고객ID = o.고객ID

❓소속사별 고객의 주문상황 조회하기❓

FROM 주문 o
INNER JOIN 고객 c
ON c.고객ID = o.고객ID
INNER JOIN 소속사 s
ON s.소속사ID = c.소속사ID

❓고객 정보와 상품 정보를 포함한 주문정보 조회하기❓

FROM 주문 o
INNER JOIN 고객 c
ON c.고객ID = o.고객ID
INNER JOIN 상품 p
ON o.상품ID = p.상품ID

이렇게 EDR을 파악해서 PK 값과 FK 값을 확인하고, 테이블을 올바른 방식으로 JOIN하는 것이 중요하다.

오늘의 라이브세션 인사이트

⭐️ 데이터를 조회할 때 어떤 모양으로 만들기 전에 어떤 형식으로 되어있는지(= 어둠 속에서 코끼리 만지기) 도식화하는 것이 중요하다는 것을 많이 느꼈다.

⭐️ 논리적, 구조적 사고 키우기

profile
공부를 위해 기록하는 공간

0개의 댓글